Як я налагоджую Arduino Uno з gdb на комп'ютері Linux?


10

Як я налагоджую (єдиний крок вихідного коду) Arduino Uno з gdb на комп'ютері Linux? Зверніть увагу, що я не люблю використовувати AVR Studio у вині чи VirtualBox.

Питання 1: Фізичний зв’язок

Як і що я підключити до дошки Uno? Я здогадуюсь, що оскільки дошка Uno заповнена ATmega328, повинен бути доступний вихідний код одного кроку? Я також здогадуюсь, що я можу використовувати або AVR JTAGICE mkII, або AVR Dragon над заголовком ICSP?

Питання 2: сервер GDB

Потім я помітив, що є такі проекти, як AVaRICE, які, здається, забезпечують функцію jtag до gdb, але можуть бути інші проекти?

Питання 3: Де ельф?

І якщо я запускаю його та працює, де Ardeino IDE приховує генерований вихід, як файл ельфа, із символами налагодження (має бути такий)? Або мені потрібно генерувати класичний Makefile, який просто використовує контури Ardino?

Я намагався знайти деяку інформацію про те, що / як використовувати, але я знайшов лише ті підказки, які підказували мені, що я можу зробити. Може хтось підштовхне мене в правильному напрямку?


Відповіді:


3

Ви можете знайти артефакти компілятора, натиснувши клавішу Shift, натиснувши кнопку компіляції у більш старій версії IDE (прочитати <1.0). У нових версіях (читати> = 1.0) в діалоговому вікні налаштувань є опція для відображення багатослівного виводу під час компіляції (див. Скріншот). За допомогою багатослівного виведення папка, де закінчуються всі результати компілятора, друкується (повторно) на консолі. Це повинно вам принаймні почати.

скріншот ардуїно показує багатослівний вихід під час компіляції

З іншого боку, раніше в червні 2012 року в списку розробників Arduino були різні види балачок на цю тему, і хтось розмістив оголошення в списку розробників Arduino про вдосконалений / інтегрований спосіб налагодження GDB для Arduino, але я не досліджував це набагато далі. Я думаю, проект називається VisualMicro (?). Схоже, він був побудований як плагін Visual Studio, тому він може бути не корисним для вас в середовищі Linux, а він знаходиться в бета-версії над цим, але я дам вам рішення.


Я ввімкнув "Увімкнути багатослівний вихід під час компіляції", і вони використовують щось на зразок /tmp/build3652385594823436592.tmp/ в якості свого dir dir, також ельф був побудований з прапором -g, щоб він містив символи налагодження. Це означає, що я знайшов артефакти збірки, тепер мені просто потрібно змусити jtag працювати.
Йоган

3

Симулятор процесорів Simavr AVR тепер забезпечує хороший сервер GDB для налагодження фірми AVR, включаючи Arduino. Ви можете використовувати його самостійно (вимагає написати невелику програму консолі для вашої конкретної конфігурації обладнання) або в середовищі Simutron GUI , де ви можете визначити конфігурацію обладнання за допомогою схематичного захоплення.

Примітка: з цими інструментами ви не маєте фізичного зв'язку, оскільки імітується все обладнання.


2

На це відповідає відповідь у статті журналу linux, на яку посилається аналогічне запитання: Jtag debugging AVR .

В основному, використовуючи avr-gdb та simulavr в тандемі, ви можете запустити своє програмне забезпечення на вибір мікроконтролерів AVR через тренажер, використовуючи GDB для перегляду та спостереження за кодом виконання.

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.