Програмиране и отстраняване на грешки на микроконтролери Atmel ARM Cortex-M4 в средата на операционната система

Продължение на електронната версия на статията от брой No2 за 2016 г. на списание Components and Technologies. Автор Курниц Андрей. Връзка към първата част

Създаване, стартиране и отстраняване на грешки на примитивна програма на микроконтролера Atmel SAM4S

След като софтуерът за разработка на микроконтролери Atmel SAM4S е инсталиран и конфигуриран на работната станция, можете да се уверите, че системата работи правилно, като създадете проста програма, която ще включва и изключва светодиода на платката SAM4S-EK.
За да се изгради работеща програма за микроконтролер, в допълнение към инструментариума на GCC са необходими следните компоненти:

  1. Библиотека CMSIS (Cortex Microcontroller Software Interface Standard) - описва един интерфейс за взаимодействие с ядрото на ARM Cortex-M микроконтролери - общ за ARM Cortex-M микроконтролери от различни производители.
  2. Библиотеката за взаимодействие с периферните устройства на това семейство микроконтролери е различна за всеки производител, било то Atmel, STMicroelectronics, NXP и др.
  3. Скрипт на Linker - файл с инструкции за поставяне на програмата във флаш паметта на микроконтролера, както и за разположението на сервизни зони (секции) в RAM: стек, куп и др. За различни микроконтролери с различни размери памет, съответно се използват различни скриптове за свързване.
  4. Файл Syscalls.c - съдържа системните функции, необходими за стандартната библиотека C (реализация на newlib). Тези функции обикновено са част от операционната система, за която е предназначена програмата. Въпреки това, в случай на микроконтролер, който най-често работи без операционна система, файлът syscalls.c трябва да бъде включен в сборката, която съдържа предимно празни системни функции [10].
  5. На справедливост трябва да се отбележи, че има много операционни системи, създадени специално за микроконтролери.
  6. Първоначален инициализационен код (стартиращ код) - отговаря за попълването на таблицата на векторите на прекъсвания с подходящи манипулатори, включително манипулатора на прекъсвания за нулиране на микроконтролера (манипулатор за нулиране).
  7. Той също така съдържа изпълнение на манипулатор за прекъсване на нулиране, който нулира необходимите раздели на паметта, инициализира стандартната библиотека 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.

програмиране