我正在尝试从第三方来源为裸机(无操作系统)ARM Cortex M3构建和运行一些项目。
我使用newlib使用arm-none-eabi-gcc(成功)构建它。
我在TI Code Composer Studio的模拟器下运行它。
问题:
当我运行它时,它在第一次调用运行时库函数时失败进入硬故障(进入相应的ISR)
直到现在我播种它才能调用memmove或memcpy。 在跟踪反汇编时,我发现它完全按照指令
失败BLX memset
问题: 什么可能导致错误以及如何调试?
答案 0 :(得分:1)
您是否同时使用ARM和Thumb? 'BLX label'调用标签(使用链接寄存器返回地址),然后更改为Thumb模式。您是否正在使用正确的库版本?