- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-04-30 07:46:22
荣誉版主
- 积分
- 2323
|
发表于 2024-6-30 18:52:19
|
显示全部楼层
本帖最后由 tzz1983 于 2024-6-30 18:54 编辑
我这几天调UCOS@251核时, 发现把 任务控制块放在XDATA区时运行不稳定,
话说, 你说的所有选项我都尝试了一遍, 无果!
真的是很无耐, 控制块放在EDATA, 一切正常.
一旦放在XDATA, 就会随机出再一些问题 ,(比如有的任务直接就不运行了) , 偶尔也会出现重启.
仔细检查了代码, 真没什么问题呀.
几个有意思的点:
1. 不改代码的情况下, 只调整时钟频率, 有些频率运行正常 , 比如 35M , 正常运行几个小时不出问题. 换24M, 几分钟甚至几十秒就出问题.
2. 随变在哪个地方添加一个 _nop_() 指令, 也会有不同的运行结果, 比如:
头搞炸了, 产生怀疑了!!!
最新进展情况, 有一个意外的发现, 之前串口1驱动用了DMA, 我怀疑DMA 读写 XDATA 会和CPU 抢总线, (当然规格书上说不会, 我自己猜的)
于是改成了中断方式, 结果, 现在测试了两个多小时, 一切正常, 令人产生遐想啊
|
|