Инструменты пользователя

Инструменты сайта



// QtC: снова Baremetal и новые GDB

В продолжение Qt Creator, Baremetal и связка GDB>=7.7.1+OpenOCD. Снова косяк и снова QtC не имеет прямого отношения к нему. Судя по всему, в самом GDB какие-то гонки.

Проблема проявляется на этот раз в том, что подобные сообщения от отсутствующем контексте исполнения появляются после попытки останова исполнения кода (для отладки), при этом, какого-то чёрта, появляются сообщения об вновь образовавшемся и тут же умершем треде. GDB не может уже потом ничего сделать, а QtC следом тоже сходит с ума, не зная, в каком состоянии что находится.

В общем, пока откатился на GDB 7.8 от Linaro: https://aur.archlinux.org/packages/arm-none-eabi-gdb-linaro, оно, по крайней мере, работает.

Связанные ссылки и обсуждения:

PS текущая связка: GDB 7.8 + OpenOCD 0.10.0

// Qt Creator, Baremetal и связка GDB>=7.7.1+OpenOCD

Если коротко, то эта связка криво работает. Поймано на ARM GDB 8.0, но воспроизводится и на 7.12.1. При наличии на борту устройства какой-либо RTOS. У меня это ThreadX. Хотя, возможно, для других всё отработает нормально. Но это мало что меняет: на старом GDB 7.7.1 тот же OpenOCD работает.

Суть проблемы и способ её решения без вмешивания в код под катом.

// OpenOCD, ThreadX и ваш процессор

TODO: нужно перетянуть статью в т.ч. сюда. Пока ссылка:

https://habrahabr.ru/post/249991/

// OpenOCD, GDB и (сильно)удалённая отладка

Статью изначально опубликовал на Хабре: http://habrahabr.ru/post/274179/

Дано:

  1. устройство с ARM926E-JS (Cypress FX3) на борту;
  2. находится на другом континенте;
  3. подключено (JTAG+USB+COM) к Linux компу;
  4. на комп есть SSH доступ (и больше ничего, только SSH порт).

Проблема: устройство нужно отлаживать и писать под него код. И делать это, желательно, удобно.

Решение с использованием OpenOCD, GDB и Qt Creator, а так же описание пути к нему, под катом.