我正在調試我爲AVR體系結構編寫的程序,並使用avr-gcc
和-g
參數進行編譯。與avr-gdb一起使用simulavr時引發的奇怪異常
我使用下面的命令來啓動simulavr
:simulavr --device atmega8 --gdbserver
然後我調用avr-gdb
做(gdb) file main.elf
以及(gdb) target remote localhost:1212
一旦調試開始,我可以成功step
通過我的節目.init
等的裝配部分人。然而,一旦jmp main
被執行,另一個函數調用時,simulavr
拋出以下異常:Assertion failed: (m_on_call_sp != 0x0000), function OnCall, file hwstack.cpp, line 266. Abort trap: 6
它是與框架推到堆棧,但我不能完全把我的手指上如何解決它。
'-V'參數不會產生任何有用的東西。我仍然得到例外。要回答你的問題,是的,我正在編譯'-mmcu =',但我實際上正在編譯'atmega8u2'。每個芯片的底層架構都是相同的,所以我不明白這會是一個問題。 –