Оглавление
- Atmel START
- Вопросы программирования микроконтроллеров
- Параметры домена
- Atmel AVR usage
- Google PageSpeed Insights
- А теперь программное обеспечение
- Техническое состояние сайта
- Как установить AVR Studio
- Microchip Studio (Atmel Studio 7)
- WinAVR
- Обращение
- Программные средства разработки Microchip
- Какие бывают микроконтроллеры Atmel
- Установка WinAVR в Atmel Studio
- Заключение
Atmel START
Atmel START представляет собой онлайн-инструмент для конфигурирования и настройки проектов встраиваемого программного обеспечения при помощи графического интерфейса. Atmel START основан на последнем поколении Advanced Software Framework и дает возможность разработчику выбирать и настраивать программные компоненты, драйверы и промежуточное ПО, а также подбирать примеры проектов, специально адаптированных под потребности создаваемого решения. При работе в Atmel START пользователь может просматривать зависимости между программными компонентами, предотвращая тем самым конфликты и аппаратные ограничения. В случае возникновения конфликта Atmel START автоматически предложит решения, подходящие для данной конкретной конфигурации.
Начиная работу с Atmel START, пользователь может создать новый проект или начать работу с уже существующим примером. После завершения конфигурирования программного обеспечения пользователь может загрузить сгенерированный проект и открыть его в IDE, установленной на персональном компьютере, например, Microchip Studio 7, IAR Embedded Workbench, Keil µVision (Рисунок 9).
Рисунок 9. | Процесс работы с онлайн-инструментом Atmel START. |
Atmel START предоставляет пользователю следующие преимущества:
- Дает возможность найти и протестировать примеры для своего решения;
- Позволяет сконфигурировать микроконтроллер, настроить драйверы и промежуточное ПО;
- Позволяет настроить параметры таймеров и тактирование;
- Дает возможность подготовить проект для работы на современной IDE;
- И многое другое.
Отдельно следует отметить TrustZone Manager – графический интерфейс для настройки параметров безопасной (защищенной) зоны, также интегрированный в Atmel START.
Технология Arm TrustZone обеспечивает аппаратное разделение так называемых защищенных и незащищенных зон. Данное разделение позволяет обезопасить критически важные функции или конфиденциальную информацию, хранящуюся в защищенной зоне, от доступа из компонентов, расположенных вовне. Технология TrustZone, в частности, доступна при работе с микроконтроллерами SAM L11.
Вопросы программирования микроконтроллеров
Для программирования МК ваш код нужно компилировать, для этого есть множество программного обеспечения, пример одного из них – это компилятор IAR. Использование этого компилятора не ограничено одними лишь Atmel. 8051, AVR, AVR32, ARM – это лишь небольшой перечень из более чем 20 поддерживаемых архитектур.
IAR – это универсальное решение для программирования микроконтроллеров различного типа и уровня. Хотя компиляторов есть большое количество, например, WinAVR и CodeVision, но они не осуществляют компилирование программ для тех же АРМов и других архитектур.
IAR Embedded Workbench – полное название этой мощной рабочей среды. Применение ИАРА позволяет добиться меньше размера и большего быстродействия кода; он набирает всё большую популярность из-за своих огромных возможностей.
Пример экрана IAR Embedded Workbench
Работа с микроконтроллерами требует постоянного выполнения одинаковых действий, таких как компиляция, прошивка, сброс к заводским установкам; для автоматизации этих процессов нужно использовать Makefile – набор инструкций для компилятора, в нём записаны обозначения действий с файлами программного кода и другие команды.
Для отладки готовых программ был разработан Atmel ice. Он нужен для внутрисхемной отладки программирования и прошивки устройств. Имеет два разъёма:
- Универсальный AVR, поддерживающий любой интерфейс;
- ARM.
Судя по отзывам реальных пользователей, работает он быстрее аналогов – AVR Dragon, например, при этом захватывает архитектуру АРМов и имеет больше функций.
Параметры домена
Yandex Индексация
В истории найдено изменений за 1 год 3 месяца. Первая дата: январь 2013.
Хотите увидеть весь график?
Каждый день мы будем обновлять данные о вашем сайте, чтобы вы не пропустили важные события.
Доступно на платных тарифах.
Описание:
Примерное количество проиндексированных страниц в выдаче Яндекса можно посмотреть через оператор site:, что мы и делаем. Он покажет результат поиска по URL сайта, но точную цифру страниц в индексе выдавать не обязан.
Точные данные Яндекс отображает в Яндекс.Вебмастере. График изменений количества находится в разделе «Индексирование сайта» — «Страницы в поиске».
Обновлено 17.05.2021 16:10
Google Индексация
20 500
В истории найдено изменений за 1 год 4 месяца. Первая дата: январь 2013.
Хотите увидеть весь график?
Каждый день мы будем обновлять данные о вашем сайте, чтобы вы не пропустили важные события.
Доступно на платных тарифах.
Описание:
Сколько страниц сайта Google точно проиндексировал, узнать невозможно. Поисковик не ведет базу данных по URL-адресам.
Примерное количество страниц в выдаче покажет оператор site:, на который мы ориентируемся. Число может быть искажено страницами, которые запрещены к индексу в robots.txt, но попали в выдачу из-за внешних ссылок на них.
Чуть более точное количество покажет раздел «Статус индексирования» в Google Search Console, но и эти данные могут быть искажены из-за применения фильтров.
Обновлено 17.05.2021 16:10
Фильтр АГС
Фильтр не найден
Описание:
Примерное количество проиндексированных страниц в выдаче Яндекса можно посмотреть через оператор site:, что мы и делаем. Он покажет результат поиска по URL сайта, но точную цифру страниц в индексе выдавать не обязан.
Точные данные Яндекс отображает в Яндекс.Вебмастере. График изменений количества находится в разделе «Индексирование сайта» — «Страницы в поиске».
Обновлено 17.05.2021 16:10
Яндекс вирусы
Сайт безопасен.
Описание:
Обычно заражение происходит из-за уязвимости, которая позволяет хакерам получить контроль над сайтом. Он может изменять содержание сайта или создавать новые страницы, обычно для фишинга. Хакеры могут внедрять вредоносный код, например скрипты или фреймы, которые извлекают содержимое с другого сайта для атаки компьютеров, на которых пользователи просматривают зараженный сайт.
Дополнительная информация:
Панель веб-мастера Яндекс
Обновлено 11.02.2017 20:07
PR-CY Rank
Рейтинг домена — 18 / 100
Ссылочное
Доверие
Трафик
В истории найдено изменений за 1 день. Первая дата: июнь 2021.
Хотите увидеть весь график?
Каждый день мы будем обновлять данные о вашем сайте, чтобы вы не пропустили важные события.
Доступно на платных тарифах.
Описание:
PR-CY Rank — рейтинг для оценки перспективности сайтов в качестве доноров для линкбилдинга. При формировании рейтинга мы анализируем трафиковые и трастовые параметры, а также ссылочный профиль сайта.
Влияние — потенциал влияния сайта на продвижение. Если влияние слабое, то слабым будет как отрицательный эффект (если рейтинг низкий), так и положительный (если рейтинг высокий) и наоборот. Потенциал влияния основан на размере постоянной аудитории сайта.
Ссылочный фактор — вычисляется на основе соотношения входящих и исходящих ссылок на сайт, значений Trust Rank, Domain Rank и др.
Трафиковый фактор — вычисляется на основании объёма и динамики трафика (отрицательная динамика портит рейтинг, положительная динамика — повышает).
Трастовый фактор — анализирует множество параметров, таких как “ИКС”, доля поискового трафика в общем трафике, адаптацию под мобильные устройства и множество других факторов, признанных поисковыми системами, как значимые для ранжирования.
Обновлено 17.05.2021 16:12
Atmel AVR usage
Atmel AVR Atmega328 28-pin DIP on a
Arduino Duemilanove board
AVRs have been used in various automotive applications such as security, safety, powertrain and entertainment systems. Atmel has recently launched a new publication «Atmel Automotive Compilation» to help developers with automotive applications. Some current usages are in BMW, Daimler-Chrysler and TRW.
The Arduino physical computing platform is based on an ATmega328 microcontroller (ATmega168 or ATmega8 in older board versions than the Diecimila). The ATmega1280 and ATmega2560 with more pinout and memory capabilities has also been employed to develop the Arduino Mega platform. Arduino boards can be used with its language and IDE, or with more conventional programming environments (C, assembler, etc.) as just standardized and widely available AVR platforms.
USB-based AVRs have been used in the Microsoft Xbox hand controllers. The link between the controllers and Xbox is USB.
Schneider Electric produces the M3000 Motor and Motion Control Chip, incorporating an Atmel AVR Core and an Advanced Motion Controller for use in a variety of motion applications.
Google PageSpeed Insights
Плагины
Плагины не найдены.
Описание:
Плагины помогают браузеру обрабатывать особый контент, например Flash, Silverlight или Java. Большинство мобильных устройств не поддерживает плагины, что приводит к множеству ошибок и нарушениям безопасности в браузерах, обеспечивающих такую поддержку. В связи с этим многие браузеры ограничивают работу плагинов.
Обновлено 11.02.2017 20:07
Скриншот сайта на смартфоне
Дизайн сайта под мобильные телефоны решает две задачи: обеспечивает пользователям комфортный просмотр сайта с любого устройства и положительно влияет на поисковое ранжирование сайта.
Проверьте, чтобы ваш сайт правильно отображался на мобильных устройствах.
Обновлено 11.02.2017 20:07
Размер шрифтов на сайте
Некоторым посетителям будет сложно прочесть текст на вашем сайте.
Описание:
Одна из самых частых проблем чтения сайтов на мобильных устройствах — это слишком маленький размер шрифта. Приходится постоянное масштабировать сайт, чтобы прочитать мелкий текст, а это очень раздражает пользователя. Даже если у сайта есть мобильная версия или адаптивный дизайн, проблема плохой читаемости из-за мелкого шрифта встречается нередко.
Обновлено 11.02.2017 20:07
Объем ресурсов
Статические ресурсы не оптимизированны.
Описание:
Размер ресурса можно уменьшить, удалив ненужные элементы страницы, например, лишние пробелы, переносы строки и отступы. Сократив код HTML, CSS и JavaScript, вы ускорите загрузку, синтаксический анализ и отображение страницы.
Обновлено 11.02.2017 20:07
А теперь программное обеспечение
Драйвер программатора AVR Pocket
Драйвер Windows для программатора AVR Pocket – тот же, что используется программатором Adafruit USBTiny. Перейдите на страницу Adafruit и нажмите на ссылку для подписанного драйвера USBtinyISP, созданного с помощью libusb v1.12. Это позволит вам загрузить zip-файл, содержащий два файла installer.exe: один для 32-разрядных систем, второй для 64-разрядных. Дважды кликните по тому, что подходит для вашего компьютера с ОС Windows, и драйвер будет установлен.
Только после установки правильного драйвера Windows вы можете в первый раз подключить программатор AVR Pocket к компьютеру. Вам понадобится кабель USB-A на miniUSB-B. Когда вы подключитесь, загорится синий светодиод PWR и красный светодиод Stat1; два синих светодиода могут также загореться и/или замигать. Windows попытается найти драйвер, при необходимости, вы должны указать Windows расположение правильного драйвера. После правильной установки программатор AVR Pocket появится в диспетчере устройств в устройствах libusb-winXX как «USBtiny»; он не будет перечисляться как COM-порт. Смотрите скриншот ниже:
Программатор AVR Pocket в диспетчере устройств Windows
Atmel Studio 7
Как и многие фирмы-разработчики микроконтроллеров, Atmel имеет собственную интегрированную среду разработки (IDE), которая работает с их аппаратными предложениями: Atmel Studio 7. Хотя это не единственный способ программирования микроконтроллеров Atmel, но это наиболее полнофункциональный способ для Windows 7, 8 и 10 (и для 32-х, и для 64-х разрядных вервий); к сожалению, она не может использоваться с операционными системами Linux и Mac.
Количество опций в Atmel Studio 7 может показаться для нового пользователя огромным. Таким образом, поэтапный подход, представленный в данной статье, значительно упростит процесс знакомства. Начните с загрузки и установки IDE на ваш компьютер. Руководство пользователя Studio 7 и большое количество дополнительной информации также доступны для загрузки.
В Studio 7 включена поддержка нескольких аппаратных программаторов, но точный выбор зависит от того, какой микроконтроллер Atmel вы собираетесь использовать. На скриншоте ниже справа перечислены программаторы, поддерживающие ATmega328P.
Программаторы, поддерживающие ATmega328P
Как вы можете видеть, программатор AVR Pocket отсутствует в списке. Однако его всё еще можно использовать с Studio 7 с помощью программного обеспечения под названием AVRDude.
AVRDude
AVRDude – это утилита командной строки, которая используется для скачивания и загрузки данных с микроконтроллеров Atmel. Существуют версии, доступные и на Linux, и на Windows. На момент написания статьи последняя доступная версия – 6.3; ее можно скачать здесь. Пользователи Windows должны скачать avrdude-6.3-mingw32-zip (нажатие на ссылку запустит скачивание zip-файла!), распаковать файлы и установить AVRDude
Обратите внимание, что установка программы в корневой каталог диска необязательна, но упростит ее использование с Atmel Studio 7. Если доступна версия, более новая, чем 6.3, то вы можете установить ее по своему усмотрению
Руководство пользователя AVRDude доступно здесь.
Чтобы проверить правильность установки и работы AVRDude, выполните следующие действия:
- нажмите кнопку «Пуск» Windows;
- в поле поиска введите cmd и нажмите Enter. Откроется окно командной строки DOS;
- в командной строке перейдите в каталог, в котором установили AVRDude;
- введите и нажмите Enter. Если всё хорошо, AVRDude вернет список поддерживаемых устройств Atmel.
Смотрите скриншот ниже для примера процедуры
Обратите внимание, что скриншот был усечен и отображает только часть списка поддерживаемых устройств Atmel
Список поддерживаемых устройств
Техническое состояние сайта
Возраст домена
30 лет
Молодые и новые домены плохо продвигаются в высококонкурентных тематиках. Также важна история домена и сайта. Старые домены с плохой историей сложно продвинуть. Поисковые системы любят старые, тематические домены с хорошей историей (без фильтров, спама, черного сео и т.п.).
Обновлено 17.05.2021 16:10
Окончание домена
Домен продлен до 04.03.2022
Не забывайте продлевать доменное имя. Лучше включить автоматическое продление у своего регистратора. После окончания регистрации домена есть шанс потерять доступ к домену.
Обновлено 17.05.2021 16:10
SSL-сертификат
Cайт доступен по HTTPS.
Описание:
Для продвижения сайтов коммерческой направленности важна конфиденциальность обмена информацией междусервером и посетителями. Это повышает лояльность потенциальных клиентов к ресурсу, увеличивает уровеньдоверия, влияет на конверсию и рост позиций в выдаче практически по всем запросам.
Cтатьи по теме:
- Заявление Google
Обновлено 11.02.2017 20:07
Технологии, которые используются на сайте
Web фреймворк
Microsoft ASP.NET
IP
192.199.1.43
Местоположение сервера
Соединенные Штаты
Расположение сервера имеет значение для поисковых роботов. При ранжировании они отдают предпочтение сайтам, чьи серверы находятся в той же стране, что и целевая аудитория ресурса.
Обновлено 11.02.2017 20:07
Датацентр
ATMEL Corporation
Ошибки HTML кода
Найдено 100 ошибок и 109 предупреждений.
Описание:
Код без ошибок — это код, который соответствует стандартам W3C. Страницы с корректным кодом правильно отображаются в браузере, то есть имеют хорошие поведенческие факторы, и занимают более высокие позиции в выдаче.
Дополнительная информация:
Сервис W3C — проверка страниц на ошибки кода
Обновлено 11.02.2017 20:07
Как установить AVR Studio
Устройства AVR программируются с использованием специально модифицированной Visual Studio 2015 под названием AVR Studio 7, которую можно найти на сайте AVR. Первым шагом в программировании устройств AVR является скачивание установщика (небольшого приложения, которое загружает потом необходимые файлы). После скачивания нужно запустить установщик.
Первое, что он вас спросит, будет текст лицензионного соглашения и вопрос про отправку анонимной информации. Я лично рекомендую вам не отправлять анонимные данные по ряду причин (из-за крайней паранойи).
На следующей странице спрашивается какую архитектуру вы хотите установить. Поскольку наш материал охватывает только устройства из диапазона 8-битных микроконтроллеров AVR, то это будет единственная выбранная опция. Однако, если у вас приличная скорость загрузки (у меня всего 4 Мбит/с), тогда выбор всех опций может пригодиться в будущем.
После выбора поддерживаемого устройства на следующей странице будет задан вопрос про расширения — Atmel Software Framework и примеры проектов. Убедитесь, что галочка стоит.
Следующая страница просто проверяет ваш компьютер на наличие потенциальных проблем, таких как отложенный перезапуск (из-за обновления), или если система не сможет запустить IDE. Если все проверено и ОК, жмите «Далее».
Если вы уже установили более раннюю версию AVR IDE, вы можете увидеть следующее окно. Если это так, просто нажмите «Установить».
Теперь нужно подождать пока IDE загрузит все необходимые компоненты и установит их.
После этого вам будет предложено запустить Atmel Studio 7.0. Убедитесь, что стоит галочка перед закрытием окна установки.
Microchip Studio (Atmel Studio 7)
Все, кто хоть раз имел дело с разработкой программного кода для микроконтроллеров, наверняка слышали о среде Atmel Studio. После того как Microchip завершила сделку по покупке компании Atmel в 2016 году, все права на среду разработки (как и на сами микроконтроллеры) перешли к новому правообладателю, а сама IDP стала носить гордое название Microchip Studio.
Microchip Studio представляет собой интегрированную платформу разработки (IDP) для создания и отладки приложений на базе микроконтроллеров AVR и SAM. Atmel Studio влилась в широкое портфолио средств разработки от Microchip и предлагает пользователям простой в использовании функционал для написания, сборки и отладки приложений, написанных на языках C/C++ или ассемблере (Рисунок 8).
Рисунок 8. | Пример работы с проектом в среде Microchip Studio. |
Несмотря на то, что среда получила новое название и слегка измененный внешний вид, пользователи по-прежнему могут свободно использовать документацию, курсы и видеоуроки, созданные для Atmel Studio. То же касается и аппаратной части, в частности программаторов AVR и SAM.
Microchip Studio устанавливается вместе с компиляторами avr-gcc, avr32-gcc и arm-none-eabi-gcc, в дополнение к которым был также добавлен MPLAB XC8. Его расширенная версия MPLAB XC8 PRO включает в себя улучшенную степень оптимизации, уменьшенный размер кода и успешно конкурирует с более дорогими представленными на рынке решениями.
Ключевые особенности среды Microchip Studio:
- Поддержка более 500 устройств AVR и SAM;
- Встроенный компилятор MPLAB XC8;
- Более 1600 примеров проектов с исходными кодами, доступными через Advanced Software Framework (ASF);
- Расширение возможностей IDE через Microchip Gallery – онлайн-магазин инструментов разработки и встроенного программного обеспечения от Microchip и сторонних производителей;
- QTouch Composer – набор инструментов для разработки и настройки емкостных сенсорных устройств, проверки производительности системы, мониторинга энергопотребления с возможностью работы в режиме реального времени;
- Wireless Composer набор инструментов для разработки и настройки беспроводных устройств;
- Расширенные функции отладки, включая степпинг и точки останова, поддержку трассировки (SAM3 и SAM4), статистическое профилирование кода, отслеживание/мониторинг прерываний, отслеживание значений переменных в режиме реального времени и многое другое;
- Встроенный редактор кода, менеджер проектов, виртуальный симулятор, модуль внутрисхемной отладки и интерфейс командной строки;
- Возможность написания кода и моделирования прерываний, работы периферийных устройств и других внешних воздействий для конкретной модели контроллера;
- Возможность создания дизайна приложений с низким энергопотреблением;
- Отслеживание данных о потребляемой мощности во время отладки программы при помощи Power Debugger.
Еще одной особенностью является возможность импорта в Microchip Studio проектов Arduino, что позволяет значительно упростить и ускорить процесс перехода от создания прототипа к организации полноценного производства. Microchip Studio поддерживает работу с Arduino Zero и платами расширения Arduino Shield.
WinAVR
Мощная среда разработки с открытым исходным кодом, созданная с целью написания программ для микроконтроллеров серии AVR от компании Atmel.
WinAVR состоит из GNU GCC компилятора, поддерживающего языки C, C+ и Objective-C, обеспечивая полный цикл разработки для AVR/AVR32 и дополнительных инструментов, каждый из которых выполняет определенную задачу, помогая написанию программного обеспечения для микроконтроллеров. Наиболее важные из них: • Programmers Notepad – текстовый редактор для создания программ; • AVR-LibC – библиотека микроконтроллеров AVR; • AVRDUDE – утилита, предназначенная для программирования микросхем и использующая SPI-интерфейс; • GNU Debugger (GDB) – отладчик с командной строкой; • Insight – отладчик с графическим интерфейсом; • Simulavr – симулятор микроконтроллеров AVR с поддержкой отладчика GDB; • SRecord – целый набор утилит для работы с загрузочными файлам EPROM разных форматов.
Работать с WinAVR очень просто, в возникающих вопросах помогает разобраться полный набор документации. Программа создает компактный, довольно приличный код, по синтаксису напоминающий классический язык С. Среди недостатков – отсутствие настройки аппаратуры AVR с помощью исходного кода и интерфейса с другими устройствами. WinAVR может объединяться с фирменным программным обеспечением микроконтроллеров Atmel Studio. Вместе эти пакеты позволяют проводить разработку и интуитивную отладку программ, поддерживая все возможности чипов Atmel.
Программное обеспечение выпущено под лицензией GNU и распространяется абсолютно бесплатно. Каждый пользователь может изменить или доработать программу по своему усмотрению. Кроме этого существует портативная версия пакета, не требующая установки, для хранения на внешнем носителе информации. Адресная строка места инсталляции WinAVR не должна содержать пробелы и кириллические символы. После установки программы появляется целая коллекция ярлыков, запускающая различные утилиты пакета. Основным из них является «Programmers Notepad». Инструкция и примеры лежат в папке WinAVR\doc\avr-libc. Разработчик программного комплекса – Eric B. Weddington. Его сайт http://winavr.sourceforge.net/ содержит всю необходимую информацию по WinAVR. В настоящее время дальнейшее развитие программы была приостановлено в связи с тем, что Эрик работает над Atmel Studio, являющейся прямым продолжением WinAVR.
Язык интерфейса WinAVR английский и русификатора к нему нет.
Программа поддерживает все 32-битные операционные системы Windows. Существует версия для работы в Linux-системах.
Распространение программы: Freeware (бесплатная)
Источник
Обращение
Доступны следующие адресные пространства:
- Регистры общего назначения адресуются по их номерам (0–31), хотя полное 5-битное число не сохраняется в командах, которые могут работать только с подмножеством этих регистров.
- Регистры ввода-вывода имеют выделенное 6-битное адресное пространство, нижняя половина которого является адресуемой по битам; некоторые части имеют регистры ввода-вывода вне этого адресного пространства, которые называются «расширенным вводом-выводом» и доступны только как отображаемый в память ввод-вывод в адресном пространстве данных.
- Адресное пространство данных отображает 32 регистра общего назначения, все регистры ввода-вывода (включая те, которые также доступны через адресное пространство ввода-вывода) и ОЗУ; к нему можно обращаться либо прямо, либо косвенно через регистры указателя X, Y и Z, при необходимости с добавлением RAMPX, RAMPY и RAMPZ соответственно.
- Программная память ( флеш- память ) имеет отдельное адресное пространство, адресованное как 16-битные слова для получения инструкций.
- Для получения постоянных данных память программ адресуется побайтово через регистр указателя Z, при необходимости добавляемый RAMPZ.
- В некоторых устройствах EEPROM отображается в памяти; в других случаях к нему нельзя напрямую обращаться, а вместо этого доступ к нему осуществляется через регистры ввода-вывода адреса, данных и управления.
- Регистры общего назначения, регистр состояния и некоторые регистры ввода-вывода имеют битовую адресацию, причем бит 0 является наименее значимым, а бит 7 — наиболее значимым.
Первые 64 регистра ввода-вывода доступны как через ввод-вывод, так и через адресное пространство данных. Таким образом, у них два разных адреса. Обычно они записываются как от «0x00 (0x20)» до «0x3F (0x5F)», где первый элемент — это адрес ввода-вывода, а второй, в скобках, адрес данных.
Регистры специального назначения ЦП, за исключением ПК, доступны как регистры ввода-вывода. Некоторые регистры (RAMPX, RAMPY) могут отсутствовать на машинах с адресуемой памятью менее 64 Кбайт .
регистр | Адрес ввода / вывода | Адрес данных |
---|---|---|
SREG | 0x3F | 0x5F |
SP | 0x3E: 0x3D | 0x5E: 0x5D |
EIND | 0x3C | 0x5C |
РАМПЗ | 0x3B | 0x5B |
RAMPY | 0x3A | 0x5A |
RAMPX | 0x39 | 0x59 |
RAMPD | 0x38 | 0x58 |
Типичная карта памяти ATmega может выглядеть так:
Адрес данных | Адрес ввода / вывода | |
---|---|---|
0x0000 — 0x001F | Регистры R0 — R31 | |
0x0020 — 0x003F | 0x00 — 0x1F | Регистры ввода / вывода (с битовой адресацией) |
0x0040 — 0x005F | 0x20 — 0x3F | Регистры ввода / вывода (без битовой адресации) |
0x0060 — 0x00FF | Расширенные регистры ввода-вывода (только ввод-вывод с отображением в память) | |
0x0100 — RAMEND | Внутренняя SRAM |
где RAMEND — последний адрес RAM. В частях, в которых отсутствует расширенный ввод-вывод, ОЗУ будет начинаться с 0x0060.
Программные средства разработки Microchip
Microchip предлагает своим клиентам широкий перечень программных решений, позволяющих значительно упростить процесс разработки и отладки программного кода при работе с компонентами, входящими в экосистему компании.
На текущий момент пользователям доступны следующие решения:
-
MPLAB X IDE – полнофункциональная интегрированная среда разработки (IDE), предназначенная для разработки кода для микроконтроллеров PIC, цифровых сигнальных контроллеров (DSC) dsPIC, а также микроконтроллеров AVR и SAM. Среда построена на основе IDE NetBeans с открытым исходным кодом от Apache Software Foundation.
-
MPLAB Xpress – представляет собой бесплатную онлайн-среду разработки, которая не требует установки или настройки системы. MPLAB Xpress имеет более ограниченный функционал по сравнению с MPLAB X IDE, однако поддерживает ее наиболее популярные функции, такие как конфигуратор кода MPLAB.
-
Конфигуратор кода MPLAB (MCC) – бесплатный графический плагин для инициализации системы, который также предоставляет драйверы для работы с компонентами. MCC может использоваться для настройки широкого спектра периферийных устройств и поддерживает работу с микроконтроллерами AVR и PIC.
-
MPLAB Harmony – гибкий фреймворк, включающий в себя программные модули, которые выступают в роли строительных блоков при создании приложения. Используя MPLAB Harmony, разработчик может включить в свой проект библиотеки и программные драйверы как компании Microchip, так и сторонних производителей. MPLAB Harmony поддерживает работу с 32-битными микроконтроллерами PIC и SAM.
-
Компиляторы MPLAB XC – комплексное решение для компиляции разрабатываемого программного кода. MPLAB XC поддерживает 8-битные PIC и AVR в версии MPLAB XC8, 16-битные PIC и dsPIC DSC в MPLAB XC16 и 32-битные PIC и SAM в MPLAB XC32. Для компиляторов MPLAB XC доступны два вида лицензии: бесплатная – включает базовые функции оптимизации и PRO – ориентирована на проекты, требующие максимальной оптимизации по скорости и размеру бинарного файла.
- Microchip Studio (Atmel Studio 7) – интегрированная среда разработки (IDE) для написания кода и отладки микроконтроллеров AVR и SAM.
- Atmel START – бесплатный онлайн-инструмент для графического конфигурирования микроконтроллеров для встраиваемых приложений на базе микроконтроллеров AVR и SAM.
Как несложно заметить, те или иные программные средства подходят только для определенного типа контроллеров. В Таблице 1 приведены данные по возможности работы с программным обеспечением в зависимости от выбранного микроконтроллера или микропроцессора.
Таблица 1. | Данные по возможности работы программного обеспечения в зависимости от выбранного микроконтроллера или микропроцессора |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Для упрощения процесса работы, компания Microchip объединила информацию по своим продуктам в раздел Microchip Developer Help [], в котором подробно описаны все тонкости работы с приведенными выше программными пакетами, а также приведены ссылки на продукты, дополнительные ресурсы, видеоуроки, курсы и документацию.
Стоит также учитывать возможность работы программного обеспечения на той или иной операционной системе. Например, инструменты разработки MPLAB совместимы с операционными системами Windows, Linux и macOS, а Microchip Studio (Atmel Studio 7) способна работать только под Windows.
Разберем описанные выше программные решения более подробно.
Какие бывают микроконтроллеры Atmel
Начнем с самого популярного, для освоения микроконтроллеров в целом, – Atmel AVR. Его можно разделить на два направления:
- 8-битные микроконтроллеры.
- 32-битные микроконтроллеры.
Среди простых проектов для любителей электроники особую популярность снискала именно 8-битная часть семейства. Есть хорошая справочная литература «Микроконтроллеры AVR семейства classic фирмы Atmel», в которой описана вся архитектура, назначение отдельных узлов, регистров и прочего. Не стоит беспокоиться, что она посвящена уже устаревшему семейству AVR Classic – в наши дни оно вытеснено контроллерами Attiny и Atmega, хотя самая маленькая и быстрая модель – AT90S2313 выпускается и по сей день, слегка в модернизированном виде – Attiny 2313.
Современные семейства программно и функционально совместимы с более старыми, а переход с Classic на Mega и Tiny требует минимальных трудозатрат и изменений программного кода. Среди семейства особенную популярность заслужил микроконтроллер с маркировкой Atmega 328p, применяемый во многих популярных платах Arduino. Почти все они имеют небольшое количество энергонезависимой памяти с ограниченным числом циклов записи (до 100 000) – EEPROM.
Такая память нужна не для текущих вычислений, потому что быстро закончится её ресурс, а для хранения данных в долгосрочной перспективе. Энергонезависимость EEPROM памяти обеспечивает сохранность всей информации после обесточивания микроконтроллера.
Семейство Atmel Smart базируется на архитектуре ARM. Компания правообладатель ARM свободно продает лицензии на разработку контроллеров со своей архитектурой разным производителям, что ускоряет распространение и популяризацию первых. Стоит отметить яркого представителя – микроконтроллер AT91SAM3X8E, является сердцем Arduino DUE, 32-бита. Это позволяет очень легко начать знакомство с такой архитектурой и разработку устройств энтузиастам электроники. Atmel ARM по характеристикам превосходит большинство микроконтроллеров Atmel AVR
Семейство Atmel 8051 – основано на по-настоящему легендарной архитектуре. Intel 8051 является одним из первых массовых микроконтроллеров с широчайшей сферой применения. Позволяет проектировать высокопрецизионные устройства с огромным быстродействием, практически сравнимым с быстродействием схем на логике. В линейке есть микроконтроллеры, работающие на частотах в 100 МГц, при этом выполняющие 100 миллионов операций в секунду, а это отличные показатели для этой архитектуры. Вы можете добиться быстродействия в долях микросекунд.
Установка WinAVR в Atmel Studio
1. В пункте меню “Tools (Инструменты)” выберите “External Tools (Внешние инструменты)”.
2. У вас откроется окно, где вы должны будете ввести имя вашего инструментального средства.
3. В пункте “Title (название)” введите имя вашего внешнего инструментального средства. Можно выбрать любое имя, но в рассматриваемом примере мы выбрали имя “USBasp”. Поставьте галочку в пункте ”Use Output Window” и снимите галочку с пункта “Prompt for arguments” как показано на нижеприведенном рисунке.
4. Теперь ведите “Command”. Там будет необходимо указать путь к “avrdude.exe” – его вы можете найти в папке где установлена WinAvr. Просто найдите “WinAVR-20100110” на диске “C” вашего компьютера – куда вы устанавливали WinAvr.
5. Введите аргументы. Это самый важный шаг в этой последовательности действий поскольку от них будет во многом зависеть корректность работы приложения. Поскольку в рассматриваемом нами случае мы используем внешние инструментальные средства, то можно ввести следующие аргументы:
6. Больше аргументов можно найти по этой ссылке.
7. Введите аргументы в поле для ввода аргументов. Оставьте поле “Initial directory (Начальный директорий)” без изменений.
8. После заполнения всех полей нажмите “Apply” и затем “Ok”.
В результате этих шагов вы сможете использовать внешние инструментальные средства чтобы загружать программы в микроконтроллер. Проверим это с помощью тестового проекта (программы) “blink.c”. Файл main.c вы можете найти в конце этой статьи. Теперь скопируйте main.c в Atmel studio.
Заключение
Начало работы с устройствами AVR может показаться несколько сложным, если вы не используете официальный программатор, который может работать «из коробки» с Atmel Studio 7. Однако в инструментах программирования требуется определить только одну командную строку (тип устройства, биты и т.п.). И все будущие проекты могут использовать один и тот же инструмент/компилятор, который нужно настроить только один раз.
Т.е. следующий проект ATMEGA168, который вы будете делать, сможет использовать тот же компилятор и внешний инструмент, что и в этом проекте и не потребуется никаких дополнительных настроек. Конечно, в более сложных проектах может потребоваться замена бит (англ. fuse), например, но в данном материале я хотел просто помочь вам освоить работу с устройствами AVR.