Programming atmel studio

Микроконтроллер ATMEL является довольно популярным микроконтроллером среди молодого поколения аппаратных программистов благодаря популярности платформы Arduino IDE. Arduino — это программная платформа более высокого уровня, основанная на серии микроконтроллеров ATMEL. В то время как Arduino-очень простая в использовании платформа программирования микропрограмм для новичка. Она может быть довольно сложной задачей для продвинутого программиста. Который хочет абсолютного точного контроля над своим программным алгоритмом.

Популярность Arduino приводит к тому, что сообщество программистов делится информацией, связанной с Arduino. Программисты могут легко найти поддержку и ресурсы, связанные с Arduino. Однако проблема заключается в том. Что меньшие программисты теперь используют ATMEL studio для программирования своих микроконтроллеров ATMEL. Ресурсы ATMEL studio точно очень ограничены на данный момент. Это не похоже на конкурирующий микроконтроллер серии Microchip, где его документация намного лучше. Чем у ATMEL. Теперь, когда компания Microchip приобрела микроконтроллерный бизнес ATMEL, мы можем ожидать. Что документация со временем улучшится.

Цель этой веб-страницы-помочь тем, кто новичок в платформе ATMEL Studio. Помочь им загрузить свой исходный код (или шестнадцатеричный код машины микроконтроллера) в свой микроконтроллер ATMEL.

Вещи, Которые Нужно Подготовить

  1. Ваш микроконтроллер ATMEL
  2. Студия ATMEL
  3. Программаторный инструмент для микроконтроллера ATMEL
  4. Адаптерная плата или макетная плата для вашего микроконтроллера
  5. Провода для подключения
  6. Прошивка (файл шестнадцатеричного кода *.hex)

Микроконтроллер ATMEL

В этом примере мы используем очень простой микроконтроллерный чип ATtiny44A от ATMEL.

Ниже приведены распиновки для микроконтроллера ATtiny44A (SOIC IC package)

Схема распиновки выводов программирования ATtiny44A.

Пожалуйста, обратите внимание на булавки, которые выделены зеленым цветом.

Это программные контакты ISP на ваших микроконтроллерах. Они будут подключены к программному инструменту. Чтобы ваша прошивка могла быть загружена в микросхему микроконтроллера.

Те же 6 контактов для программирования ISP будут расположены в другом месте для другого номера детали микросхемы микроконтроллера ATMEL. Процесс загрузки микропрограммного обеспечения аналогичен для других микроконтроллеров ATMEL с номером детали. Нам просто нужно обратить внимание на контакты ISP конкретного микроконтроллера ATMEL.

Ниже приведены контакты ISP на микроконтроллере ATtiny44A.

Контакты программирования ISP для микроконтроллера ATtiny44A

  1. MISO – Pin 08
  2. Vcc – Pin 01 (для питания вашего микроконтроллера)
  3. SCK – Pin 09
  4. MOSI – Pin 07
  5. СБРОС – Вывод 04
  6. Gnd – Pin 14 (для питания вашего микроконтроллера)

Подключение этих контактов ISP к инструментам программиста будет представлено в следующих нескольких разделах.

Студия ATMEL

ATMEL Studio-это бесплатное программное обеспечение IDE (integrated development environment) для разработки микроконтроллеров ATMEL. Вы можете написать свою прошивку с помощью языка программирования C или ассемблера здесь. Скомпилировать исходный код в *.hex-код и загрузить *.hex-код в свой микроконтроллер через эту интегрированную программную платформу.

Скачать студию ATMEL можно здесь.

Инструмент программиста

Инструменты программиста помогают вам подключить ваш компьютер к микросхеме микроконтроллера. Он используется для загрузки *.hex-кода в ваш микроконтроллер.

Существует целый ряд программистских инструментов, которые позволяют вам загружать свою прошивку. В этом примере мы используем инструмент программирования AVR-ISP-MK2 от OLIMEX.

Другими широко известными инструментами программирования являются ATMEL ICE и USBasp AVR.

Пожалуйста, обратите внимание на вывод инструмента программиста на их выводах заголовка разъема IDC. Это будет необходимо в следующем разделе для соединения между программатором и микросхемой микроконтроллера.

Инструмент программирования AVR-ISP-MK2

Инструмент программирования AVR-ISP-MK2

Можно использовать как для ATMEL Studio, так и для Arduino IDE, но нужно менять прошивку. Что очень хлопотно и проблематично.

Вывод программатора AVR-ISP-MK2.

ISP pin out (IDC 10 контактов)

Инструмент программирования Arduino ISP

Только для иллюстрации. Не для использования с ATMEL Studio.

Используется для Arduino IDE

Инструмент программирования Arduino ISP.     Arduino USB 2 Serial Micro programming tool

Arduino ISP programmer pin out.

(Arduino ICSP pinout)

Arduino ISP pin out (IDC 06 pins)

Инструмент программирования ATMEL ICE

Инструмент программирования ATMEL ICE

ATMEL ICE programmer pin out.

ISP pin out (IDC 10 контактов)

USBasp AVR Программатор

USBasp AVR программатор инструмент

USBasp AVR programmer pin out.

ISP pin out (IDC 10 контактов)

Адаптер для микросхемы микроконтроллера

Большинство микросхем микроконтроллеров в настоящее время обычно находятся в корпусе поверхностного монтажа. SMD-пакет для микроконтроллера ATtiny44A-SOIC14. Для того чтобы запрограммировать этот чип SOIC14, может потребоваться адаптер. Ниже приведены некоторые адаптеры, которые вы можете приобрести для программирования встроенного ПО.

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

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

Гнездо адаптера программирования (SOIC14) для микроконтроллера ATtiny44A.

Приобретите этот тестовый разъем программного адаптера (SOIC14) для микроконтроллера ATtiny44A у dhgate.com.

Гнездо адаптера программирования (SOIC14) для микроконтроллера ATtiny.

Купите этот тестовый разъем программного адаптера (SOIC14) для микроконтроллера ATtiny от tindie.

Подключение Проводов

Для того чтобы микропрограммное обеспечение (*.hex-код) было загружено на ваш микроконтроллер. Вам нужно будет подключить контакты программатора ISP к соответствующим контактам вашего микроконтроллера.

Ниже приведена простая схема подключения программных контактов ISP (заголовок IDC 10 pins) к микроконтроллеру ATtiny44A.

ISP Программирует контакты для подключения микроконтроллера ATtiny44A.

Обратите внимание. Что вам понадобится подтягивающий резистор около 10 КОМ между VCC и выводами СБРОСА.

В следующем разделе мы будем использовать программное обеспечение ATMEL Studio, чтобы помочь нам проверить. Правильно ли выполнено наше аппаратное соединение.

Прошивка

В этом руководстве мы предполагаем, что у вас уже есть прошивка *.hex. Доступная для загрузки в микроконтроллер ATtiny44A.

Файл *.hex генерируется после того. Как ваш проект скомпилирован и построен из исходного кода языка программирования C или ассемблера.

Программирование устройств

Программирование устройств ATtiny44A в студии ATMEL Studio.

1) Программное обеспечение Atmel Studio IDE

Откройте программное обеспечение Atmel Studio IDE (Интегрированная среда разработки).

Чтобы загрузить микропрограмму на микроконтроллер, откройте Инструменты программирования устройства.

Настройка программирования микроконтроллерных устройств ATMEL

2) Диалог программирования устройств

Появится диалоговое окно, как и слева.

В разделе “Инструмент” выберите инструменты программирования. Которые вы получили для своего микроконтроллера ATMEL.

В этом примере мы используем программатор AVR-ISP-MK2 от OLIMEX, поэтому мы выбрали AVRISP mkII.

3) Выбор Вашего Программатора

Пожалуйста, убедитесь, что ваш USB-программатор подключен к компьютеру. Если вы не подключили его к компьютеру, он не появится в этом разделе “Инструмент”. Если вы подключили инструмент. Его название должно немедленно (в режиме реального времени) отобразиться в этом выпадающем меню. Это имя будет удалено сразу же, как только вы отключите свой инструмент.

Если ваш инструмент программиста не указан в этом диалоговом окне, возможно. Устройство установлено неправильно или установлен неправильный драйвер.

В этом случае вам, возможно. Придется обратиться за дополнительной помощью к поставщику программного обеспечения ATMEL.

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

4) Выберите Свой Микроконтроллер

Далее. В раскрывающемся списке “Устройство” выберите устройство “ATtiny44A”, которое является микроконтроллером. На который вы будете загружать прошивку.

Сохраните параметры “ISP” в меню “Интерфейс”.

Как только это будет сделано, нажмите на кнопку “Применить”.

Если ваше соединение между вашим интернет-программистом и вашим микроконтроллером выполнено правильно. Вы увидите 6-значный шестнадцатеричный код в меню “Подпись устройства”. В нашем примере мы используем микроконтроллер ATtiny44A. Если соединение между вашим программатором и микроконтроллером ATtiny44A установлено правильно. То вы увидите текст “0x1E9207” для подписи устройства. Это уникальный идентификатор микроконтроллера ATtiny44A.

Если после нажатия на кнопку “Применить” появилось сообщение об ошибке, то это означает, что, вероятно. Возникла проблема с подключением. Проверьте, правильно ли подключено соединение. Проверьте, не оборван ли провод или нет ли короткого замыкания на другой линии. Вам также нужно будет убедиться. Что на выводах 1 и 14 вашего микроконтроллера имеется напряжение Vcc 5,0 В или 3,3 В. Если микроконтроллер не снабжен питанием. То может появиться такое же сообщение об ошибке.

Программирование микроконтроллерных устройств в студии Atmel

5) Загрузите свою прошивку на микроконтроллер

В левой части списка выберите опцию “Воспоминания”. Правая часть окна программирования устройства будет похожа на этот снимок экрана.

В разделе Flash нажмите кнопку“…”, чтобы выбрать файл прошивки (*.hex) из вашей компьютерной системы. Который вы хотите загрузить на свой микроконтроллер. В этом примере мы загружаем имя файла “myFirmware.hex”.

Вы должны установить флажок для параметров, как в этом примере скриншота. Эти настройки типичны, хотя и не очень важны, если вы забыли их выбрать.

Нажмите на кнопку “Программа”. Вы должны начать видеть серию сообщений в нижней части экрана диалогового окна.

Вероятно, вы увидите следующее,

Стирающее устройство… ОК

Программирование вспышки… ОК

Проверка вспышки… ОК

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

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

Блокировка и защита микропрограммного обеспечения микроконтроллера ATMEL

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

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

чтение прошивки с микроконтроллера Atmel ATTINY44A

1) Чтение с обычного микроконтроллера

Откройте диалоговое окно “Программирование устройств” в среде IDE ATMEL Studio. Предположим, вы только что загрузили свою прошивку на микроконтроллер. Теперь мы будем считывать машинный код с микроконтроллера.

Подключите программистов к микроконтроллеру, как обычно. Перейдите в раздел “Память”, тот же раздел. Где вы загружаете свою прошивку на микроконтроллер.

Чтобы считывать данные с микроконтроллера. Нажмите на кнопку “Читать”.

Появится диалоговое окно с запросом нового имени файла для этого файла чтения. В этом примере мы называем файл “Document.hex”. А затем нажимаем кнопку Ок.

Программист приступит к чтению микроконтроллера и сохранит машинные коды в файл “Document.hex”

допустимые коды встроенного ПО считываемые с микроконтроллера Atmel

2) Результат считывания кода с обычного микроконтроллера

В этом разделе мы откроем файл read, чтобы иметь представление о том. Как выглядят машинные коды для микроконтроллера.

Откройте сохраненный файл “Document.hex” с помощью Notepad.exe или другое приложение для просмотра текста в вашей компьютерной системе.

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

Вам не нужно ничего знать о коде. Просто помните. Что они выглядят как случайный кусок цифр/букв внутри файла.

защита кода для чипа Atmel ATTINY44A

3) Установите защиту кода на микроконтроллер

Следующим шагом мы установим защиту на микроконтроллере, чтобы другие не могли читать машинный код. Перейдите к разделу “Стопорные биты”. Как показано на рисунке слева.

Над кнопкой “Копировать в буфер обмена” есть поле с именем “LOCKBIT”. С правой стороны находится текстовое поле. В котором вы можете ввести значение.

Значение по умолчанию может быть 0xFF. Измените это на 0xFC. 0xFC-это настройки LOCKBIT для блокировки памяти программы внутри микроконтроллера ATMEL44A. Подробную информацию можно найти в разделе 19.1, стр. 159 спецификации ATmega44a. Обратите внимание. Что 0xFC работает только для микроконтроллера ATMEL44A. Для других микроконтроллеров ATMEL этот код блокировки может быть другим. Вам придется прочитать таблицу данных для правильных настроек.

После изменения значения на 0xFC нажмите на кнопку “Программа”. Чтобы программист мог применить эту настройку кодовой блокировки к микроконтроллеру.

Появится ряд сообщений. Указывающих на то. Что настройка выполнена успешно.

Запуск операции запись регистров
Запись регистра LOCKBIT…OK
Запись регистров…OK
Запуск операции verify registers
Verify register LOCKBIT…OK
Verify registers … OK

Ваш микроконтроллер теперь защищен кодом. Далее мы должны проверить, можем ли мы по-прежнему считывать машинный код с защищенного микроконтроллера.

чтение прошивки с микроконтроллера Atmel ATTINY44A

4) Считывание микропрограммного обеспечения с защищенного кодом микроконтроллера

Это тот же самый процесс. Который мы делали ранее. Чтобы прочитать машинный код.

Перейдите в раздел “Воспоминания” и нажмите на кнопку “Читать” и сохраните прочитанный машинный код в файл.

пустые коды считываются с защищенного кодом микроконтроллера ATMEL

5) Результат считывания кода с обычного микроконтроллера

Теперь, когда машинный код прочитан, откройте файл, чтобы еще раз взглянуть на прочитанный машинный код.

Он должен выглядеть иначе. Чем предыдущая попытка чтения. Как показано в левой части. Вы должны заметить много “F” вместо случайного куска цифр/букв.

Это означает. Что программисту не удается считывать машинный код с микроконтроллера. Вы не можете прочитать его. Потому что микроконтроллер был заблокирован вами.

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

Обратите внимание. Что при перезаписи микроконтроллера новой прошивкой микроконтроллер может не находиться в режиме блокировки. Чтобы убедиться. Что ваш код защищен, вы можете перейти к “Битам блокировки”. Чтобы снова выполнить защиту кода.

На этом заканчивается инструкция по защите вашего микропрограммного обеспечения на чипе микроконтроллера ATMEL.

C Программирование. Компиляция и загрузка прошивки

Для программирования на языке Си. Вы можете открыть файлы проекта и начать редактировать программу. Внося необходимые изменения. После этого вы можете нажать кнопку “F5” на клавиатуре. ATMEL Studio скомпилирует проект. Сгенерирует файл *.hex и загрузит обновленную прошивку на ваш микроконтроллер в один шаг.

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