Pull to refresh

Assembler Editor Plus: Добавление нового микроконтроллера

Reading time 3 min
Views 3.8K

Эта статья немного забегает вперед, и поясняет каким образом можно добавить настройки в редактор для других ARM микроконтроллеров.

Перечень микроконтроллеров находится в файле inf\mculist.ini.

Открыть его для редактирования можно из самого редактора:

Если сопоставить то что написано с окно выбора микроконтроллера при создании проекта, то думаю понятно как строится дерево выбора микроконтроллеров:

Таким образом, модификация дерева под нового производителя микроконтроллера думаю не вызовет у вас особых затруднений:

И где-нибудь ниже описаний микроконтроллеров ST, добавим имя серии микроконтроллеров и имена конкретных микроконтроллеров, которые можно увидеть на сайте производителя:

Сохранив файл и заново запустив создание проекта, при выборе микроконтроллера получим новое содержание диалогового окна дерева микроконтроллеров:

Теперь нужно описать конкретный микроконтроллер из нашего списка, по запросу одного из участников проекта (Сергей привет!), будем описывать 1921ВК035.

Сначала создадим файловую структуру для хранения настроек новых микроконтроллеров в каталоге inf/ редактора, у меня получилось так:

Дополнительно нам понадобятся следующие файлы:

  • Для OpenOCD нужны target файлы под выбранные микроконтроллера, их можно "утащить" из настроек OpenOCD сервера сред предлагаемых производителем/разработчиком микроконтроллера и используемых для отладочного сервера, эти файлы нужно скопировать в папку openocd\scripts\target

  • Так же для интерфейса отладчика нужен .svd файл микроконтроллера, по которому редактор будет показывать состояние регистров настройки микроконтроллера, эти файлы так же можно найти в ПО от производителя/разработчика микроконтроллера или достать из из другой среды разработки, эти файлы я помещаю в папке микроконтроллера

Теперь опять вернемся к нашему настроечному файлу списка микроконтроллеров mculist.ini и пропишем и разберем настройки микроконтроллера

  • 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= - указание на сопроцессор для операций с плавающей точкой (эту информацию я еще не нашел, оставим не заполненным)

Теперь можно переходить к созданию файла описания модулей микроконтроллера

Общий шаблон выглядит следующим образом

Сначала идет имя секции с именем микроконтроллера [К1921ВК035] и дальше идут пары параметров:

  • textX - текст показываемый в дереве списка модулей

  • linkX - ссылка на поддерево

Нумерация пар textX / linkX должна быть последовательна ! то есть сначала описываем нулевые элементы, потом первые, вторые и так далее... Если описать нулевой элемент, а потом сразу второй - обработки не произойдет!!

При необходимости запуска скрипта установки модуля в проект прописываются следующие параметры

  • textX - текст показываемый в дереве списка модулей

  • scriptX - указатель на файл скрипта модуля

Про то как сделать скрипт добавления модуля в проект будет написана дополнительная статья, а сейчас существует небольшое техническое видео с простыми примерами:

Tags:
Hubs:
+3
Comments 0
Comments Leave a comment

Articles