Програмиране и отстраняване на грешки на микроконтролери Atmel ARM Cortex-M4 в средата на операционната система
Продължение на електронната версия на статията от брой No2 за 2016 г. на списание Components and Technologies. Автор Курниц Андрей. Връзка към първата част
Създаване, стартиране и отстраняване на грешки на примитивна програма на микроконтролера Atmel SAM4S
След като софтуерът за разработка на микроконтролери Atmel SAM4S е инсталиран и конфигуриран на работната станция, можете да се уверите, че системата работи правилно, като създадете проста програма, която ще включва и изключва светодиода на платката SAM4S-EK.
За да се изгради работеща програма за микроконтролер, в допълнение към инструментариума на GCC са необходими следните компоненти:
- Библиотека CMSIS (Cortex Microcontroller Software Interface Standard) - описва един интерфейс за взаимодействие с ядрото на ARM Cortex-M микроконтролери - общ за ARM Cortex-M микроконтролери от различни производители.
- Библиотеката за взаимодействие с периферните устройства на това семейство микроконтролери е различна за всеки производител, било то Atmel, STMicroelectronics, NXP и др.
- Скрипт на Linker - файл с инструкции за поставяне на програмата във флаш паметта на микроконтролера, както и за разположението на сервизни зони (секции) в RAM: стек, куп и др. За различни микроконтролери с различни размери памет, съответно се използват различни скриптове за свързване.
- Файл Syscalls.c - съдържа системните функции, необходими за стандартната библиотека C (реализация на newlib). Тези функции обикновено са част от операционната система, за която е предназначена програмата. Въпреки това, в случай на микроконтролер, който най-често работи без операционна система, файлът syscalls.c трябва да бъде включен в сборката, която съдържа предимно празни системни функции [10].
- На справедливост трябва да се отбележи, че има много операционни системи, създадени специално за микроконтролери.
- Първоначален инициализационен код (стартиращ код) - отговаря за попълването на таблицата на векторите на прекъсвания с подходящи манипулатори, включително манипулатора на прекъсвания за нулиране на микроконтролера (манипулатор за нулиране).
- Той също така съдържа изпълнение на манипулатор за прекъсване на нулиране, който нулира необходимите раздели на паметта, инициализира стандартната библиотека C и прехвърля контрола към входната точка на програмата - към функцията main ().
Atmel Software Framework Library
Atmel Studio IDE
IDE на Atmel Studio е безплатна и може да бъде изтеглена от официалния уебсайт [9]. По време на инсталирането на компютър или виртуална машина, работеща под Windows, изберете ARM архитектурата и посочете необходимостта от инсталиране на библиотеката ASF (фиг. 5).

Фигура: 5. Характеристики на инсталирането на Atmel Studio IDE.
След инсталацията стартирайте Atmel Studio IDE и създайте нов проект, като изберете елемента от менюто "Файл -> Нов -> Проект ...". След това изберете типа на проекта "GCC C ASF Board Project", както е показано на фиг. 6.
