使用XCOM V2.0更新外部flash的中文字库的方法 [战舰板或者Mini板 字库错误 即font error解决办法!]

2019-07-21 00:58发布

外部FLASH更新字库指导说明

本文档分为如下几部分: 1,  适用范围 2,  使用说明  

1、适用范围

        本文档仅适用于ALIENTEK战舰STM32F103开发板和MINI STM32开发板更新中文字库的应用。为了方便大家在没有SD卡的前提下更新外部flash的中文字库,我们使用串口助手XCOM将带有中文字库的完整bin文件发送给STM32,再由STM32将接收到的文件解码后存入外部flash中,从而达到了更新字库的目的。由于两块开发板更新字库的步骤相同,但是所需要的文件不同,这里我们仅以战舰板为例讲解,两者不同之处会有提示。  

2、使用说明

         首先,无论用户使用的是战舰STM32F103开发板,还是MINI STM32F103开发板,都需要使用ALIENTEK 发布官方串口调试助手XCOM V2.0 。请解压“ALIENTEK 开发板字库更新”(请在下载附件)。对于战舰STM32F103的用户,先打开工程:战舰板字库更新,然后下载该代码到您的开发板中(对于MINI STM32F103开发板的用户,打开工程:mini板字库更新,然后下载代码到您的开发板中)。如果用户的外部flash中缺少中文字库,则显示屏会自己显示:Please press the key0 to erase the memory,and then update the font by XCOM.以此来提示用户按下KEY0按键先擦除存储器。如下图2.1所示:
图2.1  缺少字库提示

如果用户的外部flash中带有完整的字库,则显示器依然会提示:字库完整。大家可以由此确认存储器中是否含有完整字库。如下图所示2.2所示:
2.2 完整字库提示 如果缺少字库,则此时按下KEY0按键,触摸屏界面会提示“Erase W25Q64…”表示正在擦除外部flash,即擦除W25Q64。如下图2.3所示:
2.3 擦除flash 擦除完毕之后,显示器会显示:Erase finish!!!,如下图2.4所示:
图2.4 擦除完成
当触摸屏显示“Erase finish!!!”,则表示擦除完毕,可以继续往下操作。打开刚才解压的文件夹,打开串口调试助手XCOM,设置好串口号,由于我的电脑连接单片机的是COM5,所以这里选择对应的COM5端口。切记这里的波特率必须选择460800。选择“协议传输”,启动协议传输,设置最大数据长度255,帧周期1000,其他的参数值取默认即可。如下图2.5所示:
 图2.5 串口设置 设置好上述参数之后,如下图2.6,选择步骤①打开文件,这里注意了:对于战舰STM32开发板板用户请在步骤②中选择需要写入的WarShip_Flash.bin文件,文件路径在之前解压的文件中(如果是MINI STM32开发板的用户,请在步骤②中选择需要写入的mini_Flash.bin文件)。步骤③打开,步骤④发送文件。  2.6 选择文件 刷写过程中,可以看到触摸屏和串口助手上都有进度显示。如下图2.7所示:  2.7 刷写过程显示 为了保证数据的完整性,上位机发送的数据需要经过复杂的计算和编码工作,在发给下位机单片机接收后,由STM32解码和CRC校验,得到实际需要的数据,再将此数据写入W25Q64中,最后才返回应答给上位机,上位机接收应答,经过CRC校验、计算、编码和发送。因此,计算量变得非常大,所以需要等待20~25分钟才能写完,请耐心等候。刷写完成之后,会通过闪屏和显示12号、16号字体的中文文字(显示:字库更新完成)提醒大家,MINI STM32开发板支持24号字体也会显示。刷写完成之后,战舰板用户和MINI板用户的界面分别如下图2.8和图2.9所示:  2.8 战舰板刷写完成  2.9 MINI板刷写完成 由于刷写时间较长,波特率较快,屏幕可能会出现显示乱码的现象,这表示在这漫长的刷写过程中出现了错误,但这种可能性非常非常小。如果最后无法显示中文字体,请按下KEY0按键重新擦除外部flash,复位之后,再重复上述步骤刷写WarShip_Flash.bin文件(或者MINI STM32开发板用户重新刷写mini_Flash.bin文件)。 至此,关于使用串口助手XCOM刷写外部flash的中文字库的应用就讲完了,由于时间仓促,有BUG还希望大家及时反馈。          
广州市星翼电子科技有限公司 2014-09-30  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。