本帖最后由 AutochipsMCU 于 2020-11-9 09:09 编辑
环境介绍 本例程支持通过上位机进行IAP升级,目前支持CAN接口。 上位机开发环境:QT 5.6.3 CAN工具:纬图 USB转CAN适配器 MCU开发平台:AC78xx(AC781x和AC780x) MCU开发环境:Keil 5.23
软件介绍 软件分两个工程,一个AC78xx_Boot,一个AC78xx_App。 Boot负责App程序跳转,以及程序升级功能。 App属于应用程序,负责产品功能实现。以及触发升级功能。 在开发IAP功能前,首先需要规划程序分区,需要把flash至少分为boot,app两个程序分区,一个data分区(用于存升级标志位,如果有eeprom等其他可存储的设备,可不用),flash的启动地址为boot的起始地址(及程序从boot开始执行)。 本例程程序分区规划如下: Boot:起始地址:0x8000000,大小:0x5800 APP:起始地址:0x8006000,大小:0x19000(根据选择的芯片型号调整) Data:起始地址:0x8005800,大小:0x800
功能测试 测试硬件环境基于AC78xx demo平台,需要Glinkgo的USB-CAN工具。 备注:AC781x demo板是接到CAN1口上。
测试软件环境1.分别下载AC780x_Boot和AC780x_App工程到demo板中。 App工程配置不能配为全片擦除,否则会擦掉boot程序。默认程序LED2会快闪。 2.打开上位机软件 下面基于上图标号进行描述升级流程。 3. 软件环境准备 1) 标号3设置CAN通信波特率,程序默认500K。 2) 标号8设置App起始地址。程序默认0x8006000。 3) 标号4选择需要升级的文件。文件格式为bin文件。
4. 升级 1) 点击标号1开始搜索设备(demo板正在运行app程序)。会搜到设备节点,显示在标号2区域。 2) 选中需要升级的节点,点击标号5进入升级模式。此时程序会进入升级模式,程序会跳转到boot中,等待升级命令。此时点标号1会搜到节点,并显示固件类型为boot。 Demo板现象:LED灯变为慢闪。 3) 选中升级的节点,点击标号6,开始升级。升级进度会弹框提醒。 4) 升级结束后,点击标号7退出升级模式,跳转到新升级的APP中。 注意:如果最后没有执行标号7,即使升级成功也不会清升级标志位,重启后还是会进入升级模式,程序停留在boot中。因此升级成功后,需执行标号7。
资料说明: 上位机工具(源码和可执行文件) AC781x平台IAP例程(Boot和App) AC780x平台IAP例程(Boot和App) IAP升级文档
|
@laoganma :同问
你好我想问一下上位机操作第一步就显示No device connected是什么问题?已经分别下好了boot和app程序,灯也在快闪了