LPC11xx Cortex-M0 FreeRTOS Hardfault

Kri*_*sen 2 arm memset

我一直在使用恩智浦LPC11XX设备和FreeRTOS上的项目.问题是,这个演示项目使用了一些基于Eclipse的IDE,我不会有任何这个.我把它转换为在linux中编译,我可以编程没有任何问题.我看到的问题是当演示项目到达memset()时,CPU中会产生硬故障.这不是我的代码,但我觉得这与我所做的事情有关.我正在使用代码源"gcc版本4.4.1(Sourcery G ++ Lite 2010q1-188)"编译器(我在Cortex-M3设备上使用时没有问题).我看到在一个该死的"lsls"指令上生成的硬错误,它在内存中没有任何内容,看到这个GDB输出的大量粘贴器:http://pastebin.com/3pg0puSe(我不知道这里的大块通用做法是什么这样的文字.)

任何想法,任何人?谢谢您的帮助!

Tur*_*o J 5

很难看,但最后的指示是blx r3.看起来R3没有最后一位设置(对于Thumb模式),它的值是0x481c.这将导致IIRC导致非法指令异常.在这种情况下,您的调试器会欺骗您,因为加载到PC中的值blx可能无效.

您可能只是忘记了设置指令模式/ CPU模型(以及要使用的lib集)的链接器选项 - 因此它链接到ARM模式库.