Hi!
Тут пришлось отлаживать программу в msp430-gdb, по результатам работы возникло несколько вопросов.
- Для проекта, который состоит из ассемблерных файлов (например fet140_1.S из примеров запакованных в mspgcc-20041102.exe) наличие ключа -g рояля не играет.
msp430-gcc -g -O2 -mmcu=msp430x149 -D_GNU_ASSEMBLER_ -nostartfiles
-nostandartlibs fet140_1.S -o fet140_1
иmsp430-gcc -O2 -mmcu=msp430x149 -D_GNU_ASSEMBLER_ -nostartfiles -nostandartlibs fet140_1.S -o fet140_1
компилируют совершенно одинаковые файлы fet140_1, на которые gdb выдает сообщение: (no debugging symbols found)...
Если компилируется смешанный проект (с и asm), то при попытке войти в функции, определенные в ассемблерных файлах, gdb выдает сообщение: Single stepping until exit from function Letext, which has no line number information.
Такое ощущение, что при компиляции ассемблерных файлов отладочная информация вообще не формируется. Или нужно указать еще какие-то ключики?
Пересобрал свежие binutils 2.15 из cygwin для target'а msp430. Та же репа.
- В gdb команды next и step работают совершенно одинаково (как step), т.е. с заходом в функции, причем, если функция прописана в ассемблерном файле, то gdb иногда срывается в непрерывное выполнение (как по команде continue). Hе работают точки останова с условиями типа break ... if ..., break ... command ... end. Это как бы еще недоделанно или у меня что-то криво настроено?
win98, mspgcc-20041102.exe