STM32 на ассемблере
"Одной из главных тенденций современного развития
микроконтроллерных систем управления является переход
на 32-разрядные архитектуры".
Вот так, не больше и не меньше. Партия постановила значит!
Чем мы с вами и займёмся. Данный сайт ориентирован для новичков,
которые имеют опыт разработки в 8-битных архитектурах.
И хотят освоить 32-битные микроконтроллеры с нуля.
Итак, начнём. Среда разработки: ваш любимый блокнот + набор утилит binutils.
Язык программирования: Ассемблер.
Для начала создайте
новый чистый проект.
Затем
подрыгайте ножкой.
И вот произошло чудо, вы стали экспертом 32-разрядных архитектур!
Поздравляю! Теперь вы даже можете пойти на форум и давать советы новичкам!
Микроконтроллеры на основе ядра ARMv7 очень лёгкие в освоении.
Набор инструкций, просто восхитительный. Писать для него на ассемблере, одно удовольствие!
Если вы переходите с 8-битников, работая в GCC, вы даже и не заметите, что
имеете дело с 32-битным камнем. Всё то же самое, синтаксическая основа не изменилась.
Команды легко запоминаются и читаются.
Основное отличие 32-битных камешков от 8-битных, это их
роскошный набор периферии, которая включает в себя все лучшие наработки, какие только были
достигнуты со времён появления микроконтроллеров. Они напичканы до тошнотиков!
Сайт ориентирован на язык программирования Ассемблер. Он шикарен!
Например, основной набор M3 включает в себя 110 уникальных мнемоник.
За счёт суффикса
S (влияние на флаги) набор расширяется до 130 мнемоник.
А за счёт суффиксов выполнения команд по условию, реализуется просто невероятная обработка состояний флагов.
Благодаря этому, набор мнемоник расширяется до более чем 2000 (!!!).
И это не какой-то бессмысленный повторяющийся мусор, а каждая из них уникальна и может пригодиться.
Если у вас стекленеют глаза при виде нечто:
LDREXBGE, то разобравшись в ассемблере, вы поймёте,
что это классическая команда чтения ячейки памяти, аналогичная LD/LDR.
Которая за счёт возможностей ядра становится настолько мощной, что просто дух захватывает!