Как стать автором
Обновить
30
Карма
0
Рейтинг

никто

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

Assembler *Программирование микроконтроллеров *

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

Дальше будет много картинок.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 3K
Комментарии 0

Assembler Editor Plus: Использование модулей

Assembler *Программирование микроконтроллеров *

Продолжение цикла статей про редактор ассемблера для ARM микроконтроллеров под компилятор GNU AS

предыдущая статья Assembler Editor Plus: Первый проект

под катом будет скорее всего много картинок!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.4K
Комментарии 1

Assembler Editor Plus: Первый проект

Assembler *Программирование микроконтроллеров *

Продолжение цикла статей про редактор ассемблера для ARM микроконтроллеров под компилятор GNU AS.

Предыдущая статья Assembler Editor Plus: Установка

Картинки под катом!

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 4.7K
Комментарии 0

Assembler Editor Plus: Установка

Assembler *Программирование микроконтроллеров *

Продолжение цикла статей.

Предыдущая статья: Редактор ассемблера для ARM микроконтроллеров для компилятора gnu as. Старт

Внимание! далее много картинок.

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 4.9K
Комментарии 0

Редактор ассемблера для ARM микроконтроллеров для компилятора gnu as. Старт

Assembler *Программирование микроконтроллеров *

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

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

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

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

Дальше очень много картинок!

Читать далее
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 6.6K
Комментарии 27

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе…

Программирование микроконтроллеров *
Внимание! это устаревшая статья! проект в этом виде закрыт.

Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде…

Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличается от программирования в блокноте, ну может быть только многооконность удобна, да еще компиляция (если настроить все так как любит среда).

Некоторое время назад (всего 2 года прошло) я сетовал о том что нужен программист для ее написания, но дело с тех пор не сдвинулось…

Поэтому вспомнив знаменитую поговорку: «Если гора не идет к Магомеду, Магомед идет к горе» — решил в итоге начать писать самостоятельно…

Дальше под катом (будут картинки!!)
Читать дальше →
Всего голосов 43: ↑37 и ↓6 +31
Просмотры 8.8K
Комментарии 74

ARM: GNU AS: Проект: Среда для программирования на ассемблере (Самодел на Delphi)

Delphi *Программирование микроконтроллеров *
Начиная программировать на языке ассемблера для микроконтроллеров ARM первое, с чем вы столкнетесь — это отсутствие какой либо среды для программирования (c первым проектом, программами для компиляции и сборки я уже разбирался). Причем бытует мнение, что для ассемблера ничего кроме блокнота и не нужно (максимум, «для гурманов» сообщество предложит использовать редактор с подсветкой кода). И этот подход в принципе имеет место быть — ровно на столько, на сколько удобно писать программы на С++ в блокноте — то есть до того момента, как вы перейдете от программ «Hello, Word» к чему то более сложному.

Некоторое время назад я высказал предложение о необходимости написания среды разработки (или хотя бы редактора) для программ на ассемблере, но в ответ не услышал ничего. Значит, нужно написать среду самому. Понятно, что это не будет уровень современных сред программирования, над которыми трудятся целые коллективы разработчиков (да и опыта у них намного больше чем у меня), но я и не ставлю цель конкурировать с ними по «навороченности» — мне всего лишь нужна среда для комфортного программирования на ассемблере.

Если вам нужно тоже самое и нужно именно «ехать, а не шашечки» — тогда добро пожаловать под кат.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 9.5K
Комментарии 62

Delphi: Простая задачка RichEdit которую нужно решить до того как вы решите его использовать

Delphi *
Туториал
Потихоньку начал писать собственный редактор для написания программ под ARM на языке ассемблера, и решил начать с самого простого: сделать разбор текста при редактировании.
И тут я нашел небольшие такие грабельки :-)

Итак вопрос:
Есть редактор RichEdit в который мы ввели текст:

Курсор стоит вначале строки перед "9", RichText.SelStart := 12

Как в программе узнать символ на котором стоит курсор?

Если ваш опыт подсказывает конструкцию наподобие:
   with RichEdit do
        textChar:=Text [SelStart]; 

— то ваш опыт не верен!

И если вам интересно — то правильный ответ можно увидеть под катом…

Читать дальше →
Всего голосов 34: ↑20 и ↓14 +6
Просмотры 15K
Комментарии 25

STM32: SPI: LCD — Вы всё делаете не так [восклицательный знак]

Программирование микроконтроллеров *
Надеюсь сообщество простит меня за такой заголовок, просто в последнее время все чаще и чаще сталкиваюсь с программами в которых к микроконтроллерам STM32 подключают различные дисплеи с интерфейсом SPI и очень часто передачу данных при этом делают не правильно.
Как следствие — либо код не работает совсем и тогда в него внедряют различные задержки, или пишут код таким образом что он гарантированно будет работать медленно (по сравнению с возможной скоростью). А кто то, не разобравшись просто копирует чужой «с костылями» код, и потом такие «произведения» ходят по интернету из примера в пример…
Блок SPI описанный в данной статье точно есть у контроллеров семейств: STM32F1, STM32F2, STM32F4. По другим смотрите Reference Manual.

Откуда растут такие проблемы и каким образом они решаются под катом.
Читать дальше →
Всего голосов 50: ↑45 и ↓5 +40
Просмотры 77K
Комментарии 44

STM32F4: GNU AS: Подключение дисплея на PCD8544 (Часть 7)

Программирование микроконтроллеров *
Туториал


Обсуждение этой и других статей цикла: vk.com/topic-200545792_46642280

Поскольку мигающим светодиодом интерфейс пользователя построить сложно, решил подключить к STM32F407 простенький SPI дисплей из Китая. Интерфейс дисплея PCD8544, подключение по SPI, на aliexpress и ebay обычно ищется по строке LCD nokia 5110, питание дисплея как раз от 2.7 до 3,3 вольт.
По информации полученной из даташита частота SPI дисплея не должна превышать 4 Мгц, однако все имеющиеся у меня экземпляры надежно работали при такте SPI в 21 Мгц…

Описание проекта, исходные тексты программы, настроенный файл автоматической компиляции и сборки проекта под «катом»:
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 10K
Комментарии 7

STM32F4: GNU AS: Прерывания, Системный таймер (SysTick) (Часть 6)

Программирование микроконтроллеров *
Туториал


обсуждение этой и других статей цикла: vk.com/topic-200545792_46642273

В первых публикациях — мы тактировали микроконтроллер от внутреннего тактового генератора (HSI)… ну если быть совсем точным, то мы вообще не настраивали тактирование микроконтроллера, и пользовались тем состоянием которое было у микроконтроллера при старте (включении питания, сбросе). Для первых программ это вполне допустимо, но для будущих проектов этого не достаточно, поэтому в пятой части публикации я предложил модуль настройки тактирования микроконтроллера (sysclk) на его «родную» (определенную производителем) частоту в 168 МГц.
Теперь организуем задержку на заданное количество миллисекунд при помощи системного таймера (SYSTICK).
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 11K
Комментарии 1

STM32F4: GNU AS: Настройка тактирования микроконтроллера (Часть 5)

Программирование микроконтроллеров *
Туториал
Все что нам нужно знать для написания программ на языке ассемблера для stm32f4 я уже написал, ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)
STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)

Обсуждение можно вести на платформе VK: vk.com/topic-200545792_46642258

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

Для начала, запустим микроконтроллер на его штатной частоте: 168 мгц, от внешнего кварцевого генератора, с использованием PLL.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 9.9K
Комментарии 0

STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)

Программирование микроконтроллеров *
Туториал
В прошлых публикациях я показал от чего можно оттолкнуться при написании программ для STM32F4, настроили среду компиляции, определили файл компоновщика, получили шаблонный файл программы на языке ассемблера, попробовали настроить GPIO микроконтроллера и помигать светодиодом.

Ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)

Обсуждение этой публикации, задать вопросы, внести предложения можно в VK: vk.com/topic-200545792_46642149

Теперь пришло время разобраться в компиляции программ состоящих из нескольких файлов, разобрать способ написания программ для нескольких отладочных плат, научиться выносить настройки программы для удобного их изменения
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 8.5K
Комментарии 0

STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)

Программирование микроконтроллеров *
Туториал
Ну что же, новогодние праздники кончились, и начались трудовые будни :-) Продолжим разбираться с ассемблером на примере микроконтроллера STM32F4

Обсуждение статьи доступно на платформе VK: vk.com/topic-200545792_46642025

Ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)

В комментариях никто не отписался о том что ему удалось запустить «мигалку» на STM32F4 Discovery — значит либо не пробовали, либо не удалось. Исправим эту мелочь:
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 14K
Комментарии 16

STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)

Программирование микроконтроллеров *
Туториал
Это вторая публикация на тему программирования микроконтроллеров STM32 на языке ассемблера, первая часть находится Здесь.

Если у вас возникли вопросы или пожелания, но вы не можете здесь писать то переходите в VK: vk.com/topic-200545792_46641967

Дополнительно, обращаю внимание что сейчас (2021 год) написан небольшой редактор для программирования на ассемблере, в котором так же был написан код аналогичной функциональности, но с использованием «плюшек и удобных подушек» редактора, посмотреть конкретно про написание мигалки в нем можно в статье Assembler Editor Plus: Использование модулей (возможно в процессе прочтения нужно будет пройти еще по нескольким ссылкам где будет описано про функциональность редактора в общем, и как выполняется создание проекта, компиляция, прошивка, отладка)

Итак, в прошлой статье мы создали инструмент при помощи которого, можно произвести компиляцию и компоновку (линковку) проекта на языке ассемблера. Теперь напишем программу за работой которой можно наблюдать.

Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 26K
Комментарии 8

STM32F4: GNU AS: Программирование на ассемблере (Часть 1)

Программирование микроконтроллеров *
Туториал
Из песочницы
Обсуждение статьи после прочтения или задать вопросы можно в VK: vk.com/topic-200545792_46641834

Так же теперь (2021 год) я написал небольшой редактор для программ на ассемблере, начинать читать можно с Редактор ассемблера для ARM микроконтроллеров для компилятора gnu as. Старт там же можно будет и создавать проект в более удобном формате нежели описано в этой и нескольких последующих статьях. При этом рекомендую все таки ознакомится со всеми статьями по этой тематике в моих публикациях, так как не везде я повторяю прошлые материалы.

Это моя первая статья для сообщества Хабрахабр и написать ее я решил про то что сейчас волнует меня самого: написание программ для микроконтроллеров STM32 (семейство АRМ) на языке ассемблера. Я использую отладочную плату на основе микроконтроллера STM32F407 (STM32F4 Discovery, Open407I-C), но статья будет не менее полезна и для программирования других микроконтроллеров STM32.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 62K
Комментарии 45

Информация

В рейтинге
Не участвует
Откуда
Чукотский АО, Россия
Дата рождения
Зарегистрирован
Активность