Перейти к содержанию
    

Отладка микроконтроллеров

например...Silab чипы это 51 ядро...отладчик стоит 50 баксов...любо дорого работать...

Снова подорожал? Впрочем, элементарно клонируется. :) Цена комплектации в пределах $10.

Правда, ценник на сами чипы там не всегда приятный.

(upd) Безвозмездно, то есть даром, предоставляется тулчейн от Keil. Ограничений по времени и размеру кода нет, но вот отладка - только в Silabs IDE.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

например...Silab чипы это 51 ядро...отладчик стоит 50 баксов...любо дорого работать...

Dragon - 45$

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А пока у Вас нет опыта приготовьтесь к созданию тем типа :

Почему у меня в шпроте все работает , а в железе нет

 

 

А у меня наоборот : живьем все работает, а в Протеусе -нет. :crying:

 

а у меня и там и там работает. странно, правда? если вы не любите кошек, то скорее всего вы их просто не умеете приготовить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер.

Я не так давно проектирую ПО для микроконтроллеров и столкнулся со сложностью отладки.

Думаю, многие с этим сталкивались. Переменные программы и регистры

микропроцессора просто так не увидишь

Странно. В MPLAB IDE Все регистры и переменные программы видны в процессе отладки, правда пользуешься этим очень редко ибо стало неактуально, в основном работа идет в реальном времени зависимо от подчиненных устройств, протоколов и агрегатов, значения переменных и регистров которые могут быть интересны изменяются сотни раз в секунду, человеку не уследить. Наблюдаешь о оцениваешь в основном по результату работы.

 

Обычно, если паузу в работе МК нажимать нельзя посмотреть данные, вешаешь на МК достаточно информативный дисплей и выводишь интересные данные программы в процессе работы на этот дисплей. Иногда действительно достаточно повесить просто светодиод.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно. В MPLAB IDE Все регистры и переменные программы видны в процессе отладки, правда пользуешься этим очень редко ибо стало неактуально, в основном работа идет в реальном времени зависимо от подчиненных устройств, протоколов и агрегатов, значения переменных и регистров которые могут быть интересны изменяются сотни раз в секунду, человеку не уследить. Наблюдаешь о оцениваешь в основном по результату работы.

 

Обычно, если паузу в работе МК нажимать нельзя посмотреть данные, вешаешь на МК достаточно информативный дисплей и выводишь интересные данные программы в процессе работы на этот дисплей. Иногда действительно достаточно повесить просто светодиод.

 

Но ведь надо еще подключить IDE к процессору чем-то. В Атмеле другой IDE используется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Там и виртуальный UART и виртуальные светодиоды (в смысле битовые сигналы) есть.

 

Особенно интересны такие фичи как: построение графиков по значениям любых переменных в программе в реальном времени, трассировка всех прерываний, перехват обращений на чтение или запись к любой области памяти, отображение дерева вызовов и полный анализ стека независимо где была выполнена остановка, измерение с точностью до тактов времени выполнения любых функций

А как конкретно вы все это делаете? какой софт, и какой отладчик? Я кроме GDB server ничего не использую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь надо еще подключить IDE к процессору чем-то. В Атмеле другой IDE используется.

В моем случае это PICkit2. внутрисхемный программатор и логический анализатор. два в одном. Официально стоит менее 2 тыщ руб.

Использую средства от производителя МК

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как конкретно вы все это делаете? какой софт, и какой отладчик? Я кроме GDB server ничего не использую.

 

Для gdb есть графическая оболочка ddd вот там есть все и графики и остальное.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для gdb есть графическая оболочка ddd вот там есть все и графики и остальное.

я ддд знаю, он не умеет делать ничего из этого, это только обертка вокруг gdb. В gdb нет виртуальных ком портов, насколько мне известно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я ддд знаю, он не умеет делать ничего из этого, это только обертка вокруг gdb. В gdb нет виртуальных ком портов, насколько мне известно

 

Графики точно может.

 

http://linuxgazette.net/issue73/mauerer.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал запустить SEGGER J-Link GDB Server, и, наверное, из-за того, что у меня клон J-Link'a, то в поле GDB я вижу "Waiting for connection". [...]

 

Спасибо!

 

 

Изменено пользователем Herz
п.3.1 Правил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и, наверное, из-за того, что у меня клон J-Link'a, то в поле GDB я вижу "Waiting for connection".
Не думаю. Полагаю, что он ждет соединения потому, что он - сервер. Запуская gdb (клиента), в вашей отладочной среде вы должны указать порт сервера и он (клиент) установит соединение с gdb-сервером.

 

Кстати инструкция, на которую вы ссылаетесь, уже сильно устарела. Сейчас в eclipse достаточно через Help->Install new software установить дополнение C/C++ GDB Hardware Debugging (из раздела Mobile and device development), после чего в Run->debug configuration создать конфигурацию в разделе GDB Hardware Debug и уже в ней на вкладке Debugger указать имя gdb-клиента (arm-none-eabi-gdb) и номер порта. Если в настройках проекта (Project->Propertities->C/C++ Build->Settings) у вас выбран Elf parser и/или GNU Elf parser и проект уже откомпилирован, то поле C/C++ Application в настройках конфигурации отладчика эклипса заполнит автоматически.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, что-то я не до конца понимаю. У меня есть J-Link, Keil, Segger GDB server.

При запуске "C:\Program Files\SEGGER\JLinkARM_V478\JLink.exe" я вижу такое:

post-60135-1381308918_thumb.png

Не должны ли тут указывать поддерживаемые отладчиком фичи, как тут:

post-60135-1381309024_thumb.png

Получается что Segger GDB сервер работает через USB с моим J-Link'ом, а Keil уже должен работать с Segger GDB сервером? Как настроить для этого Keil?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня есть J-Link, Keil, Segger GDB server.
Не, с кейлом я не работаю. А вы уверены, что он должен общаться с JLink именно по протоколу GDB? Возможно в этом вашем списке GDB server - лишний?

Не должны ли тут указывать поддерживаемые отладчиком фичи
Насколько я понимаю, все эти фичи - чисто программные. Возможно как-то связаны с установленными лицензиями. Я использую OpenOCD, там таких заморочек нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, что-то я не до конца понимаю. У меня есть J-Link, Keil, Segger GDB server.

При запуске "C:\Program Files\SEGGER\JLinkARM_V478\JLink.exe" я вижу такое:

post-60135-1381308918_thumb.png

Не должны ли тут указывать поддерживаемые отладчиком фичи, как тут:

post-60135-1381309024_thumb.png

Получается что Segger GDB сервер работает через USB с моим J-Link'ом, а Keil уже должен работать с Segger GDB сервером? Как настроить для этого Keil?

 

У keil есть нативная поддержка j-link. Вам в менюшке конфигурирования отладчика нужно выбрать j-link. И не нужно никаких GDB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...