Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4

в 10:17, , рубрики: arduino, atmel, diy или сделай сам, Процессоры, Электроника для начинающих

У меня есть четкая ассоциация компании Atmel и супер-успешных контроллеров Atmega. Когда речь идет о чем-то немного более мощном, о следующей ступени, я сразу думаю о stm32. Но совсем недавно мне удалось проверить на деле микроконтроллеры от Atmel SAM4S на базе ARM Cortex-M4. Это отличный вариант для перехода с Arduino, подумал я. У меня оказался не просто голый микроконтроллер, а отладочная плата Sam4S EK rev8. Для прошивки я использовал программатор SAM-ICE. Мой вариант «Hello world!» или «Blink» под катом.

Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4 - 1

Компания Atmel, на мой взгляд, запоздала с входом в сегмент ARM-микроконтроллеров, здесь уже достаточно прочно обосновалась ST с контроллерами STM32. Я решил сравнить продукты от Atmel и ST.

Общие характеристики отладочной платы:

В плату впаян микроконтроллер ATSAM4S16C:

  • ядро Cortex-M4, 120МГц, с поддержкой DSP-инструкций
  • 1Мб Flash-памяти
  • 128Кб SRAM

периферия:

  • 4хUART
  • 3xSPI
  • 2xI2C
  • 1xUSB 2.0
  • 1хI2S
  • 1 интерфейс для карт памяти SDIO/SD/MMC
  • PWM: 4 канала, 16 бит
  • АЦП: 16 каналов, 12 бит
  • аналоговый компаратор
  • ЦАП: 2 канала, 12 бит
  • DMA: 24 канала

Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4 - 2

Datasheet. На самой отладочной плате видим следующее:

на штырьковые разъёмы (с шагом 2.54) выведены все выводы микроконтроллера (что не может не радовать). Кроме этого на плате:

  • 2 порта RS232
  • разъём RS485
  • разъём microSD карты памяти
  • порт для подключения ZigBee-модуля
  • 2.8" LCD 320x240 на контроллере ILI9325 с резистивным сенсором
  • два BNC разъёма, один из них подключён к АЦП, второй к ЦАП.
  • встроенный микрофон
  • microUSB разъём (USB FS Device)
  • впаяна память NAND Flash 29F2G08ABAEA (256Мб)
  • сенсорные кнопки (Atmel QTouch), со слайдером
  • две пользовательские кнопки+кнопка сброса
  • энкодер, подключённый к АЦП микроконтрллера
  • JTAG-порт для подключения к SAM-ICE
  • mini jack для наушников + вывод для подключения динамика

Сравнение Atmel ARM с STM32

Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4 - 3
Цены в рублях STM32-691 и Atmel ARM-848 рублей.

IDE

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

Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4 - 4

Вместе со средой разработки будут доступны порядка 1600 примеров, среди которых примеры для рассматриваемой платы SAM4S-EK (работа с периферией, использование DSP, FatFS, FreeRTOS и т.д.).

Попробуем загрузить один из скриптов из примеров. New -> Project ->Example projects

Atmel ARM в DIY?! «Hello world» в Atmel Studio для Cortex M4 - 5

Итак, после редактирования кода

Build > Build Solution, если нет ошибок все соберется, затем Debug > Start Without Debugging

Все ожидаемо работает.

Вывод

Сама плата, как ни странно, оправдала мои ожидания. Это хороший вариант для перехода с Arduino, так как позволяет быстро импортировать скетчи из Arduino IDE в полноценные C++ проекты. Без пайки можно продумать устройство и написать скрипт, затем развести плату и на нее разместить микроконтроллер, это компактнее и производительнее. Соглашусь, что отладочная плата дорогая, но платить за нее нужно один раз, плюс есть альтернатива за 450 руб. SAM D10 Xplained Mini.

Вопрос в тему

Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках? В основном же идут разные NEC, STM, SIEMENS, FS и подобное?

Зачем это нужно?

Совместно с другими пользователями GeekTimes мы разрабатываем фитнес-трекер для ударных видов спорта и пытаемся разработать все возможные варианты, чтобы потом в конечном устройстве учесть все наработки.

Автор: webzuweb

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js