ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
1067936 Топик полностью
evgeniy1294 (09.01.2021 21:30, просмотров: 402) ответил Argon на Да хрен их знает, вдруг понадобятся... Встречный вопрос задам: какая бесплатная среда используется для не самых младших камней? Ну, скажем, GD32F403VIT6
Для embedded IDE использую только как продвинутые редакторы, например, с функционалом рефакторинга. Ещё раз, именно для embedded только как редактор. Отлаживаю прошивку через консоль openocd и gdb, отчасти так как в консоли работать быстрее, отчасти из-за бедности - дома только один монитор, второй разместить негде. И сложного в этом ничего нет. 

Вкладка консоли 1:

openocd -f interface/stlink.cfg -c 'adapter speed 2000' -f target/stm32f4x.cfg # запуск отладчика


Вкладка консоли 2:

telnet localhost 4444 # цепляемся к отладчику для работы через CLI

program /path_to_firmware/firmware.elf # заливаем прошивку


# Далее можно делать что-нибудь через openocd
reset halt # Cброс с остановкой, можно звать без halt


# Или, например, снять конфиг регистров/считать память
mdw addr N # считать N 32-битных ячеек начиная с addr


# Тоже самое можно делать через GDB, но иногда его не хочется запускать.
# Можно адресно модифицировать прошивку во флеше, чтобы обосрать кому-то жизнь, причем скриптом при прошивке. mww addr val



Вкладка консоли 3:

gdb

file /path_to_firmware/firmware.elf
target extended-remote localhost:3333 # цепляем gdb к openocd
monitor reset halt # Делаем сброс с остановкой
step # сделать шаг next # выполнить строку b namespace::foo # ставим бряк на вход функции namespace::foo с # сокращение от continue - выполняем программу до точки останова # Вот такого ide уже не умеют или умеют херово disas funcname # просмотреть дизассемблер функции, крайне важно для писателей embedded библиотек info function # получить список функций в elf-файле info b # получить список бряков (ну ладно, это умеют) x/10x addr # распечатать 10 слов начиная с addr, гораздо удобнее всратого окна memory p/x my_val # распечатать переменную my_val в хексах (вообще в любом формате можно попросить)



Ну и вкладка 4:

./build.sh # просто собираем приклад



И это краткий список того, что можно делать, даже мышка не нужна. Может такое ваша ide? Для десктопа, конечно, так заморачиваться не нужно, просто работаем в любимой ide как и все нормальные люди.