Базовые макросы. Взгляд из ассемблера ARM Cortex-M.

Всем привет.

Здесь я коротко напишу про вид из ассемблера базовых макросов min(a,b), max(a,b) и isEqual(a,b).

Первые два иногда пригождаются, третий — весьма спорный, но иногда его удобно использовать.

Заметка будет короткой и наверняка не интересной для профи, которые знакомы с архитектурой ARM-Cortex, и понимающие отличия ARM-режима процессора от THUMB-режима) Кому все же интересно — добро пожаловать под кат.

we.zloy_pakimon.arm_asm_macro_1



Читать дальше

Коротенький диспетчер

Понадобился мне небольшой диспетчер. Вот, собственно, результат. Тут, конечно, фиг чего нового придумаешь, но все таки пусть лежит. Нуждается в легком допиливании, ибо добавление задачи сверх положенного сорвет контроллеру крышу, ну и стек в прерывании некисло прогружается. Под катом здоровая простыня кода, можно сразу копировать и запускать. Есть фрагменты кода DI HALT`a, они со мной давно ))


Читать дальше

1-Wire: алгориттма поиска ROM, реверс

Одолела тут детская болезнь — «написать свой 1-Wire с преферансом и куртизанками», точнее с определением количества устройств на шине. Готовые проекты, которые нашёл, не являются библиотеками по принципу «подключил и пользуйся», только как примеры. (Здесь тоже этого нет — возможно, позже). Сам алгоритм описан в AN187.

Читать дальше

Изучение ассемблера на PIC32: COM, буферизованная запись

PIC
Учимся работать со структурами данных, вложенными функциями. Использование препроцессора языка C совместно с ассемблером. На этот раз микроконтроллер PIC будет выводить «Hello World» через COM порт.


Читать дальше

Изучение ассемблера на PIC32: последовательный порт (COM)

PIC
Передаем один байт с платы Chipkit Uno32 на компьютер через UART. Углубляемся в архитектуру процессоров MIPS32.


Читать дальше

Изучение ассемблера на PIC32: моргаем светодиодом

PIC
Постижение программирования под микроконтроллеры требует, если не навыка работы с ассемблером, то хотя бы понимания ассемблера. Я буду использовать Arduino совместимую плату, чтобы показать, как работать с ассемблером на контроллерах PIC32. Начну, по традиции, с мигающего светодиода, который уже распаян на плате.


Читать дальше

AVRASM: Пример использования "Диспетчера задач RTOS 2.0" (установка и настройка)

AVR
Для демонстрации основных возможностей и особенностей «Диспетчера задач RTOS 2.0» был собран демонстрационный макет, на основе «Универсальной макетной платы для МК в DIP-корпусе». В качестве прикладной задачи: мигаем светодиодами, в разных режимах…


Читать дальше

AVRASM: Диспетчер задач RTOS 2.0 (псевдо кооперативная ОС)

AVR
Отрефакторил код «Диспетчера задач RTOS» (псевдо кооперативной ОС), оптимизировал и универсализировал, добавил новые фичи, декларировал чёткое API, и опубликовал на GitHub… Фактически, весь код был переписан сызнова, по прототипу DI HALTа.

Operating system placement


Читать дальше

AVRASM: Библиотека Подпрограмм общего назначения "GENPROCLIB.INC"

AVR
Библиотека «Подпрограмм общего назначения» содержит самые необходимые процедуры, нужные практически в каждом проекте: для Записи/Чтения памяти EEPROM; для Временной Задержки; и др.


Читать дальше

Easy_I2C AVR ASM практикум начало

AVR
ОТРЕДАКТИРОВАНО 22.12.2013 благодаря комментариям.
I2C это достаточно важный раздел который я не изучил в AVR Mega на ASMе. Вот и решил восполнить этот пробел. В этом посте не будет прикольных графиков, фоток, схем зато будет много унылого кода на ASMe. Врать не буду но времени ушло на изучение больше 2-х месяцев. Причин много — это и работа, и работа, и работа, и (ремонт на кухне)*100500, и изготовление отладочной платы с PCF8574+PCF8574+MCP23016+DS1307+AT24C512+AT24C512+PCF8591

Читать дальше
  • +1
  • 16 декабря 2013, 23:23
  • deses