Changes from v2.7.7 to v2.7.8:
[feat]:upgrade patch tool to v3.8 [opt]:opt code generate process display [opt]:opt login logic [opt]:opt ghs support [opt]:add MC03 ghs support本方案基于YT Config Tool开发,使用Vscode+Cmake+Ozone工具链开发编译调试;基于Demo板硬件搭建实施;使用同星科技TC1012P CAN/LIN工具及同星科技TSmaster软件。
ef6fee85-1fcc-4a93-9ee1-2ce15af1891b-image.png
新建YTM32B1ME05的JFLASH工程
bb461804-ef97-4a53-a355-3e5207e163c5-image.png
找到Bootloader编译的烧程文件
文件路径:
.\uds_can_fbl_me05_release_20250730\uds_can_bootloader\build\uds_can_bootloader.s19
5ffee699-aa4e-4d4c-85b3-2431c6ae7474-image.png
加载Bootloader文件
b2df279f-fbb5-4b9d-9e43-c49206d1cb35-image.png
擦除芯片(或者快捷键F4)
7265c86f-9fca-4b38-b8fd-a500c19a3336-image.png
fcdbab1a-dcd2-443e-b0f3-097d0cbf959c-image.png
烧录程序(或者快捷键F6)
e60dd1ce-e8c0-4500-a80c-09d67d0c3cb5-image.png
47deeac3-4018-410f-9ed7-f2524cdff762-image.png 上下电运行Bootloader
拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。 升级上位机配置
将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
文件路径:.\uds_can_fbl_me05_release_20250730\UDS_CanFbl_TsMaster
55a30316-22cb-4f15-a0a9-f892288898d6-image.png
打开升级上位机工程(如上图中.TSProj_x86文件)配置收发ID
9a909b8d-a2d8-40c5-a3d6-658967a9dfaf-image.png
配置TP时间参数,配置加密dll
f2076298-285e-4a78-b54c-3bae6e13338c-image.png
配置FlashDriver和Application和校验方式
8d884654-ced9-4988-9074-f41de501f671-image.png
若是修改 flashdriver/app 文件命名,需要修改对应校验的请求值
e8f40f9d-87a2-4ff0-af11-f0873b208c27-image.png
配置自动诊断流程
2f5c0311-349c-4cf7-981d-cbc503403d8a-image.png 执行升级
4.1 从Bootloader升级
1b781e1b-68b3-4387-89ab-605010aabcc6-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中(Bootloader程序中LED灯100m闪烁)。
4.2 从Application升级
从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
de87b80e-cd0a-4111-853a-8ebdff2b6776-image.png
升级过程中,运行在Bootloader程序中,LED灯100ms闪烁,升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.3 StayInBoot升级
从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
本方案设计上认为:
运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。
4.3.1 未发生升级流程请求
升级一半,拔掉CAN线模拟通讯断开,升级失败
0319dbad-2707-46f8-acdd-431fd4c42852-image.png
通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯1000ms闪烁。
4.3.2 已发生升级流程请求
执行到升级流程后,拔掉CAN线模拟通讯断开,升级失败
aaf00cee-307b-41b2-bdc3-33b8b39b374b-image.png
通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot)。
重新执行升级
80306f67-cb08-4064-898d-e1dd627e6118-image.png
升级成功,Demo板上LED灯1000ms闪烁。
5. 附件代码
uds_can_fbl_me05_release_20250730.zip
本方案基于YT Config Tool开发,使用Vscode+Cmake+Ozone工具链开发编译调试;基于Demo板硬件搭建实施;使用同星科技TC1012P CAN/LIN工具及同星科技TSmaster软件。
5d2f5a78-4ece-4864-a592-b03da3d838f3-image.png
新建YTM32B1LE05的JFLASH工程
67d46701-bcce-4df9-ac96-1201c130c2ea-image.png
找到Bootloader编译的烧程文件
97b52f0a-180f-4d70-8b73-da6a8ba6f040-image.png
加载Bootloader文件
b6d06250-f4ae-4833-849f-c8047b6c108a-image.png
擦除芯片(或者快捷键F4)
95aaa73e-32fc-4ba0-a142-d1e54821ac08-image.png
760848da-d1cf-4aa6-900b-12bd6f6b03be-image.png
烧录程序(或者快捷键F6)
ff44d0c1-64aa-401d-abae-b320f7d2ed62-image.png
89f67d4e-c0ea-4038-aa77-231469d0d26e-image.png 上下电运行Bootloader
拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。 升级上位机配置
将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
211baa32-cc92-4f16-9ab2-bbb4eac499f1-image.png
打开升级上位机工程(如上图中.TSProj_x86文件)配置收发ID
04874a73-9521-489f-8c80-1a310be064fb-image.png
配置TP时间参数,配置加密dll
88f81533-3d1a-4c82-8599-9adbd29fbed6-image.png
配置FlashDriver和Application和校验方式
62b0a225-b239-42f8-bd02-29a008e0bdc2-image.png
配置自动诊断流程
f4a1ec74-82d4-4b12-830c-890f254c9557-image.png
4. 执行升级
4.1 从Bootloader升级
70273d2d-8882-4b89-bafc-ae9bad67b06a-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.2 从Application升级
从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
4edb7b60-e116-4e28-b276-d2f407c83d44-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.3 StayInBoot升级
从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
本方案设计上认为:
运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。
4.3.1 未发生升级流程请求
升级一半,拔掉CAN线模拟通讯断开,升级失败
f3c4cede-f4aa-4d0a-a661-600f0d7713a1-image.png
通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯1000ms闪烁。
4.3.2 已发生升级流程请求
执行到升级流程后,拔掉CAN线模拟通讯断开,升级失败
c967737f-a698-4973-be89-0acd29dc70ef-image.png
通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot)。
重新执行升级
25ea3ce5-58e3-464e-9685-e003647175fa-image.png
升级成功,Demo板上LED灯1000ms闪烁。
5. 附件代码
uds_can_fbl_le05_release_20250529_2.zip
f03ee3a9-c294-48d8-a62c-2fa055a9c2e4-image.png
f04d52c4-2d31-413a-9657-dc8960d56fb9-004ae79dd7d3a8165da3aa13ff6fa3f.png
如图,因为外部uart驱动芯片通讯协议需要在帧起始发送一个break,写了一个break发送函数,这个函数在使用中断进行发送时是能够正常发送的。根据下面的帖子修改成DMA发送之后直接进入了hardfault,这是什么原因?https://forum.ytmicro.com/topic/1440/linflexd-uart-dma-mode-demo-md1-me0/3?_=1768392405428
-
Announcements
Announcements regarding our community
-
Discussion & Question
A place to talk about whatever you want or ask a question
-
Blogs
Blog posts from individual members
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...