8-900-374-94-44
[email protected]
Slide Image
Меню

Atmel software framework что это: как это работает? / Блог компании Rainbow / Хабр

Содержание

Что такое ASF Atmel? | avr

ASF переводится как Atmel Software Framework — рабочее окружение для разработки firmware микроконтроллеров от Atmel. По сути это дополнение к традиционным тулчейнам, таким как AVR-GCC toolchain (WinAVR, Atmel GCC toolchain), IAR.

На рисунке показана базовая структура ASF. Возможно, что некоторые разработчики, пользователи продукции Atmel, уже знакомы с ASF по предыдущим релизам Atmel Studio, когда поддерживались только микроконтроллеры AVR. Однако Atmel постоянно развивает свои программные инструменты, и сейчас ASF поддерживает также микроконтроллеры Atmel, базирующиеся на ядре ARM. ASF включает в себя высококачественные программные библиотеки с драйверами, стеками протоколов для обмена данными, и сервисами общего назначения. Это предоставляет новый уровень абстракции для аппаратуры и высокоуровневого встраиваемого программного обеспечения.

Фреймворк интегрирован с Atmel Studio, или также доступен отдельно как отдельный пакет для компиляторов GCC и IAR. ASF разработан с ориентировкой на высокое качество и удобство использования, так что пользователь ASF может безопасно разрабатывать и поставлять свой продукт с использованием ASF в финальной версии своих изделий. Любой может бесплатно загрузить и использовать ASF. Вместе с ASF упрощается миграция приложений между разными микроконтроллерами Atmel, и разработка смешанных 8- и 32-битных приложений. Фактически ASF применим к трем сотням типов микроконтроллеров, включая Atmel ARM на базе ядра Cortex-M, AVR UC3, AVR XMEGA, как для компилятора GNU GCC, так и для компилятора IAR.

Ранее, до появления программных библиотек наподобие ASF, инженер перед началом разработки искал в Интернете документацию и апноуты в виде файлов PDF (где содержались руководства) и ZIP-архивов (где находились примеры кода).

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

С приходом ASF условия игры поменялись. ASF организует свыше 1100 примеров разработок в удобную иерархию с открытым API, что обеспечивает упрощенное портирование между отдельными микроконтроллерами. Кодовая база распределена на 4 простых для использования уровня: ASF services, ASF components, ASF drivers, ASF boards.

[ASF services]

На самом верхнем уровне содержатся продвинутые службы (Services), такие как библиотека QTouch (для емкостных сенсоров-кнопок, слайдеров и устройств ввода на базе энкодеров), стек ZigBee, стек USB, стеки и профили Bluetooth, полная поддержка стеков Ethernet и Wi-FI, графические библиотеки, графический интерфейс с пользователем (GUI), службы ввода/вывода звука и многое другое.

[ASF components]

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

LCD. На этом уровне ASF получает от дистрибьюторов железа и микросхем специальные драйверы, поддерживающие особенности конкретной аппаратуры.

[ASF drivers]

Под уровнем компонентов расположен набор стандартных драйверов периферии, этот уровень часто называют уровнем абстракции аппаратуры (HAL, hardware abstraction level). Этот уровень называется ASF drivers, он предоставляет общее API для широкого набора доступных микроконтроллеров, что делает возможным портирование компонентов слоев ASF services и ASF components между различными типами устройств (микроконтроллеров). Atmel предоставляет различные виды драйверов периферии чипа, работающих как по принципу опроса (polling), так и на основе прерываний, а также полностью автоматические на базе использования встроенного в чип контроллера DMA.

[ASF boards]

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

[Какие возможности предоставляет ASF]

• ASF на базе Atmel Studio включает в себя более 1100 рабочих примеров дизайна.
• Поддерживает как микроконтроллеры AVR, так и ARM.
• Иерархия построена на безе общего открытого API.
• ASF специально разработан с учетом упрощения портируемости проектов между различными типами микроконтроллеров.
• ASF организован в виде 4 уровней, простых для использования.
• Верхний уровень ASF services содержит все продвинутые службы.

• Второй уровень ASF components содержит драйверы для внешних аппаратных компонентов, и он открыт для сторонних производителей чипов и устройств. Вендоры и производители могут сами разрабатывать драйверы для этого уровня.
• Третий уровень ASF drivers содержит стандартный набор для поддержки периферийных устройств микроконтроллера (HAL).
• Нижний уровень ASF boards предназначен для адаптации микроконтроллера к конкретной целевой задачи, в которой работает микроконтроллер.

В целом ASF представляет собой высококачественную программную библиотеку с драйверами, стеками протоколов и общими службами. ASF теперь поддерживает процессоры AVR и ARM от Atmel. Библиотека разработана и поддерживается квалифицированными инженерами Atmel, и может использоваться потребителями продукции Atmel как для разработки, так и в конечных рабочих изделиях. В результате пользователь ASF может безопасно и без денежных выплат интегрировать код ASF в свой конечный продукт.

[Как работать с ASF]

Удобнее всего загрузить и установить ASF в составе Atmel Studio 6.2 или более новой версии. Эта среда разработки интегрирует в себя ASF, и предоставляет для него средство получения обновлений. К сожалению, Atmel Studio очень требовательна к ресурсам (к примеру, на компьютере AMD Athlon 64 X2 Dual Core 5000+ 2.61 ГГц, с 2 гигабайтами ОЗУ сильно тормозит).

ASF для IAR и GCC можно скачать и использовать отдельно от Atmel Studio. Вот к примеру прямая ссылка на закачку AVR Software Framework 3.7.3.69: asf-standalone-archive-3.7.3.69.zip.

[Ссылки]

1. Atmel Software Framework (ASF) site:dkc1.digikey.com.

2. Atmel AVR4029: Atmel Software Framework User Guide site:atmel.com.
3. Atmel AVR32852: Building Custom Application using ASF Example Projects site:atmel.com.
4. Atmel AVR4030: Atmel Software Framework — Reference Manual site:atmel.com.

Страница не найдена

Тактовая частота, МГц

от

до

Блок арифметики с плавающей точкой (FPU) не важно да нет

Поддержка DSP-инструкций не важно

да нет

Графический ускоритель, аппаратное декодирование видео не важно да нет

Блок управления памятью (MMU) не важно

да нет

Каналы DMA

от

до

Блок защиты памяти (MPU) не важно да нет

Аппаратный блок шифрования не важно да нет

Пример решения беспроводного соединения точка-точка в Sub-GHz диапазоне по технологии LoRa с применяем SiP ATSAMR34 и ATSAMR35 от Microchip.

LoRa — это технология беспроводной передачи данных, ориентированная на M2M применения с батарейным питанием для передачи данных на дальние (до 15 км) расстояния при минимальном потреблении электроэнергии, обеспечивающем несколько лет автономной работы от одного источника питания. Она обладает высокой чувствительностью до -148 дБм и использует основанную на технологии расширения спектра линейную частотную модуляцию CSS.
SiP ATSAMR34 и ATSAMR35 от Microchip позволяют организовать соединение по схеме точка-точка между двумя устройствами там, где глобальная инфраструктура LoraWAN не требуется. Бюджет up-link линии предлагает улучшение до -30 дБ по сравнению с FSK модуляцией для уменьшения помех в соседних каналах что обеспечивает энергопотребление в семь раз ниже и минимизирует эксплуатационные расходы. Это позволяет использовать LoRa в очень широком диапазоне применений P2P: управление заслонками и гаражными воротами, промышленными интеллектуальными датчиками, системами сигнализаций, интеллектуальным сельским хозяйством, решением умный дом.
Для демонстрации P2P соединения с использованием модуляции LoRa потребуется два отладочных комплекта ATSAMR34 Xplained Pro (DM320111). Комплект разработчика ATSAMR34 Xplained Pro evaluation kit (DM320111) — это аппаратная платформа, используемая для оценки микросхемы ATSAMR34. Набор комплекта разработчика Xplained Pro MCU включает встроенный отладчик (EDBG), не требующий дополнительных инструментов необходимых для того чтобы запрограммировать или отладить SIP ATSAMR34. Комплект разработчика предлагает набор функций, позволяющих сразу же начать работу с периферийными устройствами ATSAMR34 Low Power LoRa Sub-GHz SiP и интегрировать их свой дизайн. Комплект ATSAMR34 Xplained Pro содержит следующие одну плату ATSAMR34 Xplained Pro и одну внешняя антенна. Для организации простого LoRa P2P соединения требуется 2 отладочных комплекта.
Руководство по разработке и исходный код для реализации соединения точка-точка можно скачать по следующей ссылке: https://github.com/gd91/atsamr34_lora_p2p_simple_app
Используемое программное обеспечение:
IDE Atmel Studio 7. 0: https://www.microchip.com/mplab/avr-support/atmel-studio-7
Расширение ASFv3 в Atmel Studio
ПО последовательного терминала TERA Term : https://osdn.net/projects/ttssh3/releases/
ASFv3 В3.44.0 версии или выше: https://www.microchip.com/mplab/avr-support/advanced-software-framework
Основные преимущества использования SiP ATSAMR34 и ATSAMR35 в дизайнах P2P точка:
  • Минимальный размер:
o Встроенный 32-разрядный ARM MCU и Sub-GHz радио
o До 256 КБ флэш-памяти и 40 КБ оперативной памяти
o Компактный BGA корпус 6×6 мм
  • Увеличенный срок службы элементов питания:
o Ультранизкое энергопотреблением 32-битных ARM-MCU Cortex
o Ток потребления в режиме сна 790 нА
o Низко потребляющее ОЗУ с резервной батареей питания
  • Снижение рисков при создании новых разработок:
o Сертифицированный LoRa Alliance комплект разработчика
o Проверенное на совместимость ПО
o Готовый пример разработки

Более подробно с микросхемами ATSAMR34 и ATSAMR35 можно ознакомиться на сайте производителя: https://www. microchip.com/design-centers/wireless-connectivity/low-power-wide-area-networks/lora-technology/sam-r34-r35

Для заказа образцов ATSAMR34 и ATSAMR35 и комплектов для разработки ATSAMR34 Xplained Pro (DM320111), а также получения более подробной информацию о продукции просим обращаться в любой офис нашей компании или по электронной почте.

Что такое файл ASF? — gadgetshelp,com

Файл с ASF расширение файла представляет собой файл формата Advanced Systems , разработанный Microsoft , который обычно используется для передачи потокового аудио и видео данных. Файл ASF также может содержать метаданные, такие как заголовок, данные автора, рейтинг и описание.

Структура аудио- или видеоданных понимается файлом ASF, но не определяет метод кодирования. Однако WMA и WMV — это два наиболее распространенных вида данных, которые хранятся в контейнере ASF, поэтому файлы ASF чаще всего встречаются с одним из этих расширений файлов.

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

Как открыть файл ASF

Воспроизведите файл ASF с помощью проигрывателя Windows Media, VLC , PotPlayer , Winamp , GOM Player, MediaPlayerLite и, возможно, нескольких других бесплатных мультимедийных проигрывателей.

Избегайте смешения файлов ASF и ASX. Последний является файлом перенаправителя Microsoft ASF, который является просто списком воспроизведения / ярлыком для одного или нескольких файлов ASF (или некоторого другого медиа-файла). Скорее всего, вы можете открыть файл ASX так же, как файл ASF, поскольку некоторые мультимедийные проигрыватели поддерживают формат списка воспроизведения, но вы не можете рассматривать файл ASX как ASF; это просто ярлык к настоящему файлу ASF.

Как конвертировать файл ASF

Например, если вам нужен файл ASF в формате MP4 , WMV, MOV или AVI , рассмотрите возможность использования Any Video Converter или Avidemux .

Zamzar — это один из способов конвертировать ASF в MP4 на Mac или любой другой операционной системе . Просто загрузите файл ASF на веб-сайт Zamzar и выберите его для преобразования в MP4 или любой другой поддерживаемый формат, например 3G2, 3GP , AAC , AC3 , AVI, FLAC , FLV , MOV, MP3 , MPG , OGG , WAV , WMV и т. Д.

Дополнительная информация о файлах ASF

ASF ранее был известен как активный потоковый формат и расширенный потоковый формат.

Несколько независимых или зависимых аудио / видео потоков могут быть включены в файл ASF, включая несколько потоков битрейта, что полезно для сетей с различной пропускной способностью . Формат файла также может хранить веб-страницу, сценарии и текстовые потоки.

Есть три раздела, или объекты, которые содержатся в файле ASF:

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

Когда файл ASF передается через Интернет, его не нужно полностью загружать, прежде чем его можно будет просмотреть. Вместо этого, как только определенное количество байтов было загружено (по крайней мере, заголовок и один объект данных), файл может быть передан в потоковом режиме, поскольку остальное загружается в фоновом режиме.

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

Все еще не можете открыть файл?

Первое, что нужно проверить, если ваш файл не открывается ни в одной из программ, упомянутых выше, — это расширение файла. Убедитесь, что он на самом деле читает .ASF, а не что-то подобное.

Например, AFS — это расширение файла для файлов проекта фундамента STAAD, созданных с помощью программного обеспечения Bentley Systems STAAD Foundation Advanced CAD версии 6 и более ранних. Хотя используются те же буквы расширения файлов, они не имеют ничего общего с форматом файлов Microsoft ASF.

То же самое верно и для других форматов файлов, таких как Street Atlas USA Map, Secure Audio, SafeText и McAfee Fortress. Все эти форматы файлов используют расширение файла SAF и относятся (в основном) к прекращенному программному обеспечению.

Файлы шаблонов электронных таблиц возможностей ( AST ) используют две из трех букв расширения, которые есть в файлах ASF, но они также не связаны.

[PDF] обзор новой линейки микроконтроллеров SAMG с

Download обзор новой линейки микроконтроллеров SAMG с…

16

микроконтроллеры

Обзор новой линейки микроконтроллеров SAMG с ядром ARM Cortex-M4F от компании Atmel

Дмитрий Сазанов [email protected]

Введение В современном мире коммуникаций разнообразные датчики используются повсеместно. Если ранее они предназначались только для простого мониторинга, то сейчас задачи обработки данных с датчиков смещаются в сторону анализа состояния и положения устройств, что предполагает одновременный и совместный анализ данных с нескольких разнотипных датчиков. В частности, с датчиков движения: акселерометров, гироскопов, магнитометров; датчиков состояния окружающей среды: яркости и цвета освещения, температуры, давления и влажности. А также с других датчиков и контроллеров сенсорных интерфейсов. Для удовлетворения таких потребностей компания Atmel в сотрудничестве с лидерами рынка изготовления датчиков создала решение под общим названием Sensor Hub, которое совмещает технологии низкого энергопотребления компании Atmel и опыт производителей датчиков, чтобы разработчик мог получить точные данные в реальном времени для контекстной реакции устройств на внешние воздействия при минимальном энергопотреблении. Такие системы уместны в носимой электронике: ультрабуках, планшетах, смартфонах, устройствах с IoT (Internet of Things — Интернет вещей), а также в игрушках и других подобных применениях. Эти микросхемы находят свое место и в иных приложения, где необходимы сбор и первичная обработка информации или требуются компактные корпуса, в том числе и в задачах с сетевым питанием.

В современных мобильных устройствах устанавливают все большее количество разнообразных датчиков. Наличие в смартфонах и планшетах акселерометра, гироскопа и датчика освещенности уже давно является стандартным. Но многие производители к этому базовому списку добавляют довольно неожиданные датчики, например датчики влажности, а обработку данных с них поручают отдельному устройству. Подобные устройства компания Atmel сводит в группу под названием Sensor Hub. Одним из представителей таких приборов является линейка SAMG, краткий обзор которой дан в статье.

Решения Atmel Sensor Hub включают как законченные устройства со встроенной микропрограммой, так и продукты с пользовательской микропрограммой. Это быстро набирающая популярность линейка SAMD на базе ядра ARM Cortex-M0+ и недавно вышедшая линейка микроконтроллеров SAMG на базе ядра ARM Cortex-M4F со встроенным модулем FPU, наряду с DSP-инструкциями ядра Cortex-M4, доступное в сверхмалых корпусах WLCSP49. По замыслу инженеров компании Atmel само решение Sensor Hub включает не только кристалл, в том числе беспроводные решения и доступные для OEM-производителей контроллеры сенсорных экранов, но и другие элементы экосистемы разработки Atmel. Со стороны ПО это среда разработки Atmel Studio вкупе с библиотекой Atmel Software Framework, а со стороны аппаратной части — оценочные решения Xplained Pro. Вместе они создают платформу для простой и быстрой разработки приложений.

Особенности линейки SAMG На текущий момент линейка состоит из двух семейств: SAMG51 и SAMG53. Оба семейства доступны в удобном для пайки корпусе QFP100 и актуальном для носимых применений благодаря малому размеру корпуса WLCSP49 — 33 мм. Микроконтроллеры линейки SAMG имеют широкие коммуникационные возможности для такого размера, хорошую аналоговую часть и низкое энергопотребление. Основные отличия между SAMG51 и  SAMG53  заключаются в  объеме флэш-памяти, наличии функционала

Таблица. Сравнение характеристик семейств SAMG Параметр

SAMG51

SAMG53

FPU Макс. частота, МГц Напряжение питания, В SRAM, кбайт FLASH, кбайт SleepWalking DMAC EVSYS USART/UART I2C Master I2C Slave SPI I2S PDM

+ 48 1,62–2 64 256 – 18 каналов 3 канала 1+2 2 при 400 кбит/с 1 при 3,4 Мбит/с 1 при 24 Мбит/с – – 3×16-битный +   1×32-битный 8×12 бит, 800 ksps WLCSP49, QFP100

+ 48 1,62–3,6 96 512 + 28 каналов 3 канала 2+2 2 при 400 кбит/с 1 при 3,4 Мбит/с 1 при 24 Мбит/с 2 2 6×16-битный +   1×32-битный 8×2 бит, 800 ksps WLCSP49, QFP100

TC/RTT АЦП Корпус

SleepWalking, максимальном напряжении питания, количестве каналов DMA и наличии некоторых коммуникационных интерфейсов (таблица). Как уже говорилось, новая линейка SAMG построена на базе процессорного ядра ARM Cortex-M4F, которое является развитием Cortex-M3. Ядро Cortex-M4 получило ряд инструкций DSP, а в Cortex-M4F дополнительно установлен модуль вычислений с плавающей точкой (FPU), что делает его применимым для сравнительно сложных вычислений при обработке данных, полученных с датчиков перед отправкой в центральное устройство. Базовая производительность, заявленная компанией ARM, составляет 3,4 CoreMark/МГц. Соответственно, поскольку ядро стало сложнее, немного увеличилась площадь кристалла и незначительно выросло его энергопотребление по сравнению с ARM Cortex-M3.

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 ‘2014

микроконтроллеры

17

Рис. 1. Блок-схема микроконтроллера SAMG53

Периферия Микроконтроллеры линейки SAMG оснащены богатым набором периферии, особенно если учитывать размеры корпуса WLCSP49. Микроконтроллер имеет 28 линий ввода/вывода, содержит шесть 16‑битных таймеров‑счетчиков и один 32‑разрядный таймер реального времени RTT. Для снижения нагрузки на ядро и в целях энергосбережения установлены контроллер DMA на 28 каналов и система событий на 3 канала. В младшем семействе снижено количество каналов DMA и отсутствует система событий. Система тактирования разбита на два основных домена: медленный и  быстрый. Последний имеет функционал определения сбоев тактирования. Оба домена могут тактироваться как от внешних резонаторов, так и от внутренних RC-генераторов. Также присутствует PLL, источником тактирования которого выступает медленный домен. В старших микросхемах, SAMG53 (рис. 1), для коммуникации можно задействовать следующие коммуникационные модули: • быстрый, до 24 Mбит/с SPI; • I2C: два master на 400 кбит/с и один slave на 3,4 Мбит/с; • I2S, два канала; • USART + SPI; • 2UART; • PDM с возможностью подключения двух микрофонов. В младшем семействе отсутствует  I 2 S и PDM, остальная коммуникационная периферия установлена. Аналоговая часть представлена восьмиканальным АЦП с разрешением до 12 бит

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 ‘2014

и с частотой оцифровки до 800 000 отсчетов в секунду. Модуль поддерживает DMA, систему событий и логику сравнения. Также модуль имеет оптимизированное энергопотребление и быстро выходит из сна.

Энергопотребление Поскольку данные семейства в первую очередь ориентированы на батарейное питание, энергосбережению уделено существенное внимание. В частности, в старшем семействе применены следующие решения. Технология SleepWalking для трех коммуникационных модулей, модуль DMA с большим количество каналов и система событий, охватывающая три периферийных модуля: АЦП и два таймера. Эти три решения позволяют значительно снизить количество пробуждений ядра. Производительное ядро, быстро выходящее из режимов энергосбережения, снижает необходимое время своей работы, а малопотребляющие источники тактирования и оптимизированная периферия сокращают энергопотребление периферии. В частности, АЦП потребляет 360 мкА в активном режиме и 2 мкА в режиме ожидания, при этом время пробуждения заявлено равным 5 мкс. Само ядро потребляет от 100 мкА/МГц в работе и от 7 мкА в режиме энергосбережения и выходит из сна за 3 мкс. Также нужно отметить, что существует возможность выбирать количество обновляемой памяти SRAM и вся периферия, ядро и функционал самопрограммирования флэш-памяти функционируют на минимальном напряжении в 1,7 В.

Средства разработки Для работы со всем ассортиментом микроконтроллеров Atmel, включая SAMG, компания предлагает свою бесплатную интегральную среду разработки Atmel Studio. Среда ориентирована на полный цикл разработки и отладки приложений на языке C/C++ и языке ассемблера для 8‑ и 32‑битных микроконтроллеров Atmel AVR, беспроводных SoC Atmel SAMR и линеек микроконтроллеров SAM3, SAM4, SAMD и SAMG с ядром ARM Cortex-M. Поддержка рассматриваемого семейства введена в среду разработки начиная с версии 6.2. В состав среды включены следующие компоненты: • Atmel Software Framework (ASF). • C/C++ компилятор GCC с поддержкой командной строки для микроконтроллеров с ядром AVR и ARM. • Дебаггер с расширенным функционалом. • Редактор с подсветкой синтаксиса. • Extension Manager — менеджер расширений для Atmel Studio. • Atmel QTouch Composer — набор средств для разработки и отладки сенсорных интерфейсов. • Wireless Composer — средства для отладки беспроводных приложений. • Atmel Spaces — облачный защищенный сервис для обмена проектами с функционалом репозитория. ASF также доступна в виде библиотеки для среды разработки Embedded Workbench от компании IAR. В качестве аппаратных средств отладки для своих продуктов Atmel предлагает внутрисхемные отладчики ATMEL-ICE и AT91SAM-ICE (рис. 2). Первый ориентиwww.kite.ru

18

микроконтроллеры

Рис. 3. Оценочная плата ATSAMG53‑XPRO

Рис. 2. Аппаратные средства отладки

рован на работу с устройствами на базе ядер AVR и ARM Cortex-M. AT91SAM-ICE является клоном популярнейшего внутрисхемного отладчика J‑Link от компании Segger и ориентирован на работу с ядрами ARM7, ARM9 и ARM Cortex-A5. Для ускоренного освоения новых микроконтроллеров предлагаются новые недорогие оценочные наборы серии XPlained Pro на базе SAMG53 (рис. 3). Как и другие платы данной серии, они имеют реализованный на дополнительном микроконтроллере внутрисхемный отладчик на плате и опциональные модули расширения: • ATPROTO1‑XPRO — макетное поле; • ATIO1‑XPRO — плата с датчиками и microSD-слотом; • ATOLED1‑XPRO — плата с OLED-графическим индикатором; • ATEPD-XPRO — контроллер E‑INK-дисплея.

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

Заключение Экосистема Sensor Hub, включающая как средства сбора информации, в том числе семейство SAMG, так и программные продукты и средства отладки, упрощает разработку подсистем сбора информации в задачах, критичных к энергопотреблению, в частности, в различных мобильных устройствах. Микроконтроллеры линейки SAMG, имеющие до десяти коммуникационных интерфейсов, АЦП, ядро ARM Cortex-M4F, различные механизмы энергосбережения и упакованные в сверхмалые корпуса размером 33 мм, являются крайне интересным продуктом, применимым как в качестве устройства в рамках Sensor Hub, так и для других задач, в том числе и задач общего назначения. n

КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 ‘2014

), который описывает поведение при загрузке SAM3X на стр. 33. При запуске бит GPNVM (2) выбирает, какой флэш-банк отражается в загрузочной памяти. На SAM3X нет никакого реального перераспределения (но на других контроллерах, как описано на стр. 34). Я сейчас написал небольшой загрузчик, который мигает с bank1 до bank0, если требуется.

тоящее время я работаю с платой Arduino Due, в которую встроен процессор Atmel SAM3X8E. Я программирую его с помощью Atmel Studio (версия 7.0.1645) и предоставленной Atmel Software Framework (версия 3.28.1). Цель программы, работающей на SAM, — получить функциональность перепрограммирования. Поэтому программа получает изображение с хост-компьютера, мигает его блок за блоком в неиспользованном банке флэш-памяти и проверяет изображение. Все это работает нормально, но я сталкиваюсь с той же проблемой, что и этот пост (Коммутатор Atmel SAM3X с двумя банками не работает).

Atmel SAM3X8E имеет два флэш-банка по 256 КБ, Flash0 и Flash2. Мое приложение легко помещается во Flash0 и программирует полученное изображение на Flash2. Моя идея заключается в использовании функций SAM3X для загрузки из другого флэш-банка (по умолчанию Flash0). На странице 35 таблицы данных SAM3X указано, что биты GPNVM можно использовать не только для выбора загрузочной памяти (ROM или Flash), но и для выбора банка для загрузки (Flash0 или Flash2). Если GPNVM2 установлен, микроконтроллер будет загружаться с Flash2. Это достигается путем переназначения макета памяти. Поэтому, если GPNVM2 установлен, Flash2 отображается по адресу 0x0008_0000 (в то время как Flash2 и Flash0 непрерывны). Если GPNVM2 очищен, Flash0 отображается по адресу 0x0008_0000 (теперь Flash0 и Flash2 непрерывны).

То, что я сделал, это манипулировал битом GPNVM2 перед перезагрузкой процессора, но он не работал (память не была перераспределена должным образом). Я также играл с вариантами Atmel Studio. Atmel Studio может запрограммировать приложение для Bank0 или Bank1, используя «Параметры проекта» -> «Инструмент» -> «Настройки программы». Я пытался запрограммировать свое приложение с этими настройками на Bank1. Это возможно только в том случае, если установлен флажок «Переопределить регистр смещения таблицы векторов (таблица исключений)» и если устройство запрограммировано с помощью «Начать отладку». Если устройство запрограммировано с помощью «Пуск без отладки», оно вообще не загружается, чтобы загрузить его (помните, что приложение было перепрошено на Bank1, если переназначение прошло успешно, Bank1 должен быть расположен по адресу 0x0008_0000, где изначально Bank0 сопоставлен с ) Мне пришлось вручную изменить биты GPNVM (используя «Инструменты» -> «Программирование устройства»), чтобы «загрузить из банка0». Тогда это сработало.

Описанное поведение научило меня, что я, должно быть, упустил возможность манипулировать некоторыми регистрами. Очевидно, что «Регистр смещения таблицы векторов переопределения (exception_table)» важен, поэтому я также установил «Регистр таблицы смещения векторов (VTOR)» в качестве начального адреса Flash2, который тоже не помог. У меня такое ощущение, что я пропускаю некоторые функции или регистрирую, что мне нужно вызывать / манипулировать.

Чтобы перепрограммировать процессор, обычно необходимо запустить какой-то загрузчик, которого я надеялся избежать, используя механизм переключения банков. У кого-нибудь есть опыт переключения банков с использованием функций ASF или вообще о переключении банков на SAM3X?

Заранее спасибо!

Libopencm3 cmsis

libOpenCM3¶. framework = libopencm3. The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.Embedded ARM Part 0: STM32 programming with libopencm3 Tue, Sep 11, 2018 Companion code for this post available on Github. For many years now, I have found myself building (admittedly small) electronics projects, and for almost all of that time I have found myself reaching for the same microcontroller: the humble Atmega 328p that powers so many Arduinos (and Arduino clones!).

Apr 09, 2017 · This template works for any Cortex-M microcontroller and paired with the svd2rust code generator [3] you can easily get full device support (register level API) for any microcontroller for which the vendor has released a CMSIS-SVD file [4]. There’s a database of such files in this repo. Jun 12, 2020 · The last time I used my Arduino MKR WIFI 1010 was way back when I wrote a blog about SWD Debugging the Arduino MKR-WiFi-1010 with Atmel ICE.I was at least kind enough to leave myself a note that once the Microchip Atmel Ice was used, the bootloader would need to be burned again to program the board over the serial port.

I couldnt explain well I suppose. Now I m gonna try to explain better. I opened the stm32cubemx ,I altered one of series stm32f1but I dont remember my uC all device’s name anyway.I enabled Can protocol and I saw master under the CAN .Also I altered Stm32f407vg and I have two options CAN1 and CAN2 and CAN2 is slave .so I mean what does that mean and Can I communicate Stmf1 to stmf1.According to … At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it.

LPC2388のCMSIS化計画(1) guidude: Arduinoに任意のHEXファイルを書き込む。 AVRライタ不要 2012/05-2020/11 by audin (11/02) guidude: Arduinoに任意のHEXファイルを書き込む。 Библиотека CMSIS для ARM Cortex-M0, она находится в архиве STM32CubeFx, разбитом по версиям ядра.Сам архив, помимо CMSIS, содержит великое множество других ресурсов начиная от примеров работы с периферией до драйверов USB, собственно …

May 30, 2018 · As an approach this makes sense, but I would love to see more discussion of the merits of various frameworks (it briefly mentions CMSIS & libopencm3) and of modern IDE based tools like STM32CubeIDE or PlatformIO. Official PlatformIO IDE for IoT, Arduino, ARM mbed, Espressif (ESP8266/ESP32), STM32, PIC32, nRF51/nRF52, FPGA, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3

ASF ARM Учебное пособие | Введение в программный фреймворк Atmel

Дом Программное обеспечение Атмель Asf Arm Учебник

Создано: 19 Апреля 2016

Часть 1 руководства ASF ARM

В этом руководстве показано, как использовать ASF или Atmel Software Framework в Atmel Studio 7 для микроконтроллеров ARM Cortex.

Atmel Software Framework — это набор программных компонентов для микроконтроллеров Atmel Flash, написанных на языке программирования C.ASF включает программные драйверы, библиотеки и примеры проектов, которые упрощают разработку микроконтроллеров Atmel. Разработчикам встроенных программ не нужно начинать проект программного обеспечения микроконтроллера полностью с нуля и создавать функции драйверов и другие утилиты, но они могут использовать драйверы и утилиты ASF, которые уже написаны и протестированы.

Оборудование, используемое в этом учебном пособии ASF ARM

Для выполнения этого руководства можно использовать любую плату микроконтроллера Atmel ARM Cortex, даже специальную плату.ASF доступен для микроконтроллеров AVR и ARM; полный список поддерживаемых микроконтроллеров можно найти на сайте Atmel.

Все проекты ASF в этой серии руководств были разработаны и протестированы с использованием Atmel Studio 7 и выполняются на плате Atmel SAM4N Xplained Pro (номер детали ATSAM4N-XPRO), которая содержит микроконтроллер на базе ATSAM4N16C ARM Cortex-M4. Если вы используете другую плату, вам нужно будет внести незначительные изменения в примеры при выборе платы и микроконтроллера в каждом проекте.

Оценочная плата Atmel SAM4N Xplained Pro

Получение программной среды Atmel

ASF устанавливается вместе с Atmel Studio, поэтому нет необходимости устанавливать его отдельно. В этом руководстве ASF используется только в Atmel Studio.

ASF доступен как отдельный пакет, но не загружайте этот пакет для использования с этим руководством, просто установите Atmel Studio.

Структура ASF

ASF обычно отображается в виде слоев, как показано на следующем рисунке.

Расположение слоев ASF

Далее следует краткое описание каждого слоя, но оно станет более понятным, когда они будут использованы в проекте.

  • Приложения — пользовательское приложение или примеры приложений, которые используют базовые модули ASF.
  • Services — программные услуги, такие как классы USB, файловая система FAT, библиотека DSP и т. Д.
  • Компоненты — драйверы, которые обращаются к внешнему оборудованию .
  • Драйверы — драйверы низкого уровня, которые обращаются к аппаратному обеспечению микроконтроллера на кристалле.
  • Платы — определения оборудования для используемой платы, например частота тактового кристалла, определение контактов для UART, светодиодов и т. д.
  • Утилиты — файлы сценариев компоновщика, общие файлы для системы сборки, общие определения, макросы и функции.

Далее в этом руководстве Серия

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

Atmel AVR Software Framework позволяет вам стать на плечи программных гигантов

Программный фреймворк Atmel AVR позволяет вам стать на плечи программных гигантов

Большая библиотека исходного кода, которая сократит месяцы проектирования с использованием микроконтроллера Atmel AVR, программная среда Atmel AVR Software Framework содержит обширный объем исходного кода, аккуратно организованный в пять уровней, и завершает его более чем 500 примерами приложений

BY HAAKON SKAR
Директор по микроконтроллерам AVR, Atmel
www.atmel.com

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

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

Зачем изобретать программное колесо?

Зачем изобретать велосипед? Просто представьте себе такой товар, как драйвер связи для USB, Ethernet или Wi-Fi. Независимо от того, сколько ночей и рабочих выходных вы вложите в этот код, готов поспорить, на миллион долларов конечный пользователь не будет подключать кабель и произносить: «Ого, посмотрите, как все эти данные проходят через USB-кабель. .«Он не будет, потому что он, очевидно, не может видеть эти данные. Кроме того, он будет слишком занят поиском каких-то кнопок. Для конечного пользователя коммуникационный драйвер может быть классифицирован только как «не работает», что заставит пользователя ненавидеть продукт, или «работает», что означает, что пользователь вообще не задумывается об этом.

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

Программный фреймворк AVR

Именно по этой причине Atmel предлагает программную платформу Atmel AVR для своих микроконтроллеров AVR. Это библиотека исходного кода для общих задач, таких как связь; аналоговый и цифровой ввод / вывод; датчики окружающей среды; математические библиотеки с целыми числами, фиксированными числами и числами с плавающей запятой; Библиотеки DSP; аудио и видео мультимедиа; графический и графический пользовательские интерфейсы; файловые системы; ОСРВ; и больше.Весь этот код предоставляется без лицензий и лицензионных отчислений всем клиентам Atmel, независимо от того, насколько они велики или малы.

Пять слоев

Код, представленный в Atmel AVR Software Framework (ASF), организован в пять бесшовных уровней.

— Приложение

— Услуги

— Внешние компоненты

— Внутренняя периферия

— Определение платы

Понимание стека лучше всего выполнять снизу.

Рис.1: иллюстрирует 5 уровней программной инфраструктуры AVR. Эта организация предлагает гибкость для быстрого смешивания и сопоставления кода с каждого уровня при разработке нового приложения.

Определение платы

Понимание стека лучше всего выполнять снизу. На нижнем уровне «определения платы» мы назначаем цифровую и аналоговую периферию каждому контакту ввода / вывода. Это дает нам удобный способ контролировать, какое периферийное устройство назначено каждому контакту. Например, мы можем выбрать, что наше приложение будет использовать один порт USB-устройства, четыре канала АЦП, два порта I2C, один порт SPI, 6 входов для кнопок и три выхода для светодиодов.Это также уровень, на котором вы назначаете логические имена, такие как «ANALOG_FILTER_INPUT», «PLAY_BUTTON» и «GREEN_LED1» для каждого контакта ввода / вывода. Присвоение логических имен не влияет на код, сгенерированный на более высоких уровнях, но это сделает наш код на более высоких уровнях намного более легким для чтения и понимания.

Уровень определения платы состоит в основном из макросов, поэтому размер кода незначителен.

Внутренняя периферия

Уровень 2 называется уровнем «периферийных устройств», и это единственный уровень, который напрямую взаимодействует с аппаратным обеспечением на кристалле.Уровень драйвера отвечает за запуск и управление каждым из периферийных устройств на кристалле, обеспечивая восходящий интерфейс API, который позволяет более высоким уровням управлять платой и взаимодействовать с внешними компонентами. Например, уровень периферийных устройств настраивает периферийные устройства USB, ADC, I2 C, SPI и GPIO и позволяет более высоким уровням знать, что они готовы к использованию. Периферийный уровень также управляет контроллерами прерываний, периферийных событий и DMA.

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

Внешние компоненты

Над уровнем периферийных устройств находится уровень «компонентов», который отвечает за связь с внешними компонентами, такими как дисплеи, клавиатуры, память, контроллеры плат и датчики (свет, гироскоп, акселерометр, компас).Этот уровень содержит код, который инициирует, калибрует и взаимодействует с внешними компонентами. Эта коммуникация отключена и скрыта от уровней более высокого уровня.

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

Услуги

Четвертый уровень в программной среде AVR — это уровень «сервисов». Это уровень, который содержит стеки связи USB и TCP / IP, DSP и математические библиотеки, аудиокодеки, графические декодеры, графические пользовательские интерфейсы и многое другое. Общим знаменателем всего этого кода является то, что на его написание, оптимизацию, тестирование и сертификацию уходит много времени. Этот «серийный» код имеет большую ценность для разработчика, поскольку он сокращает цикл проектирования.Но он не будет высоко оценен или даже замечен конечным пользователем, если он не потерпит неудачу. Поэтому полезно знать, что код на уровне сервисов был протестирован и проверен на тысячах продуктов в этой области.

Уровень приложения

На самом верху AVR Software Framework находится уровень «приложений». Это код, который управляет всем, анализируя данные, собранные из внутренних и внешних компонентов, и пропуская их через библиотеки и коммуникационные стеки уровня сервисов.Другими словами, именно здесь происходит настоящая магия и то, что делает ваше приложение «по-настоящему уникальным».

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

Пример ЖК-дисплея

На рис. 2 показано, как каждый уровень ASF используется для вывода графики на ЖК-дисплей.Каждый уровень стека представляет собой аккуратный API для уровня выше. Уровень платы назначает контакты микроконтроллера, способного управлять, и шины SPI, а уровень SPI представляет собой прозрачный канал связи между драйвером компонента ЖК-дисплея и фактическим ЖК-дисплеем. Над драйвером ЖК-дисплея находится графический слой, который выводит графику на ЖК-дисплей с помощью различных вызовов функций рисования и записи из ЖК-слоя. Над ним находится приложение, которое решает, когда и как изменить отображаемую графику.

Рис. 2: Показывает, как каждый слой ASF используется для вывода графики на ЖК-дисплей. Каждый уровень стека предлагает аккуратный API уровня выше.

Коммунальные услуги

В дополнение к исходному коду, представленному на 5 основных уровнях, существует также набор инструментов «utils» с полезными калькуляторами и макросами, которые автоматизируют процесс кодирования. Утилиты — это не исходный код, который скомпилирован в готовый двоичный файл, а скорее инструменты, которые помогают вычислять константы и контрольные точки калибровки, используемые другими уровнями.■

Об авторе

Хокон Скар (Haakon Skar) — директор по микроконтроллерам AVR в Atmel Corporation. Он присоединился к группе разработчиков AVR в 1997 году и имеет степень магистра электроники и телематики Норвежского университета науки и технологий.

Программирование Arduino Due и MKR1000 с Atmel Studio ASF: 4 шага

1. Сохраните bossac.exe в удобном месте, например, C: \ bossac \ bossac.exe, или найдите его в файлах Arduino.
2. В одной папке создайте 2 командных файла (например Due_Programming_Port.bat) с этим кодом:

для Due:

 mode% 1: 1200, n, 8,1, p 
"C: \ bossac \ bossac.exe" --port =% 1 -i -e -w - v -b% 2 -R
пауза

для MKR1000:

 режим% 1: 1200, n, 8,1, p 
спящий режим 5
"C: \ bossac \ bossac.exe" --port =% 2 - я -e -w -v -b% 3 -R pause

«Пауза» не нужна, но она полезна. Это заставит командное окно ждать нажатия кнопки перед закрытием.
3. Определите номер COM порта программирования Due. Вы также можете использовать собственный порт, но это неудобно: он исчезает, когда не активирован, вам нужно стирать вручную, он меняет номера в зависимости от программы Due.
Для MKR1000: необходимо указать номер COM-порта загрузчика. Он показан в Arduino, загружающем подробный вывод и обычно это COM (x + 1), где COMx — это стандартный COM-порт MKR1000.

4. В AS выберите Инструменты> Внешние инструменты и добавьте новый:

для Срока:

 Заголовок: Due_Programming_Port
Команда: C: \ bossac \ Due_Programming_Port.bat
Аргументы: COM13 $ (TargetDir) $ (TargetName) .bin
Исходный каталог: $ (TargetDir) 

для MKR1000:

 Название: MKR1000 
Команда: C: \ bossac \ MKR1000.летучая мышь Аргументы: COM13 COM14 $ (TargetDir) $ (TargetName) .bin Начальный каталог: $ (TargetDir)

Если вы отключите нормальный последовательный порт MKR (загрузив новый код, отличный от Arduino), вам придется войти в режим загрузчика перед программированием: нажмите RST 2 раза (загрузчик Arduino MKR1000 (COMxx) должен появиться в Диспетчер устройств). Затем вы можете снова запрограммировать его с помощью AS или Arduino IDE.

Вы можете использовать программный код Due для MKR1000, но вам нужно будет войти в режим загрузчика перед программированием, дважды нажав RST.Таким образом, программирование выполняется на 5 секунд быстрее, и у вас не будет проблем, если последовательный порт USB отключен.
Лично мне лучше подходит версия с автоматическим входом в режим загрузчика. Я всегда забываю что-нибудь нажать перед программированием …

Обязательно используйте номер вашего COM-порта и соответствующий каталог.

Advanced Software Framework (ASF)? — Библиотеки

Это, безусловно, имеет смысл для меня, и я был бы признателен за то, чтобы узнать, как лучше всего сообщить LDF о множественных вложенных «библиотечных» ресурсах.

Если вы хотите использовать фреймворк Arduino и версию того, что Adafruit было несколько лет назад для своего кода, вы можете попробовать # 1849 Adafruit Arduino Zero ASF Core Library


К сожалению, он довольно устаревший и не предоставляет, например i2c_master.h

ASF доступен для загрузки с https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive (ссылка действительна по состоянию на ноябрь 2018 г.), но в итоге получается глубоко вложенный структура, охватывающая несколько устройств.

Пытаясь заставить platformio использовать части дерева, я не нашел символических ссылок, чтобы «поднять» интересующие скрытые каталоги прямо под ./lib/ очень надежно. Я скопировал содержимое каждого из необходимых каталогов в ./lib/asf , что довольно некрасиво. Пока что для i2c_master.h на Adafruit ItsyBitsy M0, который включает

  xdk-asf-3.43.0 / общие / утилит
xdk-asf-3.43.0 / sam0 / utils # Взял их поверх общих / utils / versions
xdk-asf-3.43.0 / sam0 / драйверы / i2c
xdk-asf-3.43.0 / sam0 / utils / препроцессор
xdk-asf-3.43.0 / sam0 / utils / header_files
xdk-asf-3.43.0 / sam0 / utils / cmsis / samd21 / включают
xdk-asf-3.43.0 / sam0 / utils / cmsis / samd21 / источник
xdk-asf-3.43.0 / sam0 / драйверы / система
xdk-asf-3.43.0 / sam0 / драйверы / gpio
xdk-asf-3.43.0 / sam0 / utils / cmsis / samb11 / include / component # перезапись gpio.h сверху
  

Есть ли хороший способ указать для platformio / LDF несколько вложенных каталогов, подобных этому, и их относительный порядок поиска?

http: // docs.platformio.org/en/latest/librarymanager/ldf.html#ldf был не очень ясным, по крайней мере, с моими ограниченными знаниями о платформеio.


LDF кажется «сломанным» — после нескольких попыток с lib_extra_dirs с разделением запятыми-пробелами, а также новой строкой-плюс-пробелами, он не может подобрать compiler.h . Однако, просто поместив копию этого файла в ./lib/hack/ , можно без проблем разрешить все заголовки. Похоже, что lib_extra_dirs неправильно обрабатывает второй каталог.

  lib_ldf_mode = глубокий
lib_extra_dirs = /Users/jeff/Documents/devel/xdk-asf-3.43.0/sam0/drivers
    /Users/jeff/Documents/devel/xdk-asf-3.43.0/sam0/utils
  

[AVR4029] Atmel Software Framework — Начало работы

Atmel AVR4029: Atmel Software Framework Начало работы Функции Доступ к примерам ASF Добавление модулей ASF в проект Atmel Studio 6 IAR GNU makefile / GCC

Примечания по применению микроконтроллеров Atmel

1 Введение Программное обеспечение Atmel framework (ASF, www.atmel.com/asf) предоставляет программные драйверы и библиотеки для создания приложений для устройств Atmel megaAVR, AVR XMEGA, AVR UC3 и SAM. Он был разработан, чтобы помочь разработать и склеить вместе различные компоненты дизайна программного обеспечения. Он может легко интегрироваться в операционную систему (ОС) или работать как отдельный продукт. В этом примечании к приложению разработчики могут прочитать о том, как начать работу с Atmel Studio 6, IAR и GNU GCC makefile: Как установить ASF Как запустить эталонные приложения ASF Как получить документацию по ASF Рекомендуется, но не обязательно, читать справочник по ASF руководство для углубленных знаний об архитектуре ASF, чтобы прочитать этот документ для начала работы.

Ред. 8431B-AVR-03/12

2 Начало работы с ASF и Atmel Studio 62.1 Установка 1. Загрузите Atmel Studio 6 с http://www.atmel.com/atmelstudio. Atmel ASF включен в Studio 6 и не требует отдельной загрузки. 2. Установить. 3. Запустите Atmel Studio: o Обратитесь к руководству пользователя встроенного Atmel Studio и начальному экрану на экране приветствия, чтобы начать работу с Atmel Studio.

2.2 Видео Для начала ознакомьтесь с видео Atmel Studio и ASF, следите за видео Atmel на http: // www.youtube.com/user/AtmelCorporation.

2.3 Запустите примеры ASF 1. В меню файла выберите New -> Example Project from ASF. Рисунок 2-1. Новый пример проекта от ASF.

Можно отсортировать примеры ASF по комплектам (например, Atmel EVK1100, Atmel AVR Xplained), по ключевым словам технологии (например, USB, IO, Interrupt) или по категории (драйверы, компоненты, службы, приложения). Документацию по примерам можно просмотреть, щелкнув значок справки на правой панели окна New Example Project.Найдите проект «Пример USART XMEGA-A1 Xplained» и нажмите OK, чтобы создать его.

2

Atmel AVR40298431B-AVR-03/12

Atmel AVR4029 Рисунок 2-2. Выбор нового образца для набора.

2. Теперь можно скомпилировать, загрузить и отладить проект. Файлы Atmel ASF импортируются в новый проект Atmel Studio в папке src. Файлы примеров находятся в папке src /. Файлы зависимостей находятся в папке src / asf /. Подключите отладчик к ПК и запустите пример ASF.

38431B-AVR-03/12

Рисунок 2-3. Представление обозревателя решений примеров ASF.

3. Теперь можно скомпилировать, загрузить и отладить проект. Файлы Atmel ASF импортируются в новый проект Atmel Studio в папке src. Файлы примеров находятся в папке src /. Файлы зависимостей находятся в папке src / asf /. Подключите отладчик к ПК и запустите пример ASF. 4. ASF Explorer — это логическое представление кода ASF с легким доступом к API и документации.

4

Atmel AVR40298431B-AVR-03/12

Atmel AVR4029 Рисунок 2-4.Просмотр ASF Explorer.

2.4 Получить документацию по примерам ASF Щелкните правой кнопкой мыши имя проекта. Выберите «Просмотр справки по примерам проектов ASF»

58431B-AVR-03/12

Рисунок 2-5. Документация по примерам ASF.

2.5 Добавление модулей ASF в существующий проект Можно добавлять / удалять модули ASF в любой проект. 1. Щелкните правой кнопкой мыши проект или меню проекта, а затем щелкните Мастер ASF.

6

Atmel AVR40298431B-AVR-03/12

Atmel AVR4029 Рисунок 2-6.Добавление модулей Atmel ASF в проект.

2. Выберите один или несколько модулей ASF и нажмите «Добавить к выбору». Например, драйвер таймера / счетчика.

78431B-AVR-03/12

Рисунок 2-7. Добавление модуля Atmel ASF в проект.

3. Нажмите «Далее», чтобы подвести итоги добавления / удаления файла в текущий проект. 4. Наконец, нажмите Готово. Например, файлы rtc.c и rtc.h драйвера счетчика реального времени RTC добавляются в папку src / asf / xmega / drivers / rtc.

8

Atmel AVR40298431B-AVR-03/12

Atmel AVR4029 Рисунок 2-8. Обозреватель решений в примере ASF.

2.6 Начните новый проект с шаблоном: Шаблон пользовательского приложения Шаблоны пользовательских приложений готовы к использованию проектов с: файлом main.c и функцией main () Базовым набором драйверов ASF (GPIO, прерывание), расположенным в src / asf / папка для выбранного микроконтроллера Atmel. Файл определения платы ASF. Например, для набора Atmel XMEGA-A1 Xplained src / asf / xmega /boards / xmega_a1_xplained / xmega_a1_xplained.h файл добавлен. Чтобы получить доступ к шаблону пользовательского приложения: 1. Щелкните File-> New -> Project. 2. В меню C / C ++ -> Atmel Boards выберите шаблон пользовательского приложения для нужной платы Atmel.

98431B-AVR-03/12

Рисунок 2-9. Новый проект пользовательского шаблона для платы Atmel.

3. Щелкните OK. Рисунок 2-10. Новый проект пользовательского шаблона для Atmel XMEGA-A1 Xplained.

10

Atmel AVR40298431B-AVR-03/12

Atmel AVR40293 Начало работы с ASF и IAR Embedded Workbench 4.1 Установить 1. 2. 3. 4. Загрузите IAR Embedded Workbench с http://www.iar.com. Установите IAR. Загрузите автономный архив ASF (файл .zip) с http://www.atmel.com/asf. Распакуйте автономный архив ASF на свой жесткий диск (желательно в месте, близком к корню, чтобы избежать возможных проблем с длинной длиной имени в Windows).

3.2 Обновление файлов заголовков Пользователям 8-битных AVR рекомендуется обновить файлы заголовков инструментальной цепочки, описание того, как это сделать, находится в файле readme.txt в каталоге xmega / utils / header_files /.Для пользователей AVR UC3 рекомендуется обновить файлы заголовков IAR. Для этого распакуйте файл avr32-headers.zip (расположенный в каталоге avr32 / utils / header_files /) в папку установки IAR EWAVR32 в папке «Установочная папка IAR» / Embedded Workbench x.y / avr32 / inc /.

3.3 Навигация в автономном архиве ASF Верхняя папка организована следующим образом: Папка avr32 / содержит программные модули (исходный код и проекты), предназначенные для устройств AVR UC3. Папка mega / содержит программные модули (исходный код и проекты), предназначенные для Atmel Устройства megaAVR Папка xmega / содержит программные модули (исходный код и проекты), предназначенные для устройств Atmel AVR XMEGA Папка common / содержит программные модули (исходный код и проекты), общие для всех устройств Atmel AVR. sam / fodler содержит программные модули (исходный код и проекты), предназначенные для устройств Atmel SAM. Папка Thirdparty / содержит программные модули (исходный код и проекты) сторонних поставщиков для всех устройств AVR. Папка Thirdparty / организована сторонним программным модулем (то есть по одной папке на программный модуль сторонних производителей).Папки avr32 /, xmega /, mega /, sam / и common / организованы следующим образом: В папке drivers / содержатся низкоуровневые программные драйверы для ресурсов микроконтроллера Atmel (например, cpu, usart, adc). Папка Board / содержит файлы исходного кода для конкретной платы. Папка utils / содержит файлы, которые используются всеми другими модулями: в ней хранятся несколько файлов сценариев компоновщика, предварительно скомпилированные библиотеки IAR и GCC для некоторых модулей ASF и служебные файлы C / C ++ с общие определения, макросы и функции

118431B-AVR-03/12

Папка services / содержит прикладные части программного обеспечения, которые не относятся к платам или микросхемам (например, FAT, стек TCP / IP, ОС, Декодер JPEG).Для папки common / top папка services / также содержит код для конкретного чипа. Папка components / предлагает для каждого поддерживаемого аппаратного компонента программный интерфейс для взаимодействия с компонентом (например, память, такая как SDRAM, SD-карта или дисплей ) В папке applications / содержится множество примеров приложений, использующих службы и драйверы

3.4 Примеры запуска ASF Используя пример использования модуля драйвера Atmel AVR UC3 GPIO, проекты IAR расположены в папке: avr32 / drivers / gpio / периферийный_бус_example / at32uc3a0512_evk1000 / iar / для платы Atmel EVK1100 avr32 / drivers / gpio / ferheral_bus_example / at32uc3a0512_evk1105 / iar / для платы Atmel EVK1105 avr32 / drivers / gpio / периферийный_bus_example / at32uc3b0256_evk3a0512 / iar / iar / для платы Atmel EVK1104 avr32 / drivers / gpio / period_bus_example / at32uc3l064_stk600-rcuc3l0 / iar / для установки Atmel STK600-RCUC3L0 avr32 / drivers / gpio / периферийный_бус_example / at32uc3c0512c_uc3c_ek / iar / для платы Atmel AT32UC3C-EK avr32 / drivers / gpio / периферийный_бус_example / at32uc3l064_uc3l_ek / iar / для файла проекта Atmel AT32UC3L-EK / iar / для файла проекта Atmel AT32UC3L-EK с полной рабочей областью, папка с файлом IARR / EK с полной рабочей областью IAR-EK с платой IAR-EK содержит полную рабочую папку IAR EK. (avr32_drivers_gpio_peripheral_bus_example_uc3l_ek.eww: дважды щелкните этот файл, чтобы открыть весь проект) файл проекта IAR EWAVR32 (avr32_drivers_gpio_peripheral_bus_example_uc3l_ek.ewp) файл конфигурации отладки IAR EWAVR32 (avr32_drivers_gpio_peripheral_bus_melek3000 9402000 9402000 AVR2000 / AVR2000 9402000 AVR2000 9402000 9402000 AVR2000 9402000 9402000 AVR2000 9402000 AVR 9402000 9402000 9402000 Atmel AVR4029 Рисунок 3-1. Расположение проекта IAR в ASF.

3.5 Получить проектную документацию ASF 3.5.1 Онлайн-документация Все модули ASF и справочные приложения Doxygen можно найти на http: // asf.atmel.com. 3.5.2 Создание документации вручную (в автономном режиме) Все модули полностью документированы с использованием тегов doxygen. Каждый проект в Atmel ASF содержит файл doxyfile.doxygen (используемый для настройки doxygen для правильной генерации документации): для создания документации .html необходимо установить doxygen (см. Http://www.doxygen.org/download.html) а doxyfile.doxygen должен использоваться как входной файл конфигурации для doxygen. Используя пример использования модуля драйвера Atmel AVR UC3 GPIO в качестве примера для платы Atmel AT32UC3C-EK, связанный файл doxyfile.Файл doxygen находится в папке avr32 / drivers / gpio / period_bus_example / at32uc3c0512c_uc3c_ek / doxygen /. Запустите doxygen и используйте этот doxyfile.doxygen в качестве файла конфигурации для doxygen. Использование

ATSAM4S Учебное пособие № ASF

Знакомство с Atmel Arm Cortex M4: ATSAM4S

Это введение в микроконтроллеры Microchip Arm серии ATSAM4S поможет вам начать программирование без использования ASF . Хотя ASF хорош, особенно когда вы переносите код с одного чипа на другой, я хотел напрямую настраивать периферийные устройства, устанавливая регистры напрямую, вместо того, чтобы абстрагироваться от оборудования.В этих руководствах предполагается, что у вас уже есть некоторый опыт работы с C и вы запрограммировали другие микроконтроллеры, такие как AVR или XMEGA.

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

В этом руководстве не используется программная среда Atmel.Это не значит, что это плохо, потому что это не так. ASF хорош, когда вам нужно изменить микроконтроллеры в вашем проекте без изменения кода. Вы можете легко портировать с чипа на другой. В прошлом я перешел с Arduino на AVR и Xmega, потому что я чувствовал, что Arduino слишком сильно абстрагируется от оборудования. У меня такое же чувство от ASF. Когда я начал с ARM, я хотел переключать контакты и устанавливать регистры, а не использовать ASF, но когда я искал в Интернете ресурсы, я мог найти только ссылки на других людей, ищущих похожие ресурсы.По этой причине я написал этот учебник и надеюсь, что он поможет кому-то другому. Несмотря на то, что PDF-файл Atsam4s составляет ~ 1200 страниц, его чтение — лучший способ научиться его использовать. Это пугает, но, переходя от главы к главе, вы увидите, что есть много общего в том, как настраиваются и используются периферийные устройства.

Удачи!

Базовые примеры кода помогут вам начать программировать ATSAM4S, используя:

  • Программатор / отладчик Atmel-Ice с использованием интерфейса JTAG
  • Атмель Студия 7
  • C, написание базовых драйверов с нуля и без использования ASF
  • Плата для разработчиков на базе ATSAM4S16B

Как полностью удалить программный фреймворк Atmel?

Как я могу полностью удалить Atmel Software Framework со своего компьютера? Этот вопрос задаете не только вы.Многие пользователи компьютеров также ищут решения для удаления Atmel Software Framework из своих компьютерных систем. Установить программу очень просто, так как вам нужно дважды щелкнуть ее установщик и следовать за его установщиком. Но это становится более сложным, если вы хотите полностью удалить его со своего компьютера, поскольку в процессе удаления вы можете столкнуться с различными проблемами, такими как странные сообщения об ошибках, невозможность найти его в «Программы и компоненты». Если вы ищете эффективные решения для удаления Atmel Software Framework, пожалуйста, проверьте методы удаления ниже.

Пример ошибки

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

Этот специализированный деинсталлятор может не только помочь вам эффективно удалить Atmel Software Framework с компьютера, но также выявить и удалить все оставшиеся файлы, папки и недействительные записи реестра, принадлежащие Atmel Software Framework.

Шаг 1. Завершите все процессы, связанные с Atmel Software Framework

.

Шаг 2. Удалите Atmel Software Framework

.

Шаг 3. Удалите недействительные записи Atmel Software Framework из реестра

Шаг 4. Удалите остатки Atmel Software Framework на жестком диске

Шаг 1: Завершите все процессы, связанные с Atmel Software Framework

Удерживайте клавиши Ctrl , Shift и Esc на клавиатуре, чтобы открыть диспетчер задач.Затем щелкните соответствующий процесс и нажмите кнопку Завершить процесс (в Windows 7, Vista) или Завершить задачу (в Windows 8).

Шаг 2: Удаление Atmel Software Framework

Вы можете удалить Atmel Software Framework любым из следующих способов удаления:

Метод 1: Удалите Atmel Software Framework в разделе «Программы и компоненты»

1.Откройте Программы и компоненты.

В Windows 7 и Vista,

Щелкните меню «Пуск», введите программы и функцию и щелкните его, чтобы открыть.

В Windows 8 или новее,

а. Находясь на экране «Пуск», нажмите Параметры и введите программы и функции

г.Нажмите Программы и компоненты в результатах поиска по настройкам

.

2. Щелкните Atmel Software Framework и щелкните Удалить , чтобы удалить его со своего компьютера.

Метод 2: Использование функции восстановления системы для удаления Atmel Software Framework

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

Метод 3: Удалите Atmel Software Framework через командную строку

1. Откройте командную строку с повышенными привилегиями.

В Windows 7 и Vista,

Щелкните меню «Пуск» и введите cmd в поисковые программы и файлы, щелкните правой кнопкой мыши и выберите в меню пункт « Запуск от имени администратора» .Нажмите Да , если UAC всплывает.

В Windows 8 или новее,

2. В командной строке введите wmic и нажмите Enter.

3.Введите продукт, получите имя и нажмите Enter. (Подождите несколько секунд, чтобы утилита отобразила все программы)

4. Запишите имя программы, которую вы хотите удалить, включая любые заглавные буквы.

5. Введите продукт, где name = «name of program», вызовите удаление и нажмите Enter.

6.При появлении запроса введите Y , чтобы подтвердить удаление программы, и нажмите Enter.

7. После успешного удаления вы можете закрыть командную строку.

Метод 4: Удаление Atmel Software Framework с помощью средства удаления вирусов

Некоторые нежелательные программы могут устанавливаться на ваш компьютер незаметно, так как они любят распространяться путем прикрепления к бесплатному программному обеспечению и играм, которые люди часто загружают в Интернете.Иногда вы не можете вспомнить, когда на вашем компьютере была установлена ​​определенная программа, пока не будете сильно страдать от ее надоедливых всплывающих окон. Обычно такие потенциально нежелательные программы могут ускользнуть от обнаружения установленным антивирусом. Если вы пробовали вышеуказанные методы, но все еще не смогли удалить Atmel Software Framework, вам действительно необходимо проверить, является ли это вирусом или нет. Нажмите и загрузите этот мощный инструмент удаления вирусов, чтобы проверить свой компьютер. Если это компьютерный вирус, он будет автоматически удален при нажатии кнопки «Удалить» после сканирования.

Шаг 3: Удалите недопустимые записи Atmel Software Framework в реестре

Видеогид: Резервное копирование и редактирование реестра

Примечание: Для вас очень важно знать, что реестр является одной из наиболее важных частей системы Windows, вы должны быть предельно осторожны при удалении любых ключей в реестре.Любая небольшая ошибка может привести к серьезным проблемам или даже к сбою системы. Поэтому удаление Atmel Software Framework путем редактирования реестра рекомендуется только пользователям компьютеров с определенными компьютерными знаниями. Если вы не хотите рисковать и повредить компьютерную систему, рекомендуется использовать этот автоматический очиститель реестра для очистки недействительных ключей.

Шаг 4: Завершите все процессы, связанные с Atmel Software Framework

Даже если вы удалите Atmel Software Framework в Панели управления и удалите недействительные ключи в реестре, на жестком диске все равно останутся некоторые папки.Чтобы полностью удалить Atmel Software Framework из вашей системы, вы можете перейти в следующие места, чтобы удалить папки Atmel Software Framework.

C: \ Program Files (x86)
C: \ Program Files
C: \ ProgramData
C: \ Users \ Default \ AppData \ Local
C: \ Users \ Default \ AppData \ Roaming

Удаление Atmel Software Framework вручную не может гарантировать 100% удаление Atmel Software Framework, особенно для пользователей компьютеров с небольшим знанием компьютера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *