使用RTT系统出现硬件问题,请ffxz进来看看
在使用RTT系统中出现了硬件错误,请ffxz看看能否看出是什么问题?finsh>>psr: 0x21000000
pc: 0x08008a6a
lr: 0x080089f9
r12: 0x00000000
r03: 0x00000000
r02: 0x00000000
r01: 0x20000298
r00: 0x20000298
hard fault on thread: tidle
threadpristatus sp stack size max used left tickerror
-------- ---- ------- ---------- ---------- ---------- ---------- ---
tidle 0x1f ready 0x00000050 0x00000100 0x00000050 0x00000001 000
tshell 0x14 suspend 0x00000088 0x00000800 0x00000210 0x00000003 000
data 0x0a suspend 0x00000150 0x00000400 0x000001bc 0x00000003 000
RTT系统使用的是0.3.1版 自己顶。。。 pc: 0x08008a6a
去这个地址周围查。
因为RT-Thread的M系列移植里面把fault打印了出来。
所以貌似大家都把问题归给RT-Thread了? 不好意思,想请教下如何找到这个地址?用的keil,我在map文件中查了一下,这个地址周围是thread.o。
另,不是想把问题归给RTT,主要是因为看起来错误出在了idle线程,而我这个线程没有做过改动,所以疑惑。
大家都使用这个系统才能渐渐积累起各种经验,正因为我不知道这个问题究竟是不是RTT的问题,所以提出来想请大家解答一下,
或许有的人一语就点破了其中的问题呢? KEIL调试时在command窗口输入 pc = 0x08008a6a ,然后下个断点再从头运行。
如果在thread.c中,检查传过来的参数是否合法,是否被篡改。
RT_DEBUG 等调试的 define 全打开。。 好的,非常感谢!我先试验一下去 说实话rtt还是文档太少了,我上次碰到的问题还是得要靠自己折腾!
页:
[1]