Эта статья немного забегает вперед, и поясняет каким образом можно добавить настройки в редактор для других ARM микроконтроллеров.
Перечень микроконтроллеров находится в файле inf\mculist.ini.
Открыть его для редактирования можно из самого редактора:
![](https://habrastorage.org/getpro/habr/upload_files/86e/34d/f92/86e34df92ebf6dcca64ebd290456c6a0.jpg)
Если сопоставить то что написано с окно выбора микроконтроллера при создании проекта, то думаю понятно как строится дерево выбора микроконтроллеров:
![](https://habrastorage.org/getpro/habr/upload_files/890/d46/666/890d4666642a9a3dc56594f773cf543c.jpg)
Таким образом, модификация дерева под нового производителя микроконтроллера думаю не вызовет у вас особых затруднений:
![](https://habrastorage.org/getpro/habr/upload_files/e85/ca1/04a/e85ca104aa1fe66611a6531708714a95.jpg)
И где-нибудь ниже описаний микроконтроллеров ST, добавим имя серии микроконтроллеров и имена конкретных микроконтроллеров, которые можно увидеть на сайте производителя:
![](https://habrastorage.org/getpro/habr/upload_files/d4b/5cd/32e/d4b5cd32e317fdd2e4fe1b34dbded700.jpg)
Сохранив файл и заново запустив создание проекта, при выборе микроконтроллера получим новое содержание диалогового окна дерева микроконтроллеров:
![](https://habrastorage.org/getpro/habr/upload_files/4a7/493/e84/4a7493e845105b37bb3534c2433db378.jpg)
Теперь нужно описать конкретный микроконтроллер из нашего списка, по запросу одного из участников проекта (Сергей привет!), будем описывать 1921ВК035.
Сначала создадим файловую структуру для хранения настроек новых микроконтроллеров в каталоге inf/ редактора, у меня получилось так:
![](https://habrastorage.org/getpro/habr/upload_files/3e6/ba9/5fe/3e6ba95fe2f31be5f3100f59bea369fe.jpg)
Дополнительно нам понадобятся следующие файлы:
Для OpenOCD нужны target файлы под выбранные микроконтроллера, их можно "утащить" из настроек OpenOCD сервера сред предлагаемых производителем/разработчиком микроконтроллера и используемых для отладочного сервера, эти файлы нужно скопировать в папку openocd\scripts\target
![](https://habrastorage.org/getpro/habr/upload_files/49d/66d/ae7/49d66dae71a7928086dc95a4b2263215.jpg)
Так же для интерфейса отладчика нужен .svd файл микроконтроллера, по которому редактор будет показывать состояние регистров настройки микроконтроллера, эти файлы так же можно найти в ПО от производителя/разработчика микроконтроллера или достать из из другой среды разработки, эти файлы я помещаю в папке микроконтроллера
![](https://habrastorage.org/getpro/habr/upload_files/b37/f1e/89f/b37f1e89f59999737daa07d7e227b9cf.jpg)
Теперь опять вернемся к нашему настроечному файлу списка микроконтроллеров mculist.ini и пропишем и разберем настройки микроконтроллера
![](https://habrastorage.org/getpro/habr/upload_files/8a5/c61/34d/8a5c6134da9ea37102e1d1cca5a51721.jpg)
type=config указатель на то что описывается микроконтроллер, если этой строчки нет, то содержимое секции ini файла будет рассматриваться как названия субкатегорий микроконтроллеров
file=inf\niiet\1921VKx\1921VK035\k1921vk035.ini - файл описания модулей микроконтроллера, пока мы его не создали, сделаем это ниже
openocd=openocd\scripts\target\k1921vk035.cfg расположение target файла для openOCD
deviceinfo=inf\NIIET\1921VKx\1921VK035\K1921VK035.svd описатель микроконтроллера для отладчика редактора
targetadr=0x00000000 - адрес для размещения прошивки микроконтроллера, это значение нужно искать в документации по микроконтроллеру
syntax=unified - формат написания команд ассемблера, это опция компилятора которая указывается в каждом .asm файле проекта
cpu=cortex-m4 указание на ядро микроконтроллера, так же смотрим в документации по микроконтроллеру, спрашиваем на форумах и так далее, эта опция нужна и для компилятора, и для редактора, так на основании этого значения выбираются правила подсветки команд ассемблера в редакторе
thumb=.thumb указание компилятору на размер используемых команд
fpu= - указание на сопроцессор для операций с плавающей точкой (эту информацию я еще не нашел, оставим не заполненным)
Теперь можно переходить к созданию файла описания модулей микроконтроллера
Общий шаблон выглядит следующим образом
![](https://habrastorage.org/getpro/habr/upload_files/a65/25b/7d3/a6525b7d35c4c7e6a08554647383d2d6.jpg)
Сначала идет имя секции с именем микроконтроллера [К1921ВК035] и дальше идут пары параметров:
textX - текст показываемый в дереве списка модулей
linkX - ссылка на поддерево
Нумерация пар textX / linkX должна быть последовательна ! то есть сначала описываем нулевые элементы, потом первые, вторые и так далее... Если описать нулевой элемент, а потом сразу второй - обработки не произойдет!!
При необходимости запуска скрипта установки модуля в проект прописываются следующие параметры
![](https://habrastorage.org/getpro/habr/upload_files/611/dcf/6ee/611dcf6eec07aa0daae95fa593691fcb.jpg)
textX - текст показываемый в дереве списка модулей
scriptX - указатель на файл скрипта модуля
Про то как сделать скрипт добавления модуля в проект будет написана дополнительная статья, а сейчас существует небольшое техническое видео с простыми примерами: