Для 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 как и все нормальные люди.