Atmel Studio
Atmel Studio — бесплатная интегрированная среда разработки приложений для микроконтроллеров Atmel на базе архитектуры ARM процессоров серии Cortex-M. Содержит внушительную библиотеку с примерами исходного кода под разнообразное программное обеспечение.
Возможности Atmel Studio
- Поддержка плагина AVR RTOS;
- Импорт проектов из других IDE;
- Работа с языками C/C++ и ассемблером;
- Использование компилятора GCC Toolchain;
- Встроенный отладчик для корректного написания кода;
- Интеграция с платформой Atmel Start и пакетом WinAvr;
- Позволяет автоматически установить драйвер Атмел USB;
- Вывод подробной информации о схемах, светодиодах, программаторах и т.д.
Преимущества
- Обновление прошивки для Xplained Mini;
- Стало проще управлять командной строкой;
- Исправлена кнопка добавления файлов в окне Solution Explorer;
- Много справочной документации на официальном сайте разработчика;
- Высокая скорость компиляции, быстрое выполнение скриптов в эмуляторе;
- Поддержка множества устройств, произведенных компанией Microchip Technology;
- Совместимость с любыми версиями ОС Windows, включая NT, 2000, XP, Vista и выше.
Недостатки
Atmel Studio
- Англоязычное меню;
- Довольно длительный процесс установки ПО;
- Для полноценного использования софта, необходимо иметь соответствующие знания, с ним справится не каждый рядовой пользователь ПК.
Arduino IDE
Microsoft Visual C++
Adobe Brackets
Atmel Studio скачать бесплатно
Последняя версия:
7.0 build 1931 от 24.09 2018
Разработчик: Atmel Corporation
Операционные системы:
Windows 7, 8, 10, XP, Vista Интерфейс: Русский Размер файла: 878 Mb
Скачать Atmel Studio
Atmel_Studio_Setup.exe
Полное описание
Atmel Studio 7 предоставит широкий набор инструментов для разработки, отладки и компоновки приложений для различных микроконтроллеров семейства AVR. Поддерживает языки программирования C/C++ и Assembler. Отличается удобной системой подсказок и встроенным каталогом Atmel Software Framework Tools, включающим в себя более тысячи проектов на основе ARM и AVR-архитектур.
Также IDE работает с flash контроллерами, использующими ядра Cortex-M третьей и четвёртой серии. AVR Studio предлагает пользоваться онлайн-магазином Atmel Gallery, в котором можно найти дополнительный инструментарий для проектирования IDE систем, тестирования ваших программ, внутрисхемной отладки и так далее. Доступно облачное хранилище под названием Spaces, позволяющее создавать и редактировать проекты в совместном режиме. Здесь же можно использовать несколько гигабайт для виртуального хранения файлов с аппаратными и программными компонентами.
Источник: softcatalog.io
Atmel Studio 7
Всем доброго дня. Сегодня немножко раcскажу про Atmel Studio 7 и для чего она нужна. Рано или поздно приходится осознать что Arduino удобная платформа и писать под нее да воли удобно, но за удобство нужно платить, как результат botloader занимает место микроконтроллера и из-за упрощения написание кода теряются драгоценные такты и память микроконтроллера.
Если делать готовое устройство с нуля, то выбирая Arduino мы ограничиваем себя выбором контроллера. Но что бы писать прошивку под микроконтроллер без Arduino нужно как минимум две вещи программатор (лучше с отладчиком) и программное обеспечение для написания самой прошивки. Для написания прошивок по микроконтроллеры Atmel которые часто используют в Arduino компания Mikrochip предлагает использовать свою среду разработки Atmel Studio 7. Программатор же можно купить из Китая меньше чем за 3$ (правда без отладчика), или же купить оригинальный программатор.
Atmel Studio 7 — это платформа для разработки и отладки всех приложений для микроконтроллеров AVR® и SAM. Atmel Studio 7 предоставляет собой удобную и простую в использовании среду для написания, сборки и отладки ваших приложений, написанных на C / C ++ или ассемблере. Он также легко подключается к отладчикам, программистам и наборам для разработки, поддерживающим устройства AVR ® и SAM.
Atmtel Studio включает в себя Atmel Gallery, онлайн-магазин приложений, который позволяет расширить среду разработки с помощью плагинов, разработанных Microchip, а также сторонними разработчиками. Atmel Studio 7 может импортировать скетч Arduino в виде проектов C ++, что обеспечивает простой путь перехода между платформами. Платформа поддерживает более 500 устройств AVR и SAM. Скачать Atmel Studio 7 можно с официального сайта бесплатно.
Для удобства на сайте есть онлайн и оффлайн установщик.
Установка
После запуска установщик он спросит согласия на лицензионное соглашение (нужно подтвердить) и на отправку анонимных отчетов о работе (можно убрать галочку).
Дальше предложит выбрать нужные архитектуры с которыми будете работать, не нужные можно убрать для экономии места на диске.
В следующем шаге инсталлятор спросит нужны ли примеры кода программ.
Дольше все просто и понятно, система проверит необходимые зависимости и сам процесс установки, думаю описание здесь не требуется.
Источник: radio-blogs.ru
Программирование микроконтроллеров в AtmelStudio 6. Часть 1. Первые шаги
Современное радиолюбительство невозможно представить без микроконтроллеров, и это очевидно. В последние десятилетия микроконтроллеры различных производителей стали широко распространены в разных сферах деятельности человека. Нередко их можно встретить в самых неожиданных устройствах и конструкциях. Мы с вами являемся свидетелями компьютеризации и автоматизации окружающих нас процессов. Истина такова, что без знания основ программирования создавать современные конкурентоспособные устройства стало практически невозможно…
Камрад, рассмотри датагорские рекомендации
Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.
Если вы читаете эту статью, вероятно у вас возникло желание понять, как работают микроконтроллеры, и скорее всего появились вопросы:
1. Какой микроконтроллер выбрать для работы?
2. Какую среду разработки использовать для программирования выбранного микроконтроллера?
3. Как прошивать контроллер, и какие дополнительные приборы и акссесуары нужны для удобной работы с ними?
4. Какую литературу изучать?
5. Где в интернете можно задавать вопросы и получать конкретные ответы?
Попробуем ответить на эти вопросы.
↑ 1. Какой микроконтроллер выбрать для работы?
Большой популярностью у радиолюбителей пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM.
В промышленности, несколько иначе, первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем Samsung, затем идут Microchip и TI, далее все остальные.
Популярность определяется ценой и доступностью, немалую роль играют наличие технической информации и стоимость программного сопровождения.
Мы будем изучать 8-битные микроконтроллеры AVR, семейства ATMEGA 8 и 16 серии. Выбор определился, опять же доступностью, наличием множества любительских разработок, огромным количеством учебного материала. Наличием разнообразных встроенных компонентов и функциональностью этого семейства.
↑ 2. Какую среду разработки использовать для программирования выбранного микроконтроллера?
Для AVR созданы разные интегрированные среды разработки (IDE, Integrated development environment).
IDE – это система программных средств, используемая программистами для разработки программного обеспечения (ПО), в состав которой входят:
• текстовый редактор,
• компилятор и/или интерпретатор,
• средства автоматизации сборки,
• отладчик.
Наиболее распространенные из них AVRStudio, ATmelStudio, WINAVR, CodeVision, IAR Embedded Workbench.
Для того, чтобы писать программы, мы воспользуемся бесплатной IDE ATmelStudio версии 6 и выше.
Скачать Atmel Studio можно с официального сайта после регистрации (регистрация абсолютно бесплатная и ни к чему не обязывает!)
ATmelStudio позволяет создавать проекты, и писать программы как в ассемблере, так и на СИ.
Изначально всегда стоит вопрос: какой язык программирования выбрать, чтобы писать эффективные программы?
Отвечу просто: нужно уметь писать как минимум на двух языках ассемблере и СИ. Ассемблер просто необходим, когда нужно написать быстрые и компактные подпрограммы и макросы, различные драйверы устройств. Но, когда требуется создать объемный проект, построенный на сложных алгоритмах, без знания СИ может быть потрачено очень много времени, особенно в процессе отладки, а если возникнет желание перенести на другую платформу, например PIC18, или STM, может стать неразрешимой проблемой.
Кроме этого, сейчас появились аппаратные вычислительные платформы Arduino, работа с которыми требует знаний языка СИ++.
Поэтому будем писать программы как в ассемблере, так и на СИ.
Чтобы наглядно видеть результат своей работы, не используя паяльник или макетную плату достаточно установить программу Proteus.
↑ 3. Как прошивать контроллер, и какие дополнительные приборы и акссесуары нужны для удобной работы с ними?
Используем датагорский кит — программатор Project-005 «D-AVR910». Кроме этого, нужно будет приобрести макетные платы, блок питания с выходным напряжением 5 Вольт. Можно в качестве БП с малыми пульсациями использовать наш кит Project-006 «POWER FILTER», применив стабилитрон на 5 Вольт.
Возможно, со временем мы с Игорем предложим проект для сборки отладочной платы.
↑ 4. Какую литературу изучать?
А вот, например:
• Практическое программирование AVR на ассемблере. Ревич, 2011
• 1000 и одна микроконтроллерная схема Вып. 1-2. Рюмик, 2010-2011
• 10 практических устройств на МК AVR Книга 1-2. Кравченко, 2008-2009
• Самоучитель разработчика устройств на МК AVR. Белов, 2008
• МК AVR семейств Tiny и Atmega. Ефстифеев, 2008
• CodeVisionAVR. Пособие для начинающих. Лебедев, 2008
• Микропроцессорное управление устройствами, тиристоры, реле. Белов, 2008
• Аналоговые интерфейсы МК. Стюард, Болл, 2007
• Создаем устройства на МК AVR. Белов, 2007
• МК AVR в радиолюбительской практике. Полный разбор ATTINY2313. Белов, 2007
• Сетевой и межсетевой обмен данными с МК. Иди, 2007
• МК AVR. практикум для начинающих. Хартов, 2007
• Применение AVR Схемы, алгоритмы, программы. Баранов, 2006
• Микроконтроллеры AVR. Вводный курс. Мортон, 2006
• Измерение, управление и регулирование с помощью AVR. Трамперт, 2006
• Программирование на языке С для AVR и PIC МК. Шпак, 2006
• Конструирование устройств на МК. Белов, 2005
• МK — это же просто, тома 1-3. Фрунзе, 2002-2003
• Язык программирования Си, 2-е издание. Керниган, Ритчи, 2009
• Программирование микроконтроллеров ATMEL на языке С. Прокопенко, 2012
↑ 5. Где в интернете можно задавать вопросы и получать конкретные ответы?
Задавать вопросы вы можете на нашем или любом другом форуме, где так или иначе затронуты темы по микроконтроллерам. Главное на форумах правильно формулировать вопросы, чтобы четко получать ответы. Абстрактные вопросы не приветствуются, и скорее всего вместо ответа вы получите жесткую критику, или ваш вопрос останется без внимания!
↑ Теперь рассмотрим поближе нашего фаворита, микроконтроллер ATMEGA 8
• 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
• Прогрессивная RISC архитектура
130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
32 8-разрядных рабочих регистра общего назначения
Полностью статическая работа
Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность
Встроенный 2-цикловый перемножитель
• Энергонезависимая память программ и данных
8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
Обеспечивает 1000 циклов стирания/записи
Дополнительный сектор загрузочных кодов с независимыми битами блокировки
Обеспечен режим одновременного чтения/записи (Read-While-Write)
512 байт EEPROM
Обеспечивает 100000 циклов стирания/записи
1 Кбайт встроенной SRAM
Программируемая блокировка, обеспечивающая защиту программных средств пользователя
• Встроенная периферия
Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
Счетчик реального времени с отдельным генератором
Три канала PWM
8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF)
6 каналов с 10-разрядной точностью
2 канала с 8-разрядной точностью
6-канальный аналого-цифровой преобразователь (в корпусе PDIP)
4 канала с 10-разрядной точностью
2 канала с 8-разрядной точностью
Байт-ориентированный 2-проводный последовательный интерфейс
Программируемый последовательный USART
Последовательный интерфейс SPI (ведущий/ведомый)
Программируемый сторожевой таймер с отдельным встроенным генератором
Встроенный аналоговый компаратор
• Специальные микроконтроллерные функции
Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
Встроенный калиброванный RC-генератор
Внутренние и внешние источники прерываний
Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC
• Выводы I/O и корпуса
23 программируемые линии ввода/вывода
28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF
• Рабочие напряжения
2,7 — 5,5 В (ATmega8L)
4,5 — 5,5 В (ATmega8)
• Рабочая частота
0 — 8 МГц (ATmega8L)
0 — 16 МГц (ATmega8)
отличия ATMEGA16 от 8
• 16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
• Интерфейс JTAG (совместимый с IEEE 1149.1)
Возможность сканирования периферии, соответствующая стандарту JTAG
Расширенная поддержка встроенной отладки
Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки
• Четыре канала PWM / ШИМ
• 8-канальный 10-разрядный аналого-цифровой преобразователь
8 несимметричных каналов
7 дифференциальных каналов (только в корпусе TQFP)
2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат (только в корпусе TQFP)
• Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC
• 32 программируемые линии ввода/вывода
• 40-выводной корпус PDIP и 44-выводной корпус TQFP
↑ AtmelStudio
Если Вы только начинаете, то нужно скачать и установить программу AtmelStudio с официальной страницы atmel.com
После установки программы AtmelStudio можно приступить к созданию проекта.
Проект – это ваша программа, которую вы будете писать, отлаживать и прошивать, после компиляции, в память микроконтроллера.
Чтобы создать проект, надо открыть программу, появиться такая заставка,
и откроется страница создания проекта
Чтобы создать новый проект, нужно кликнуть по «New Project…»
В этом случае откроется новое окно, где можно выбрать язык программирования, название проекта, его месторасположение, название пакета с файлами проекта и возможность создания каталога для дальнейшего использования в других перекрестных проектах. Чтобы создать проект, где мы будем программировать в ассемблере, нужно выбрать — Assembler, после этого поменяем название проекта, его расположение, и выбираем ОК.
Появится следующее окно
Выбираем “megaAVR, 8-bit” и находим нужный нам микроконтроллер, мы выбрали ATmega8. В правой части заставки появляется список устройств, работающих с этим микроконтроллером, один из которых мы можем подключить. Выбираем ОК.
Появляется страница редактора текста, которая позволяет редактировать и отлаживать программу. Пока страница чистая, указано время и дата создания и название файла проекта, имя пользователя. Есть дополнительные окно устройств ввода-вывода, окно отчетов компиляции программы. Теперь мы
можем программировать в ассемблере.
Аналогично создается проект для программирования на языке СИ.
Выбираем семейство микроконтроллеров “megaAVR, 8-bit”
Далее, наименование микроконтроллера и выбираем ОК.
Появляется страница редактора текста. Здесь мы можем программировать в СИ.
У нас есть возможность загрузить демонстрационные проекты для работы с платами разработки, выпускаемыми корпорацией ATMEL.
Для этого нужно при создании проекта выбрать пункт “New Examle Project from ASF…”
Откроется окно следующего вида:
Здесь вы можете выбрать нужный проект, и экспериментировать как вам хочется…
Третий пункт на страничке создания проектов позволяет быстро открывать последний загруженный проект.
Так же есть возможность управлять проектом, для этого нужно выбрать название проекта под пунктом “Recent Projects” и кликнуть по правой клавише мыши. Появится меню из 3-х пунктов:
Open Project – запускает проект.
Open Containing Folder – просмотор содержимого папки проекта
Remove From List – удаление из списка проектов. Сам проект не удаляется, и попытка создать новый проект с таким же именем выдаст ошибку. Полностью удалить проект можно в папке, где он был создан.
Как создается новый проект и про перенос старых проектов, созданных в AVR Studio 4, можно посмотреть на видеоролике от Александра Писанца
Источник: datagor.ru
AVR Studio ликбез
Установка.
Сначала надо с сайта atmel.com скачать последнюю версию AVR Studio . Весит она что то около 30 метров. Можно и старые релизы использовать, не преступно, но там может не оказаться новых микроконтроллеров. AVR Studio , как и многие буржуйские программы, крайне хреново понимает русские имена и длинные пути. Поэтому ставь ее по максимально простому пути, что то вроде C:AVR А сами проекты тоже держи как можно ближе к корню, У меня, например, это D:WorkAVR — никаких имен длинней 8 символов и, конечно же, никаких русских символов. Привет родимый DOS, как говорится.
Да, если планируешь (если не планируешь, то все равно скачай и поставь, не помешает) писать на Си, то рекомендую скачать GCC aka WinAVR и установить ее ДО студии, туда же, поближе к корню. Тогда студия подхватит ее в качестве своего плагина. Если поставить после, то тоже, может быть подхватит, но возможны проблемы.
Первый запуск и знакомство с оболочкой
При старте Студия сразу же кидается в тебя мастером создания нового проекта.
В центре будут уже созданные проекты, а нас интересует кнопка New Project . Жми ее и вводи параметры будущей разработки.
Выбирай тип языка на котором будешь писать: Си или Ассемблер, а также имя будущего проекта. Также не помешает указать путь к папке с проектами. Студия умная и запомнит ее раз и навсегда и под каждый новый проект будет генерить новую папку. Так что скоро там будет полный гадюшник :))))) Дальше есть две кнопки Finish и Next . Тебе надо жать на Next . Нажмешь на финиш и получишь пустой проект в котором даже процессор то не определен. А вот если Next , то будет следующий диалог:
Сильно сомневаюсь, что у тебя первоначально сразу же будет AVR Dragon или какой нибудь ICE 2 , так что мы будем симулировать. Выбирай симулятор. Чем отличается AVR Simulator от AVR Simulator2 я так и не понял, работают одинаково. Выбрал? Вот теперь FINISH HIM! В смысле жми Finish .
Во, появилось пустое окно проекта. Оглядим что тут есть:
Слева — окно ресурсов МК. Тут ты будешь глядеть что происходит с твоим контроллером. Какие где биты стоят, что на портах, что в счетных регистрах, что в регистрах конфигурации. В центре окно кода, справа же окно проекта — тут будут все файлы показаны. Внизу, под окном кода, отрыг сообщений компилятора.
Там все ошибки и косяки отображаются при компиляции проги.
Вверху главное меню. Все там на хоткеях, поэтому заучивай их сразу и будет тебе счастье.
- Бинокль — поиск в коде. Кроме поиска там есть еще Mark ALL — пометить строки с найденым барахлом. Появляются такие голубенькие меточки возле строк.
- Синий флажок и компания — поставить/снять пометку вручную. Удобнейшая вещь эти пометки. Пользуйся!
- Две фиговины для форматирования блоков текста. Типа выделил процедуру, а потом подвинул ее влево или вправо. Сишники оценят 🙂
- Синяя муть и птичка — кнопки для программаторов понтовых. Если их у тебя нет, то забей.
- Стрелка Play — запуск симуляции.
- Квадратик Stop — остановка симуляции. Все просто.
- Листок со стрелочкой — запуск программы.
- Пауза — остановка программы там где получилось
- синяя стрелка аля Enter — виртуальный Reset контроллера
- Желтая стрелка — показать где программа находится сейчас. Жутко полезно когда проект побит на части, и ты пытаешься найти где прога стоит в данный момент.
- Три стандартные кнопки любого отладчика Step Into — сделать шаг по тексту программы. Step Over — сделать шаг по тексту, но не заходить в процедуры и функции (процедуры и функции при этом выполняются, просто нам это не показывают). Step-Out — Выход из процедуры на уровень выше. Конечно, назад МК шагать не умеет, но вот если там цикл какой, то Step Out это равносильно тому, что МК сделает одну итерацию цикла и встанет над инструкцией.
- Фигурные скобки и стрелка — выполнить программу до текущего положения курсора. Пощелкай этой кнопочкой и сам поймешь что это
- Красная точка — BreakPoint поставить бряк. О брейпоинтах ниже.
- Крестик и красная жопа — нажмешь ее и всем брейкпоинтам в проге настанет жопа — их удалит.
- Очки — это Watch , способ подглядывать за какой нибудь переменной, адресом в памяти или регистром. О них тоже потом.
- Кнопки переключалок окон, включать выключать разные блоки интерфейса. Потыкайся по ним и поймешь сам.
Теперь если ты забьешь в проект простейший код, например,
1 2 3 4 5
.include «m8def.inc» ; Используем мега8 M1: NOP ; Ничего не делаем (команда NOP просто пропускает один такт и занимает одно слово в памяти) NOP ; Опять ничего не делаем NOP ; И снова ничего не делаем RJMP M1 ; Возвращаемся к метке М1 и снова ничего не делаем
.include «m8def.inc» ; Используем мега8 M1: NOP ; Ничего не делаем (команда NOP просто пропускает один такт и занимает одно слово в памяти) NOP ; Опять ничего не делаем NOP ; И снова ничего не делаем RJMP M1 ; Возвращаемся к метке М1 и снова ничего не делаем
Куда уж проще 🙂 То сможешь скомпилировать проект и запустить процесс отладки.
При запуске симулятора повылазит куча разных новых окошек, о которых я тебе сейчас расскажу. Гляди на скриншот:
I/O View
Окно переферии, то что справа. Обрати внимание на заголовок окна I/O View — там есть строка поиска и ряд кнопочек. Потыкай их, чтобы получить наиболее удобное представление. Я обычно ставлю Tree View. Каждый регистр можно развернуть.
Каждый бит подписан и во всплывающей подсказке написано его назначение. Также настоятельно рекомендую прошерстить контекстное меню в этом блоке и выставить там галку Show Bit numbers — удобно. Черный квадратик — бит есть. Белый — бита нет. Там же указано значение в байте. В процессе отладки каждый бит можно вручную принудительно выставить или сбросить.
Сэмулировав, например, нажатие кнопки.
-
Program Counter — счетчик адресов. По нему можно узнать куда уйдет программа на следующем шаге. Когда отлаживаешь всякие индексные переходы, да извращенские конечные автоматы с переходами вида:
1 2 3 4 5
LDI R16,AddresL ; Кто сказал, что индексные переходы только по спец регистрам? LDI R17,AddresH PUSH R17 PUSH R16 ; ICALL? Щаз! Откуда хотим оттуда и скачем. RET ; Наш извращенский метод!
Watch
Это Watch лист. Можно на любой адрес, переменную или любой регистр навесить гляделку и там всегда будет отображаться его содержимое. Удобно при отладке, чтобы не шерстить по коду. Также содержимое регистров/переменных подсвечивается в подсказке при наведении мыши.
Отладка в AVR Studio
Код ты написал, он у тебя даже скомпилировался. Но от радости прыгать не получается — не работает как задумано. Чтож, бывает. Начинаем избавлять код от лажи — отлаживать.
Сначала подготовь плацдарм и выстави требуемую частоту процессора.
Как выставить частоту процессора в AVR Studio:
Загадка века, между прочим. Сходу фиг найдешь. Короче, запускай процесс симуляции. Только в этом случае появится нужный пункт меню. А потом лезь в меню Debug -> AVR Simulations Options . Ну не козлы, а? В такие гребеня прятать столь важный параметр. Я почти два месяца его в свое время искал.
Там же можно выставить адрес бутлоадера (он зависит от Fuse Bits в реальном МК).
Итак, симуляция запущена, а желтая стрелка бодро указывает на первую команду. Потыкай на клавишу F11, погляди как процессор шагает. Если все нормально, то переходи на то место, где у тебя предпологаемый затык. Например, не выставляется бит в порт. Можно поставить в это место курсор и нажать Run to Cursor, это если по быстрому.
Но лучше использовать брякпоинт.
BreakPoint
Это точка останова. Т.е. если какое то условие совпадет, то процессор встанет как вкопанный, пока ты не примешь решение, что же делать дальше. Мощнейшее средство отладки. Самый простой случай это установка Breakpoint — кнопкой F9, она же его и убирает. Через контекстное меню брейпоинт можно временно дезактивировать.
Все, если теперь ты нажмешь на F5 то проц, пойдет молотить код подряд, пока не дойдет до брейкпоинта. Где встанет как вкопаный, перейдя в пошаговый режим.
Техническое отступление, при желании можно его пропустить
Не получилось? Прождал полтора часа, а бряк так и не наступил? Ну значит где то у тебя косяк, зациклило прогу. Жми паузу и смотри где переклинило процессор. Можешь пошагово потрейсить и посмотреть в каком именно месте оно крутится. А дальше уже думать.
Отработка больших циклов, может быть очень длительной. Например, задержка длительностью в двадцать секунд, эмулируется в Студии порядка пяти минут. (на моем древнем Athlon 950) так что если у тебя где то тупит, то не помешает глянуть на показания StopWatch — может на самом деле все еще нормально, просто подождать надо. Чтобы не тупить на таких циклах я их на время отладки закомменчиваю или меняю предделитель таймера с 1024, на 1. На логику же это не влияет, так что можно проскочить их по быстрому.
Бряки бывают разные. Добавляются Брейкпоинты из меню Debug -> New Breakpoint их там два вида. Programm Breakpoint — это тупо точки останова на конкретном месте. Их проще расставлять не отсюда, а прям в коде на нужной строке. А вот ;Data Breakpoint это уже куда интересней.
Погляди на выпадающий список — есть где развернуться. Тут тебе и совпадение битов, и равенство нужному числу, и просто обращение к адресу/регистру/памяти. Причем можно указывать сразу битовую маску. А в разделе Location выбрать любой байт памяти или регистр конфигурации. Мало того, в настройках брейка можно выбрать после скольких событий должен сработать этот бряк.
Например, ты поставил брейк на начало цикла, нужно тебе поглядеть что происходит на какой-нибудь 140 итерации. Не будешь же ты тыкать пока оно там все 140 раз не прокрутится. Ставим в свойствах бряка число хитов которые он должен пропустить — 140 и на 140 итерации он тормознет программу. Удобно, черт возьми!
Все брейкпоинты видны в окне Breakpoint and tracepoint . Которое возникает внизу, там же где и сообщения об ошибках, в виде закладки. Оттуда им можно менять свойства, там же можно вывести отображение числа хитов и другие свойства бряка.
Работа с портами, эмуляция кнопок и прочего внешнего оборудования.
Есть в отладке AVR Studio одно небольшое западло , точнее особенность. Когда ты устанавливаешь порт на вход , делая подтяжку на резистор:
DDR= 0
PORT=1
То вывод виртуального МК остается равен нулю. Таким образом, все кнопки в отладчике AVR Studio по дефолту оказываются нажатыми! Нужно вручную выставить значение PIN, протыкав соответствующие галочки . Неудобно, но так.
А еще можно заказать вывод лога из порта или заливку туда данных извне! Вот это ваще мега фича. Во время отладки, в меню Debug->Simulation Options в разделе Stimulihttp://easyelectronics.ru/avr-studio-likbez.html» target=»_blank»]easyelectronics.ru[/mask_link]