点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
OTA升级已经不是什么新鲜事,现在大多数物联网终端设备,基本具备这个功能。
今天以AT32为例给大家分享一下OTA升级的详细流程。
1) App程序必须在Bootloader程序之后的某个偏移量为x的地址开始。
AT32 USART OTA 快速使用方法
硬件资源
文档中是用AT-START-AT32F403A实验板的硬件条件为例,OTA demo源代码还包括AT32其他型号,用户只需编译对应型号工程烧录于AT-START实验板运行即可。
3) AT-START实验板
软件资源
1) tool_release
2) source_code
● App_led4_toggle,App2源程序,运行LED4闪烁
OTA Demo 使用
本文档描述了两种常用的OTA应用demo,template app和dual app,后面章节会分别介绍。
4) 观察LED2/3/4闪烁,LED2闪烁-Bootloader工作,LED3闪烁-App1工作,LED4闪烁-App2工作
地址分布
图3. Flash地址分配
执行流程
OTA分为Bootloader、App和Template三部分,应用在App中执行,Template仅作为新App固件数据的临时存放空间。程序执行整体流程框图如下:
Bootloader project 设置
图5. Bootloader project中address 1在Keil设置
图6. Bootloader project中address 2在程序中设置
App project 设置
OTA demo提供了2个App程序供测试用,皆以address 2(0x800 4000)为起始地址。App1 LED3闪烁,App2 LED4闪烁。以App1为例,设计步骤如下:
图7. App project中address 2在Keil设置
图8. App project向量表偏移在程序中设置
3) 编译生成bin文件
4) 开启debug app code功能
如果在设计App code过程中需要对App project进行单独调试,请按照以下操作。
地址分布
图9. Flash地址分配
注:Bootloader区域最后2个扇区,用于存放App是否正常的flag,用户编译修改Bootloader时,要保证不覆盖flag的地址。
执行流程
OTA分为Bootloader、App1和App2三部分,应用在App1或App2中执行。程序执行整体流程框图如下:
图10. 程序执行流程
Bootloader project设置
4) Bootloader源程序修改ota.h文件中
App project设置
OTA demo提供了2个App程序供测试用,app_led3_toggle以0x800 4000为起始地址,app_led4_toggle以0x8080000为起始地址。App1 LED3闪烁,App2 LED4闪烁。以App1为例,设计步骤如下:
6) App1源程序设置
2) 嵌入式端下位机通信协议
图16. 下位机通信协议
来源:车端
10月精品课程:AutoSec汽车网络安全高级工程师技术培训,仅限前15位,报满即止。
会员权益: (点击可进入)谈思实验室VIP会员
END
微信入群
谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。
每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全、功能安全、自动驾驶、TARA、渗透测试、SOTIF、WP.29、以太网、物联网安全等,现专题社群仍然开放,入满即止。
扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。
谈思实验室,为汽车科技赋能,推动产业创新发展!