CMSIS2000
0.0.7
|
Увеличение требований к ПО ведёт к появлению различных вариантов сборки.
Различные требования к функциональности программно-аппаратных систем порождают существование:
Для удовлетворения данных требований весь исходный код, использующийся в продукте должен быть соответствующим образом организован в систему, на различных уровнях своей организации – весь код может быть разбит и отсортирован по множеству признаков и параметров: функции, данные, процедуры, файлы, директории, библиотеки, потоки, языки программирования и т. д.
Существование нескольких вариантов сборки означает, что компилятором будет обработан разный исходный код. Система сборки управляет процессом компиляции и линковки кода в её задачи входит определение того какой исходный код и в каком порядке должен быть пропущен через средства разработки.
Для адаптации одного исходного кода под микроконтроллеры с ядром CORTEX стандарт CMSIS предлагает свой,описанный в стандарте, вариант организации исходного кода. СMSIS решает проблему адаптации только под конкретную модель контроллера путём введения файла <device.h>, а также файлов system_<device>.c и system_<device>.h .
В данном проекте также вводится файл <bsp_board_def.h> для адаптации исходного кода под конкретную плату. C сохранением совместимости с CMSIS, если у вас нет BSP файла.
Для успешной компиляции проекта необходимо автоматическое размещение заголовочных файлов и настройка ключей компиляции. Данную функцию берёт на себя система CMAKE и правила сборки написанные на Lisp-подобном языке.
Настройка проекта под микроконтроллер и плату производится путём запуска утилиты CMAKE перед компиляцией проекта c указанием трёх основных параметров-переменных:
Вариант размещения кода (FLASH, RAM, EXTERNAL RAM)