有
我已经为嵌入式Linux构建了调试环境。它基于
https://github.com/fdu/STM32F429I-disco_Buildroot
一切正常,除了我无法跟踪Linux内核代码(即start_kernel())之外,我一直认为这是由于gcc优化所致。如果我完全关闭优化,则会出现错误:
libgcc2.c:2133:1:错误:r7在此处不能在asm中使用。
Arm开发人员手册建议使用编译器标志:-fomit-frame-pointer
https://tls.mbed.org/kb/development/arm-thumb-error-r7-cannot-be-used-in-asm-here
但是,我不知道如何将该标志传递给编译器。我试图修改.config,即
BR2_EXTRA_GCC_CONFIG_OPTIONS =“-fomit-frame-pointer”
但是,错误仍然显示。
任何想法如何使用0优化来编译代码?还是GDB不能在断点处停止的原因?
谢谢。 埃里克