本方案基于YT Config Tool开发,使用Vscode+Cmake+Ozone工具链开发编译调试;基于Demo板硬件搭建实施;使用同星科技TC1012P CAN/LIN工具及同星科技TSmaster软件。
a60537fa-3d88-4839-b91f-7d9c4c82f226-image.png
烧录Bootloader
新建YTM32B1HA01的J-FLASH工程
9f25a766-4947-4be2-9c69-5c290a4a06b1-image.png
找到Bootloader编译的烧程文件
文件路径:.\uds_can_fbl_ha0_release\uds_can_bootloader\build\uds_can_bootloader.s19
6d7956b7-8e61-41d6-b554-fd9f182e85cf-image.png
加载Bootloader文件
d59ac35a-3106-4e99-b3cd-645aedd26d07-image.png
擦除芯片(或者快捷键F4)
11ccb606-2247-422d-af08-5341d3778a15-image.png
ea005a4d-c0db-4704-bdce-443faed307a6-image.png
烧录程序(或者快捷键F6)
bf22f428-0387-4026-a8dc-0da79069d7d4-image.png
95827253-0c99-4911-b18f-7cacfda1f3d4-image.png
上下电运行Bootloader
拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。
升级上位机配置
将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
文件路径:.\uds_can_fbl_ha0_release\UDS_CanFbl_TsMaster
04a15cd1-caee-4f40-84bb-fc9b0a33093a-image.png
打开升级上位机工程(如上图中.TSProj_x86文件)配置收发ID
7e9acbd8-e15c-4a3d-86b2-f3694361af5a-image.png
配置TP时间参数,配置加密dll
014689a4-7954-4a2c-a65d-aa49417242cd-image.png
配置FlashDriver和Application和校验方式
f95fe413-c823-4b16-baed-fe9a7d2145b8-image.png
若是修改 flashdriver/app 文件命名,需要修改对应校验的请求值
2cce3379-8ef9-4a6b-b89d-241aa61c3a21-image.png
配置自动诊断流程
5f89e321-f1ba-47bf-8700-315e368369ac-image.png
执行升级
4.1 从Bootloader升级
4637c95d-e555-4edf-9c2b-22011aabf30b-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中(Bootloader程序中LED灯100m闪烁)。
4.2 从Application升级
从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
3def3e72-e5c7-4b9c-9dff-ed7db99f9c09-image.png
升级过程中,运行在Bootloader程序中,LED灯100ms闪烁,升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.3 StayInBoot升级
从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
本方案设计上认为:
运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。
4.3.1 未发生升级流程请求
升级一半,拔掉CAN线模拟通讯断开,升级失败
d88fbf53-8f0f-4198-9f6a-c1bf4aa7eae8-image.png
通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯1000ms闪烁。
4.3.2 已发生升级流程请求
执行到升级流程后,拔掉CAN线模拟通讯断开,升级失败
22540ad8-ec47-4eb7-a14b-b757aef18b67-image.png
通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot)。
重新执行升级
843c60cf-b9fe-42d1-b0c8-70172d984156-image.png
升级成功,Demo板上LED灯1000ms闪烁。
5. 附件代码
uds_can_fbl_ha0_release_20250920.zip