Редактор Сборок Для Микроконтроллеров Arm Для Компилятора Gnu. Начинать

Итак, Вас всё же интересует ассемблер, может для написания каких-то программ для cortex-m0, чтобы влезло больше, а может для написания каких-то модулей для программ на другом языке, у Вас будет просто огромное количество вариантов, где это можно сделать - все известные среды поддерживают эту функцию.

Правда, через какое-то время вы поймете сложность написания кода в таких редакторах, просто потому, что такие редакторы, как правило, не предлагают ничего, кроме подсветки команд и, возможно, текстовых подсказок по мере ввода, причем подсказки идут из набранный текст, чаще всего совершенно бесполезен, так как вообще не учитывают контекст, преимуществом является сложность работы, если проект предполагает еще и несколько файлов - вот тогда приходит понимание, что редактор для ассемблера должен все равно быть другим.

Если у вас был такой опыт, то вы уже понимаете, о чем я пишу и что в конечном итоге побудило меня написать редактор, более адаптированный к реальным потребностям.

добавлено на основе предложений из комментариев: Платформа запуска приложений Windows Итак, сразу исправим:

  • то, что я написал - это редактор для себя, и тот или иной функционал был реализован именно из тех идей, которые я для себя выделил
  • Я буду рад писать на ассемблере в любом другом редакторе, как только его найду, если в нем будет больше функционала, чем в реализованном мной редакторе.

  • поскольку редактор писался самостоятельно, я также дополняю, расширяю, меняю и даже удаляю этот функционал
  • проект не закрыт, поэтому буду рад, если кто-то присоединится ко мне, мне интересны люди, которые могут предложить какой-то новый функционал, и кто может помочь мне его дополнить, если у кого-то есть дизайнерские идеи (а кто-то знает больше, чем просто слова) дизайн и юзабилити) и есть желание что-то изменить в лучшую сторону - я тоже буду рад и так далее.

    я например не умею делать красивое видео :-) а иногда мне тоже этого хочется , но кроме записи с экрана пока ничего нет.

Итак, немного о возможностях редактора:
  • подсветка ввода кода , и когда я говорю подсветка - я имею в виду подсветку ассемблерных команд с полным разбором текста команды, теперь можно увидеть грубые ошибки даже на этапе ввода команды, я не видел ни одного широко используемого редактора, где бы это было реализовано, например , вы просто не можете вводить аргументы команды, если этот формат не предусмотрен, ошибки здесь нет


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

а тут какую-то ерунду написали

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

  • работа с символами проекта редактор обрабатывает весь проект, поэтому вы всегда можете выбрать (или просто посмотреть) доступные символы, объявленные глобально, в текущем или включенном файле, если используются файлы определения библиотеки (или вы придерживаетесь определенных правил) - тогда символы могут быть сгруппированы в дереве


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Причем вы увидите именно те символы, которые доступны из текущего местоположения, а не все подряд, ну за некоторыми исключениями (например, символы из файла сборки еще не обрабатываются)
  • возможность устанавливать варианты значений для конкретного объявленного символа это удобно при использовании некоторых библиотек и даже при написании собственного кода, когда нужно заранее определить возможные значения например, теперь вы можете включать и отключать нужные GPIO в модуле rcc_ ahb1enr пио_ набор


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

нажав кнопку «F4 Изменить», или из контекстного меню

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

и посмотреть все возможные варианты установки значений

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Да-да, из комментариев уже слышу: да, выставить 1 или 0 на самом деле проще вручную, согласен, но возможны не только 1 или ноль, но и более сложные варианты, например, настройка пина GPIO , и нужно поменять пин MODER, что мы и делаем в данном случае — ну, конечно, хорошо, если мы уже знаем все варианты настроек, а что если нет? затем откройте определение MODER и посмотрите все варианты значений.

затем скопируйте нужное, а когда вернетесь, вставьте новое значение, так?

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Меня это не устроило, поэтому снова «F4 Изменить» или из контекстного меню:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

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

  • возможность указать описания для модулей или подпрограмм
снова сделано, чтобы сэкономить время,

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

  • Легко добавляйте необходимые файлы и модули в ваш проект.


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Естественно, в библиотеку можно добавить и свой код, мне это показалось важным, так как надоело собирать в исходниках нужные части из разных программ, это неудобно, да и при использовании часто меняешь код, поэтому теперь вы можете добавить какую-то базу данных и потом при необходимости редактировать ее в своем проекте
  • Реализована компиляция проекта напрямую из среды.

    Никаких особых наворотов, только компиляция, сборка и генерация служебных файлов.



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

  • прошивка вашего устройства была обновлена с помощью ST-Link или J-Link (у меня китаец, второй - перепрошитый ST-Link V2)


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

J-Link через сервер OpenOCD, к сожалению пока реализовано только с учетом замены родной dll от segger

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

  • отладка с использованием OpenOCD
Очень неудобно писать программу на каком-либо языке и не иметь возможности выполнить ее в режиме отладки, поэтому для этого я тоже сделал небольшой функционал, это достаточно новый функционал, поэтому еще не все идеи реализованы.



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Исполняемый код также выделяется в тексте скомпилированной программы:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Вы можете устанавливать точки останова, выполнять их шаг за шагом или выполнять подпрограммы за один шаг:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Можно просмотреть регистры конфигурации устройства:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Объем памяти:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Работу над ватпойнтом пока отложил, так же займусь:

  • реализован импорт шрифтов из MCU Font Generator , а точнее, я стандартно конвертирую файлы, которые он генерирует для AVR, в gnu и упрощаю формат


Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

  • молодец в то же время импортировать бинарные файлы в прошивку , есть много способов добавить, это лишь один из.



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать



Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

Вообще функционал часто добавляется тогда, когда возникает необходимость.

Редактор реализует простой форматировщик текста:

Редактор сборок для микроконтроллеров ARM для компилятора GNU. Начинать

В автоматическом режиме он работает не идеально, но форматирует готовый текст, придавая ему более-менее приличный вид. Обсуждайте, предлагайте, сообщайте о сбоях и т. д. группа вконтакте или в Телеграмма .

Там же вы можете скачать архив с редактором, он находится в закрепленном сообщении.

Добавлено: исходники на github Пока в редакторе активно описывается STM32F4, но планируется описание и других микроконтроллеров (как только найдутся те, кто ими пользуется и готов помочь с описанием периферии).

Ну тогда YouTube канал (плейлист GNU ARM ASM EDITOR) можно посмотреть видео о том или ином функционале редактора, хотя обучающих видео там пока нет, хотя в планах есть.

Если вам еще интересно подписывайтесь, потом будут статьи о том, с чего начать создание проекта, помню мы раньше писали мигалку в блокноте, теперь будем писать в редакторе.

Продолжение: Редактор Ассемблера Плюс: Установка Теги: #Программирование микроконтроллеров #stm32 #Ассемблер #mini ide

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.