есть
Я создал среду отладки для встроенного 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-кадр указатель"
Тем не менее, ошибка все еще показывает.
Есть идеи, как скомпилировать коды с 0 оптимизацией? или причина, по которой GDB не останавливается на контрольных точках?
Спасибо.
Eric