Atmel studio arduino отладка

arduino
Использование Arduino с Atmel Studio 7

замечания

Настроить

  • Загрузите и установите Atmel Studio 7 отсюда .
  • Купите отладчик. Вы можете обойтись с помощью программиста ISP, но если вам нужны возможности отладки, что является одним из больших преимуществ использования Atmel Studio, вам понадобится отладчик. Я рекомендую Atmel ICE , поскольку он предоставляет возможности отладки для ардуинов, основанных на AVR (например, Uno, pro mini и т. Д.) И Arduinos на базе ARM, таких как Zero и Due. Если у вас бюджет, вы можете получить его без пластикового корпуса и быть осторожным, чтобы не шокировать его.

связи

  • Для Uno используйте 6-контактный ICSP-кабель . Подключите одну сторону к Uno, как показано на рисунке. Подключите другую сторону в AVR-порт отладчика.

Для Arduino Pro Mini используйте кабель mini squid, как показано на рисунке, снова подключив другую сторону к разъему AVR отладчика.

Отладочные соображения

Для отладки с помощью Uno вам нужно будет отключить трассировку сбрасывания (вы всегда можете припаять ее для использования с Arduino IDE):

Используя Pro Mini, если вы собираетесь подключать последовательный порт к компьютеру с помощью платы FTDI, не подключайте линию DTR, так как это будет мешать интерфейсу Serial Wire Debug (SWD) Atmel. Я просто подключаю мощность, землю, Tx и Rx, как показано ниже. Rx и Tx на Arduino идут на Tx и Rx, соответственно, на плату FTDI. Некоторые платы FTDI помечены по-разному, поэтому, если последовательный порт не работает, замените Rx и Tx.

Вы должны будете предоставить электроэнергию отдельно для Arduino, потому что отладчик не будет ее использовать. Это можно сделать на Pro Mini через плату FTDI, как показано выше, или с помощью USB-кабеля или адаптера переменного тока на Uno.

Настройка программного обеспечения

Подключите Atmel ICE к компьютеру, запустите Atmel Studio, и теперь вы можете импортировать существующий проект Arduino.

В Atmel Studio перейдите в меню Файл -> Создать -> Проект и выберите «Создать проект из эскиза Arduino». Заполните опции, включая меню выпадающего меню и устройства.

Перейдите в Project -> yourProjectName Properties, нажмите «Инструмент», выберите Atmel ICE под отладчиком / программистом и debugWire под интерфейсом. Перейдите в Debug -> Начните отладку и перерыв. Вы должны увидеть предупреждение и спросить, хотите ли вы установить предохранитель DWEN. Выберите «ОК», отключите питание от Arduino и снова подключите его. Вы можете остановить отладку, нажав кнопку красного квадрата и начать, нажав зеленую кнопку треугольника. Чтобы вернуть Arduino в состояние, в котором он может использоваться в среде Arduino, в то время как вы отлаживаете, выберите Debug -> disable debugWIRE и закройте.

Обратите внимание, что любые добавляемые вами функции должны включать прототип функции (цикл и настройка им не нужны). Вы можете увидеть те, которые Atmel Studio добавила в верхней части эскиза, если были какие-либо функции, когда вы импортировали свой проект в Atmel Studio (см. Пример кода, например).

Поддержка C ++ 11 по умолчанию включена в Arduino 1.6.6 и выше. Это дает больше возможностей языка C ++ и позволяет повысить совместимость с системой Arduinio. Чтобы включить C ++ 11 в Atmel Studio 7, щелкните правой кнопкой мыши на файле проекта, выберите свойства, нажмите «ToolChain» слева, нажмите «Разное» под компилятором AVR / GNU C ++ и поместите -std=c++11 в «Другие флаги» поле.

Чтобы включить библиотеки в ваш эскиз

Скопируйте файл библиотеки .cpp в папку C:\Users\YourUserName\Documents\Atmel Studio\7.0\YourSolutionName\YourProjectName\ArduinoCore\src\core , затем в Atmel Studio откройте окно Solution Explorer, щелкните правой кнопкой мыши по Arduino Core / src / основной папки, выберите add -> существующий элемент и выберите файл, который вы добавили. Сделайте то же самое с файлом библиотеки .h и папкой YourProjectName / Dependancies.

Чтобы добавить окно терминала

Вы всегда можете открыть Android IDE и использовать это окно Serial (просто выберите правильный последовательный порт), однако для добавления встроенного окна Serial в Atmel Studio перейдите в Инструменты -> Расширения и обновления, нажмите «Доступные загрузки» и выполните поиск Terminal Window или Terminal для Atmel Studio и установите его. После установки перейдите в View -> Terminal Window.

Выгоды

Программирование Arduino с помощью moder IDE, такого как Atmel Studio 7, дает вам множество преимуществ перед IDE Arduino, включая отладку, автозаполнение, переход к определению и декларации, перемотку вперед / назад, закладки и варианты рефакторинга, чтобы назвать несколько.

Вы можете настроить привязки клавиш, перейдя в Инструменты -> Параметры -> Среда -> Клавиатура. Некоторые из них действительно ускоряют развитие:

Источник

Как производить отладку программ для Arduino: руководство для начинающих

Отладка программы является жизненно важным элементом при ее разработке. Программы для плат Arduino не являются в этом плане исключением. Процедура программирования плат Arduino достаточно проста, чего нельзя сказать о способах отладки программ, доступных для данной платформы. Одна из причин этого заключается в том, что платформа Arduino не располагает специализированными инструментами отладки программ, хотя в новой Arduino IDE pro такой инструмент все же появился.

В данной статье мы рассмотрим собственные (доступные в Arduino IDE) и внешние инструменты отладки программ для плат Arduino.

Также отладку программ для плат Arduino удобно производить в симуляторе UnoArduSim.

Собственные средства отладки в Arduino IDE

В Arduino IDE есть ряд собственных инструментов, которые можно использовать для отладки программ – это компилятор, монитор последовательного порта (Serial Monitor) и последовательный плоттер (построитель графиков в реальном времени по данным из последовательного порта). А в Arduino IDE Pro уже доступен свой собственный отладчик. Давайте рассмотрим эти инструменты более подробно.

Компилятор

Компилятор Arduino IDE можно использовать для проверки предупреждений или ошибок когда мы завершим процесс написания кода. Если компилятор выдает сообщение об ошибке при попытке скомпилировать или загрузить код программы в плату Arduino, проверьте синтаксис, опечатки и другие возможные проблемы в программе.

Использование правильного синтаксиса имеет важное значение для обеспечения компиляции вашего кода программы. При сбое компиляции Arduino IDE отобразит выявленные проблемы в нижней части экрана. Однако сообщения об ошибках, предоставляемые компилятором Arduino IDE, не всегда достаточно информативны и полезны, как этого бы хотелось. Если вы понимаете смысл выдаваемого компилятором сообщения об ошибке, устраните выявленную проблему в коде программы. Если не понимаете – придется использовать другие средства отладки.

Монитор последовательного порта

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

Вы можете выводить в окно монитора последовательного порта следующие данные, которые могут пригодиться для отладки программы:

  • значения входных контактов (обычно это данные, считываемые с каких либо датчиков);
  • значения переменных в программе. По изменению их значений вы можете, например, делать выводы о том, исполняются или нет условные операторы (‘if’) в вашей программе;
  • значения выходных контактов (например, значения ШИМ перед подачей их непосредственно на контакт).

Средства отладки в Arduino IDE Pro

Arduino IDE Pro имеет встроенные средства отладки программ, которых нет в обычной Arduino IDE, что делает ее особенно полезной при разработке сложных программ.

К средствам отладки в Arduino IDE Pro относятся:

  • отступы в коде (что облегчает визуальное восприятие кода программы);
  • складывание блока;
  • автоматически закрывающиеся скобки;
  • поиск и замена регулярных выражений;
  • переключение комментариев.

Другими дополнительными функциями Arduino IDE Pro являются отладка в реальном времени, автозаполнение, адаптивный интерфейс и более быстрое время компиляции.

Внешние инструменты отладки программ для плат Arduino

Если рассмотренные в предыдущем разделе статьи собственные средства отладки платформы Arduino вам не помогли найти ошибки в коде программы, то можно попробовать использовать внешние инструменты отладки программ. Далее мы рассмотрим наиболее популярные из этих инструментов.

Visual Micro

Visual Micro – это плагин для Microsoft Visual Studio, который позволяет разрабатывать кросс-платформенные приложения Arduino. Любой код, написанный на Visual Micro и соответствующий спецификациям Arduino, будет одобрен. Поскольку Visual Micro позволяет изменять общий код и библиотеки, он идеально подходит для случаев, когда написание и отладка кода программа производится несколькими участниками (командой разработчиков). Код с нескольких платформ может быть разработан и интегрирован с программным кодом в процессе компиляции. Visual Micro также обеспечивает отладку GDB и отладку фрагментов кода программы, работающих с последовательными портами связи, технологиями Bluetooth и WiFi.

DebugWire

DebugWire – это протокол, разработанный компаний Atmel и позволяющий производить отладку программ, написанных для микроконтроллеров серий ATTiny (ATTiny 13, 85 и др.) и ATmega (ATmega 32/48/88/168/328), без использования интерфейса JTAG, используя только контакт сброса (Reset pin). Компания Atmel не выкладывает документацию протокола debugWIRE в открытый доступ, однако ряд энтузиастов перепроектировали его большие разделы и смогли создать несколько базовых отладчиков на его основе. Протокол DebugWire обеспечивает полный доступ на чтение и запись ко всей памяти микроконтроллеров AVR, а также полный контроль над процессом выполнения программы. Он поддерживает следующие инструменты отладки программ:

  • пошаговое выполнение программы (по одной строчке в коде программы);
  • выполнение программы до позиции курсора;
  • пошаговый выход;
  • прерывание работы программы.

Atmel Studio

Atmel Studio IDE — это бесплатная программа, которая обладает весьма неплохими возможностями отладки программ. Atmel Studio позволяет разрабатывать, компилировать и загружать программу в соответствующий микроконтроллер. IDE Atmel Studio, как и Arduino IDE, использует один и тот же код, поэтому вам не нужно изучать новый язык программирования, чтобы использовать Atmel Studio.

Atmel Studio обладает высокой адаптивностью и поддерживает чертежи .into, а также исходные коды C++. Также она обладает отличными возможностями отладки с помощью debugWIRE или JTAG.

Источник

Atmel studio arduino отладка

While installing ATMEL Studio 7 (AS7) is not required in order to learn inline assembly language programming, it has worthwhile advantages. The ability to compile code for the Arduino, run it inside the included Simulator and immediately debug it will greatly speed your learning process. This seamless and iterative process would take several long minutes to complete if using the Arduino IDE. In fact, the Arduino IDE alone cannot perform the disassembly and debug functions.

AS7 now features seamless, one-click importation of projects created in the Arduino development environment. Your sketch, including any libraries it references, can be imported into AS7 as a C++ project. Once imported, you can leverage many additional capabilities of AS7 to fine-tune and debug your design. For most Arduino boards, shield-adapters that expose debug connectors are available, or one could use an ATMEL-ICE debug wire interface with a standard Arduino (slight modification of the Arduino is required).

Best of all, AS7 is free of charge. It is also important to note, that most of the functionality of AS7 is also available in the older Atmel Studio 6 IDE (AS6).

Install ATMEL Studio 7

I’m not going to go through the whole installation process (get the book), just navigate to the ATMEL Studio 7 website download page, and click the DOWNLOAD NOW link:

Direct link to the download page:

Select the web installer unless you have a specific requirement to install off-line.

ATMEL Studio 7 Blinks

Congratulations if you have completed the installation. Let’s run the Studio for the first time.

On initial start, AS7 will ask you to select a user interface profile. I suggest the “Advanced” version, however either option is satisfactory. If desired, the profile can always be changed later.

Be patient, it will seem like a long period of time for the program to load, but eventually you will be greeted with the IDE and the startup page populated with an ATMEL announcement internet feed. It is possible to disable this if it is unwanted (checkbox on the bottom left).

From the file menu select NEW->Project.

The New Project dialog will open and make the following selections:

• Insure “Installed” and “C/C++” is highlighted on the far left.
• Highlight “Create project from Arduino sketch”.
• Give the project an appropriate name like, “AS7_Blink” (note, spaces are not allowed in the project name).
• The default location should fill automatically.
• The solution name defaults to the project name, and this is acceptable for now.

The next dialog will ask for the existing Arduino sketch location. Click on the button containing the ellipsis to the right of the Sketch File. Navigate to the Arduino Blink example sketch, which should be located inside your Arduino installation folder (similar location to mine on Windows):

C:\Program Files (x86)\Arduino\examples\01.Basics\Blink\Blink.ino

• Insure your Arduino IDE path is properly filled in.
• Make the appropriate selections for your board (Arduino/Genuino Uno) and device (atmega328p).
• Click “Ok”.

AS7 will take some time creating the folder(s) for the project and pulling in the Blink sketch with all of its dependencies (all core and variant include files, Arduino core source files and libraries). It will eventually finish by creating and opening an editable “sketch.cpp” file inside the IDE.

The sketch.cpp file is primarily the code from the example Arduino blink program including some additional automatically generated code by the ATMEL studio. Your solution should look like this:

Ready, Set, Simulate!

We can now run the Blink program without an actual Arduino board using the simulator included with AS7. But first we need to inform AS7 to use the Simulator. Under the Project menu, select “Blink Properties…”.

On the properties screen that appears, on the far left, select the “Tool” item, and under the heading of “Selected debugger/programmer”, select “Simulator” from the drop down list.

Now, in order to run the program in the simulator, simply press “Alt+F5” or select “Debug->Start Debugging and Break” using the menu. AS7 will build the Blink project, execute the C-runtime startup code and then halt at the first line of the Arduino program. If you examine your screen, you’ll notice the debugger (on the far left) is pointing to and highlighting the line of code it has paused on:

At this point, you might think to yourself, this code wasn’t in the Blink program. What gives?

All of this is actually code that comes from the core Arduino wiring files which silently gets inserted into every Arduino sketch as needed. If you look further down the screen you will eventually see the call to the Blink Setup() function.

Hitting the “F10” key (Step Over) twice should bring the simulator to the function call to Setup. At this time, pressing the “F11” key (Step Into) will cause the simulator to jump into the Blink program and pause it’s execution on the first line inside the Setup function:

Now things should start to look familiar. The last feature I want to demonstrate is the ability to drill down into the underlying assembly language that was created by the compiler. We do this by selecting an option from the Debug menu, “Debug>Windows>Disassembly”.

You should now see a mixture of C and assembly code which makes up the executable Blink program. The simulator should be paused on the following line:

I can not overstate the importance of this feature. The ability to examine the assembly code, compare it to the source, and to step through it line-by-line is an enormous asset to the inline assembly programmer. You can, among other features:

• Set breakpoints
• Watch variables
• Alter register values
• Time sections of code.

You will want to remember how to do this.

ATMEL has uploaded several informative videos on youtube.com demonstrating the use of the Studio, how to debug and how to use the simulator. A good example is located here:

Also available as a book, with greatly expanded coverage!


[click on the image]

Here’s a partial look at the disassembly listing (mixed C and assembly) produced by AS7:

Источник

Adblock
detector