在TP79上测试STM32的hal库+UCOSII+emWin
- 芯片:STM32F103VE
- 通信模块:移远EC20
- 显示屏尺寸:160*128
- 显示屏驱动IC:ST7735
- 字库IC:高通GT21L16S2Y
- STM32cubeMX:ST公司官方工具,以图形化界面配置STM32的驱动
- MDK 5:编译&下载
- 测试bootloader时出现死机的现象,排查后发现HAL_delay函数异常,死在SysTick_Handler中断,原因是在bootloader中关闭了总中断,需要在app中打开总中断
- 添加bootloader的app程序工程配置如下图,起始地址为0x8004000:
- 显示的图片是用Img2Lcd生成的数组,Img2Lcd工具参数配置见下图:
新加STemWin测试正常,
新加bootloader驱动,测试正常可以正常跳转
新加字库驱动,显示中英文正常,显示混合中英文正常
新加显示屏驱动,显示图片正常
新建项目,使用STM32cubeMX一键配置,测试LED闪烁正常
bootloader的目的是为了在正式产品中实现串口升级或者远程升级,如果产品出现重大bug需要修复,客户可以直接操作升级,而不需要返厂; 单片机的bootloader第一步是要实现从bootloader到app的成功跳转,在本bootloader中运行完boot跳转到app的起始地址0x8004000
大多数使用STemWin的显示屏都是FSMC接口的,一些小屏则使用SPI接口,本项目采用的屏就是ST7735驱动SPI串口屏