- PVSM.RU - https://www.pvsm.ru -
Библиотека для продуктов Atmel ASF имеет две версии: встроенную в Atmel Studio и так называемую stand-alone. Stand-alone версия может использоваться, например, в IAR. Так как сам по себе IAR несколько аскетичен с точки зрения различных фишек типа автозаполнения, то использование ASF как внешней библиотекой, не так интерактивно и удобно, как в Atmel Studio, но тем не менее, можно один раз все настроить и использовать новинку Atmel Start — WEB конфигуратор кода для удобства и ускорения разработки.
Для начала необходимо скачать stand-alone версию ASF [1] и распаковать.
Затем создать новый проект в IAR с нужными опциями. Предположим, у нас есть плата собственного производства с микроконтроллером SAMD20G16.
В опциях проекта выбираем:
General-Options-Target-Device — Atmel ATSAMD20G16
General-Options-Library Configuration-Use CMSIS
C/C++ Compiler-Preprocessor: здесь нужно указать пути к файлам ASF, которые будут использоваться в проекте.
Если вы собираетесь пользоваться Atmel Start, то настройки препроцессора автоматически сгенерируются при загрузке проекта.
Assembler-Preprocessor
Output Converter-Output-Generate additional output, Output format: Intel Extended, Output file: Override default: file name.hex
Linker-Config-Linker configuration file: Override default: $PROJ_DIR$samd20g16_flash.icf
Debugger-Setup-Driver: J-Link/J-Trace
Все настройки сделаны.
Для написания функций инициализации контроллера и периферии воспользуемся Atmel Start.
В качестве альтернативы можно посмотреть примеры как к IAR, так и к Atmel Studio, либо документацию.
Atmel Start [2] – интернет генератор кода.
Выбираем плату и контроллер и создаем проект: Custom Board, ATSAMD20G16 – Create new project
Начнем с настройки тактирования. Предположим, у нас контроллер тактируется от внешнего генератора частотой 7,37 МГц и мы хотим системной частотой иметь 48 МГц ( как это сделать в Atmel Studio см здесь [3]).
Открываем Go to clock configurator [4]:
Все очень наглядно, кликаем на модули, вводим необходимые настройки, и должно получится так:
Еще необходимо настроить порты ввода/вывода микроконтроллера, для этого есть Pin/Mux Configurator [5]. В этом разделе все интуитивно понятно.
Конечно же, надо добавить необходимую периферию — Add Software Component. Для удобства поиска оставляем только поиск по драйверам. Находим нужный, например, SPI, выбираем количество и добавляем. Также это можно сделать на основной странице нажав на «+» возле Drivers.
Теперь идем в его настройки.
Указываем все необходимые нам параметры. Получается примерно так:
Делаем все остальные настройки периферии и всего, что нам нужно. Когда все готово, экспортируем проект в нужный нам формат.
Для этого: Export Project: — Include IAR (.ipcf) file – Download Pack
Меняем расширение архива на простой zip и распаковываем в папку проекта. В IAR: Tools-Options-Project-Enable Project Connections.
Далее Project-Add Project Connection — IAR Project Connection- Ok, выбираем файл: iar-project-connection.ipcf. Далее все настройки и сами файлы в папках появятся в проекте.
Можно компилировать и наслаждаться!
Автор: Rainbow
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/e-lektronika-dlya-nachinayushhih/102164
Ссылки в тексте:
[1] stand-alone версию ASF: http://www.atmel.com/tools/avrsoftwareframework.aspx?tab=overview
[2] Atmel Start: http://start.atmel.com/
[3] здесь: http://geektimes.ru/company/rainbow/blog/262158/
[4] Go to clock configurator: http://start.atmel.com/#dashboard/Clocks
[5] Pin/Mux Configurator: http://start.atmel.com/#dashboard/PinMux
[6] Источник: http://geektimes.ru/post/264928/
Нажмите здесь для печати.