问下RTX5做us级延时(阻塞)有好用的方法吗?
现在用 数据观察点与跟踪(DWT)模块 做us级延时,但用EventRecorder测量延时不对,100us延时,测量只有20us,想问下有什么比较好用的方法做us级延时吗?100us延时,测量只有20us,这个锅DWT不被,因为EventRecoder 默认也是用那个的DWT,而你测试不准,大概率是你没有正常设置MDK Option的Core时钟与芯片主频匹配导致的。 我用示波器看了,100usdelay是准确的,但EventRecoder测量不对,core时钟设置的是对的,EventRecoder用了好久了,估计和bootloader有关,程序是bootloader后再运行app的,boot和app都用的rtx lhaoyue 发表于 2020-10-13 10:51
我用示波器看了,100usdelay是准确的,但EventRecoder测量不对,core时钟设置的是对的,EventRecoder用了好 ...
他测量的时候有个最大值,最小值,平均值之类的,过一会后,看平均值比准。 eric2013 发表于 2020-10-13 16:07
他测量的时候有个最大值,最小值,平均值之类的,过一会后,看平均值比准。
找到问题了,是因为开了LTO优化,导致EventRecorder所在的内存区被init了,所以数据不对。取消LTO就可以了,但编译后的代码也变大了,不懂分散文件加载,暂时不知道怎么在LTO优化下保证加载正确。MDK 5.30 lhaoyue 发表于 2020-10-15 09:20
找到问题了,是因为开了LTO优化,导致EventRecorder所在的内存区被init了,所以数据不对。取消LTO就可以 ...
帮你测试了,确实是我前面说的,开启LTO后,过一会看平均值是正常的。
eric2013 发表于 2020-10-15 10:29
帮你测试了,确实是我前面说的,开启LTO后,过一会看平均值是正常的。
还费心硬汉测试,多谢硬汉!
想问下硬汉,你这边开启LTO后会报下面这个警告吗?
.\APP\APP.sct(16): warning: L6314W: No section matches pattern EventRecorder.o(ZI).
我这编译会报这个警告,进入debug也会提示这个警告。
然后EventRecorder就不正常,有时候时间测试正常,有时候不正常,rtx监控也是显示不显示的。 lhaoyue 发表于 2020-10-15 10:56
还费心硬汉测试,多谢硬汉!
想问下硬汉,你这边开启LTO后会报下面这个警告吗?
.\APP\APP.sct(16): wa ...
没问题啊,你是不是做分散加载设置了
eric2013 发表于 2020-10-16 10:25
没问题啊,你是不是做分散加载设置了
硬汉,你的Target这个页面是怎么配置的 http://www.armbbs.cn/forum.php?mod=image&aid=62351&size=300x300&key=baf46f4cb246e7f9&nocache=yes&type=fixnone
我参考官方给EventRecorder单独开了一块ram,指定了EventRecorder.c在ram2中。
lhaoyue 发表于 2020-10-16 15:33
我参考官方给EventRecorder单独开了一块ram,指定了EventRecorder.c在ram2中。
因为你开启了 LTO 导致的, 你可以把 SCT文件修改一下, 把 原先 的 EventRecorder.o (+ZI)改为 *.o(.bss.noinit) 试试 或者如下
RW_IRAM3 0x24070000 UNINIT 0x00010000{
EventRecorder.o (+ZI)
*.o(.bss.noinit)
}
这样不管是否开启 LTO, 都能让 EventRecorder 正常, 但是告警始终存在, 可以不管 佛云猪 发表于 2020-10-16 18:24
或者如下
RW_IRAM3 0x24070000 UNINIT 0x00010000{
EventRecorder.o (+ZI)
太感谢您了,这样修改确实可以,虽然编译会有警告,但调试没有警告,而且所有功能都正常,us级延时也能测量准确了,谢谢! 佛云猪 发表于 2020-10-16 18:21
因为你开启了 LTO 导致的, 你可以把 SCT文件修改一下, 把 原先 的 EventRecorder.o (+ZI)改为 *.o(. ...
按照这样修改,编译也不会有警告,调试功能也正常,谢谢! 佛云猪 发表于 2020-10-16 18:24
或者如下
RW_IRAM3 0x24070000 UNINIT 0x00010000{
EventRecorder.o (+ZI)
这些相关的知识是分散文件加载吗?我得学习学习
页:
[1]