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软件。
dbc523c3-21f4-4d1a-98b3-3b50282fac1a-image.png
新建YTM32B1MD14的JFLASH工程
c609c5a4-00b8-434b-a244-ae5bde77e46e-image.png
找到Bootloader编译的烧程文件
a0b6c9f7-8e07-40e7-aaa4-3076355c8caa-image.png
加载Bootloader文件
3900e9bd-c72e-4bc9-acc3-e2287c796557-image.png
擦除芯片(或者快捷键F4)
156d3954-7e53-4a13-8e5f-026e4a1bff49-image.png
fae94334-266c-4740-969c-f69d2650440e-image.png
烧录程序(或者快捷键F6)
ac129ec4-4b1b-42cc-80ba-44d166e59e25-image.png
6d1d1b5c-28af-444d-84a1-01280c9a14e3-image.png 上下电运行Bootloader
拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。 升级上位机配置
将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
3f15b88d-af6f-43f6-b285-877a7d0ca419-image.png
打开升级上位机工程(如上图中.TSProj_x86文件)配置收发ID
ade66a27-609f-4150-8fde-a1f6f0833ec9-image.png
配置TP时间参数,配置加密dll
b8723e3c-c726-4876-b46a-e8e4488d0ec1-image.png
配置FlashDriver和Application和校验方式
95adfb20-50a3-4532-bd58-7b9a69330010-image.png
配置自动诊断流程
6d7f2e9f-73b1-4354-a03a-37f565903759-image.png
4. 执行升级
4.1 从Bootloader升级
b35da6fc-c501-4ebb-9e57-6167a92185d6-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.2 从Application升级
从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
14c4d1e0-df93-4efb-80f3-fda4130399e3-image.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中。
4.3 StayInBoot升级
从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
本方案设计上认为:
运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。
4.3.1 未发生升级流程请求
升级一半,拔掉CAN线模拟通讯断开,升级失败
b38f0141-062e-4be3-96d8-74d35fb5f42b-image.png
通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯1000ms闪烁。
4.3.2 已发生升级流程请求
执行到升级流程后,拔掉CAN线模拟通讯断开,升级失败
d66fcdc3-fedc-4180-98b0-07e4e5dc9259-image.png
通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot)。
重新执行升级
e3fce7cf-3ad9-49f9-b415-9d64b295a22b-image.png
升级成功,Demo板上LED灯1000ms闪烁。
5. 附件代码
uds_can_fbl_md14_release_20250530_2.zip
dddb2077-7278-44ef-a463-0a49867ebfb1-5564885329abde7ba70b3caf6a70ecd.jpg
c804a394-3dac-4a8b-8778-e26c2a55504c-b619bc58cacfcf0d52dfcb862f3b433.jpg
蓝色波形为接收数据,gu8_UartDrv_Uart1RxIrqBuf[2]数据多出一次0x55,最开始出现接收数据错乱概率极高,工程仿真跑几秒就能出现一次。然后怀疑中断优先级问题,重新分配优先级,使DMA优先级最高,还是会偶发出现,但是概率变的很低,基本要几分钟才能出现一次。
gu8_UartDrv_Uart1RxIrqBuf原本定义类型为uint8,后面改成uint32,压测一晚上,不复现了,这种情况要怎么解释,大佬们帮忙分析一下。
问题描述:YTM32B1MD1,用的外部晶振32.768,正常工作RTC时间正常加,休眠进入power down模式,到唤醒起来这个过程中,查看RTC日志,时间无变化。
用示波器抓取外部晶振波形,休眠过程中,晶振起振,且对应的RTC_IN Pin脚没有反初始化
下面是RTC的初始化流程
1f86b4c7-d418-4b60-bcbd-a487762db3d0-image.png
88f19629-053f-4fec-a5b4-23a6793686cb-image.png
0c9ef580-086e-41fa-8d89-db128fac4982-image.png
这个需要在初始化配置时钟的时候,对外部晶振进行相应的配置吗.
开发环境:32B1LE14 + FreeRtos + YTC
参考论坛某篇帖子,进入低功耗后,由UART唤醒。
1- sleep模式: 代码如下
// .关闭看门狗 WDG_DRV_Deinit(0); // .关闭不需要的外设 ADC_DRV_Reset(0); MPWM_DRV_Deinit(0); // .进入低功耗(sleep模式,其它模式无法唤醒) POWER_SYS_SetMode(1, POWER_MANAGER_POLICY_AGREEMENT); // .退出低功耗(复位重启) SystemSoftwareReset();实测是可以的,sleep模式下内核停运,代码不再运行。因为退出sleep模式后直接复位处理,挂os也没问题。
YTC下关闭FXOSC(其它时钟关不了)后,sleep模式下的电流约为1mA(主频3MHz),基本满足需要。
2- deepsleep或standby模式:
表现为能进入低功耗,但UART唤醒不了。
3 - 疑问:
低功耗模式下看门狗会关闭,此时是否存在风险,比如MCU异常,唤醒不了的情况;
deepsleep或standby模式唤醒不了,是不是漏了某些设置环节
我使用 YTM32B1MD14 的官方SDK库,参考空闲中断接收Demo(配置:波特率9600,idleTimeoutCount = 20)。
现象:
100ms周期连续发送43byte数据时,偶发MCU不再进入接收超时中断,数据接收中断进不去。
最关键的是,此时即使停止周期发送,改回单次发送,MCU也无法恢复,依然进不去中断,必须UART反初始化或者复位才能解决。
下面是目前中断配置,麻烦各位遇到过此问题有经验的大佬帮忙解决
9f2fb9ba-8af9-4284-9c46-0379b6774c22-image.png 13d3e2fa-b13c-4b1f-96ee-bcec481f5977-image.png c5bad5e4-ae03-4a80-8b1c-686b4541a0e1-image.png 09318fcb-e5c1-4a4d-afe4-111726be2425-image.png
主循环里面放这个39d776cf-130a-4387-a75d-24e518c47268-image.png
本方案基于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
使用ME05的EVB硬件版运行官方DEMO程序(未修改代码内容)
92d2eaab-f24b-4e02-8b81-6524f1060755-db9568f4202175bdc6322e556e81daee.png
使用上位机接收报文是校验和错误,数据部分都是正确的,因此增强型校验唯一的变量只有PID错误:
e056089c-54fe-4bcb-aa3e-6892978beeb4-image.png
点断点观察状态,属于位错误类型:
ce60df09-4a9e-49aa-91ee-620a2c8603f6-image.png
以下均是官方原有的配置:
37d06e5f-f461-477c-9da4-4796ae9c7110-image.png
6479df48-11b6-4954-ae55-16bf29729eef-image.png
硬件板使用12V DC供电
a53fd067-beb2-4ee7-9a0d-a164d1a04e07-5d2fd00010a5e4fdf59a218325bae2ba.jpg
上位机工具已在其他项目上验证功能正常,排除工具问题。
请教下有什么可能的原因,谢谢!🙋
硬件环境:HA01评估板+leaf light v2(substitute for kvarser)
软件环境:SDK1.3.1
需求描述:基于SDK 的UDS CAN升级固件
问题描述:
构建demo之后按照readme文档操作,下载can demo到MCU之后,用PC工具开始基于UDS协议下载连接leaf light v2,发现超时。
按照飞书文档描述检查了设置,脚本也是demo自带的,不知道忽略了哪些设置?或者usb转can设备有问题?转接器和问题截屏如下,请参考。
bc529753-d2ef-4e46-9ab4-c5128cbcd3b3-6c063e4ee2c34dbe28025c7f6051bb35.jpg 57217763-ec3a-402f-98b0-bc0666ebef82-47cced2cb88e63b5e337ae0f2d8bd1ec.jpg
Hi Yuntu Support,
In our current project, we have strong demand for importing CAN-DBC from customer then generating source-codes, which support customer frame implementation.
Do we have same generated functionality in SDK-YT-Config tool (Middle-ware support also help here) ?
Since I could not find it in download sections of YTM32B1MD1-SDK .
Looking for your dedicated support.
Best Regard,
Hoang Minh (Mr.)
Email: Minh.Hoang@forvia.com
Hella Vietnam Co.,Ltd
-
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哦...