ARM模拟器中运行时函数调用的硬故障

时间:2013-06-06 07:31:29

标签: c arm simulator bare-metal newlib

我正在尝试从第三方来源为裸机(无操作系统)ARM Cortex M3构建和运行一些项目。

我使用newlib使用arm-none-eabi-gcc(成功)构建它。

我在TI Code Composer Studio的模拟器下运行它。

问题:

当我运行它时,它在第一次调用运行时库函数时失败进入硬故障(进入相应的ISR)

直到现在我播种它才能调用memmove或memcpy。 在跟踪反汇编时,我发现它完全按照指令

失败
  

BLX memset

问题: 什么可能导致错误以及如何调试?

1 个答案:

答案 0 :(得分:1)

您是否同时使用ARM和Thumb? 'BLX label'调用标签(使用链接寄存器返回地址),然后更改为Thumb模式。您是否正在使用正确的库版本?