после долгого залегания на дне всплываем!
свежак для ARM . хост linux x86_64
http://klen.org/Files/DevTools/linux-x86_6..._64-20130623.7zсильно вштырило от прочтения судового дневника Федора Конюхова (http://www.konyukhov.ru/) который Он вел при одиночной кругосветке в Северном море - Antarctica Cup Race Track 2008 . Оказывается один человек может по неделе и более не спать! практически не есть! управлятся с 30 метровой океанской яхтой имеющей 750м2 парусного вооружения. в это трудно поверить но это факт. Данной сборке я дал имя этого отважного человеа , что можно увидеть по ключикам -v.
теперь компиллер будет иметь ветку 4.9 транка
некоторые соображения ипредложения:
после расковыривания проекта отладчика BlackMagic, переделки прошивки и изготовленя тестовых платок отладчика полностью перешел на новый отладчик (на фотке отладчик слева , справа таргет)

мне понравилось
1. Хорошо написанный GDB сервер который крутится на микроконтролере отладчика. причем писал граматный чел - все канонично без костыликов.
2. реализован интерфейс по SWD и JTAG. с момента его изготовления пробывал для проверки JTAG, с тех пор пользуюсь только SWD
3. осцылограф и отладка отладчика

показали что скорость заливки в флеш таргета определяестя исключительно скоростью флеша таргета. на осцилограмме видно скорость SWD на порядки выше скорост прошивания.
4. По субъективным ощушениям в связи с высокой скоростью стало лучше отлаживатся - отладчик за "более сложные" точки останова в состоянии зацепится. после связки openocd + gdb это сильно ощушается.
5. имеется уже реализованный UART - можно обеспечит вывод через него отладочную инфу с таргета. я не использую эту возможность потому что делаю сразу USB композит на девайсе и через USB организую консоль. если случится девайс без вывода USB (что трудно представить) но эта фича будет незаменима.
6. ну и главное - поскольку проект открыйтый - можно порезвится
а) добавил штырьки на отладчик и две команды - включить/выключить питание USB_VBUS и +3,3v. это позволит питать маленькие девайсы от самого отладчика
Цитата
(gdb) target extended-remote /dev/ttyACM0
Remote debugging using /dev/ttyACM0
(gdb) mon help
General commands:
version -- Display firmware version info
help -- Display help for monitor commands
jtag_scan -- Scan JTAG chain for devices
swdp_scan -- Scan SW-DP for devices
targets -- Display list of available targets
morse -- Display morse error message
connect_srst -- Configure connect under SRST: (enable|disable)
ldo -- Power 3.3v output: (enable|disable)
usb_vbus -- Power USB_VBUS(5v) output: (enable|disable)
traceswo -- Start trace capture
б) добавил на плату 4 вывода для заводки на отладчик аналоговых сигналов на АЦП + вывода сигналов с ЦАП + 8 линий GPIO(на фотке виден ряд из 8 PLC2.54 штырьков)
последний пункт - хочется сделать не просто отладчик а более умное устрйство. в USB композит отладчика доюавить интерфейс аналогового и цифрового обмена с таргетом. на стороне хоста по мимо собсно отладки через отладчик еще писать и читать в этот интерфейс. с помощью программы на хосте эмулировать например объект управления отлаживаемого устойства. К примеру Вы пишете прошивку для контроллера серво привода - но сервопривод на полигоне, размером с грузовик .... а отлаживатся хочется дома или в шезлонге на берегу речки. в таком случае необходимо будет только на хосте написть прогу реализующую динамическою модель сервопривода и замкнуть входы и выходы цепи обратной связи через отладчик ( GPIO/ЦАП/АЦП.UART ). Я планирую на стороне хоста сделать микрофреймворк который позволит на Lua быстро создавать эмуляторы того к чему девайс будет подключен в реальности.
в связи описанным забил на OpenOCD