farmerzhangdl 发表于 2011-11-17 13:59:15

使用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版

farmerzhangdl 发表于 2011-11-17 14:49:16

自己顶。。。

aozima 发表于 2011-11-17 17:00:43

pc: 0x08008a6a
去这个地址周围查。

因为RT-Thread的M系列移植里面把fault打印了出来。
所以貌似大家都把问题归给RT-Thread了?

farmerzhangdl 发表于 2011-11-17 18:59:38

不好意思,想请教下如何找到这个地址?用的keil,我在map文件中查了一下,这个地址周围是thread.o。
另,不是想把问题归给RTT,主要是因为看起来错误出在了idle线程,而我这个线程没有做过改动,所以疑惑。
大家都使用这个系统才能渐渐积累起各种经验,正因为我不知道这个问题究竟是不是RTT的问题,所以提出来想请大家解答一下,
或许有的人一语就点破了其中的问题呢?

aozima 发表于 2011-11-17 19:15:22

KEIL调试时在command窗口输入 pc = 0x08008a6a ,然后下个断点再从头运行。

如果在thread.c中,检查传过来的参数是否合法,是否被篡改。

RT_DEBUG 等调试的 define 全打开。。

farmerzhangdl 发表于 2011-11-17 19:27:15

好的,非常感谢!我先试验一下去

seaman117 发表于 2011-11-17 21:03:38

说实话rtt还是文档太少了,我上次碰到的问题还是得要靠自己折腾!
页: [1]
查看完整版本: 使用RTT系统出现硬件问题,请ffxz进来看看