В этом тексте я написал про то, как самому написать System Software уровня HAL для ARM Cortex-M4 совместимого микроконтроллера.
Как отлаживать такую работу и на что обратить внимание при запуске I2S на Artery MCU.
Embedded SW/Firmware Engineer
В этом тексте я написал про то, как самому написать System Software уровня HAL для ARM Cortex-M4 совместимого микроконтроллера.
Как отлаживать такую работу и на что обратить внимание при запуске I2S на Artery MCU.
Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы.
В этом тексте я написал как автоматически выявить правильную последовательность инициализации
Существует одна остроумная настольная игра, называется Set. Это игра на внимание.
В этом тексте я показал, как я сконструировал автоматический решатель, чтобы всегда выигрывать в игру Set!
В программировании микроконтроллеров на выходе получается довольно много артефактов. Всё это надо как-то связать и заточить в архив, чтобы всегда можно было ассоциировать *.hex с нужным для него *.map и *.elf.
Логичным шагом является архивация всех этих файликов в *.tar архив. Один архив очень удобен при транспортировке программного обеспечения.
В этом тексте я написал как это можно провернуть средствами утилиты GNU Make.
В очередной тестировочной электронной плате появилась нужда выставлять напряжения на клеммах.
Существует очень остроумный способ собрать DAC используя PWM сигнал и аналоговый RC фильтр. На выходе будет желаемое напряжение. Причем, уровнем этого напряжения можно управлять цифровым образом из программы в микроконтроллере.
В этом тексте я написал как мне это удалось.
В программировании микроконтроллеров приходится определять порядок инициализации прошивки. Порядок тут всегда имеет значение.
Дело в том, что прошивка состоит из набора программных компонентов. Каждый компонент вызывает функции из других программных компонентов. Так происходит пере использование кодовой базы.
Чтобы всё это работало надо соблюдать правильный порядок инициализации.
В этом тексте я представил формальный алгоритм определения этого порядка.
По сути это топологическая сортировка ориентированного графа зависимостей программных компонентов.
В этом тексте я написал о некоторых подходах к организации кода для микроконтроллеров.
Основная идея - массив наша основная скрепа.
Главные достоинства представленной архитектуры - это простота поддержки, сопровождения и масштабирования кодовой базы.
В программировании микроконтроллеров на Си часто приходится писать драйверы для умных и навороченных ASIC чипов с управлением по I2C/SPI/MDIO интерфейсам.
Обычно перед запуском эти чипы надо правильным образом сконфигурировать.
Такие чипы всегда оперируют с реальными физическими величинами. Одновременно с этим ячейки памяти этих ASIC чипов - дискретные, двоичные. Поэтому все производители микросхем кодируют эти переменные бинарными кодами разной разрядности.
В этом тексте я показал как можно делать интерпретаторы этих величин.
Аудио кодек по сути это цифро-аналоговое устройство, где есть пара ADC + DAC. На входе обычно есть сумматор на операционных усилителях для подмешивания аналогово сигнала с разных проводов, есть еще аналоговые усилители. Высокоскоростной многоканальный интерфейс: I2S или TDM. И интерфейс I2C для того чтобы всем этим добром управлять.
В этой заметке я написал о своём опыте работы с ASIC аудиокодеком NAU8814.
Существует такое остроумное приспособление как гидротаранный насос. Его ещё называют гидро ударный насос или hydraulic ram.
Это чисто механический прибор, который преобразует кинетическую энергию потока жидкости в потенциальную энергию жидкости. Происходит это благодаря искусственно создаваемым гидравлическим ударам.
Это, пожалуй, единственный в технике пример, когда гидроудар приносит пользу, а не вред.
В этом тексте я расскажу о своём опыте конструирования экземпляра этого прибора.
В программировании микроконтроллеров часто возникает задача найти угол между векторами.
Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.
В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.
Школьные уроки математика не прошли даром.
Вот, настал день, когда впервые пришлось решить на работе Диофантовое уравнение.
В программировании микроконтроллеров часто используют Eclipse с плагинами.
Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).
В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь в разработке больших промышленных командных проектов.
И как можно частично компенсировать недостатки Eclipse с плагинами.
При разработке программного обеспечения придется столкнуться с тем, что надо как-то передавать конфигурации для данного проекта.
Проблема в том, что конфигов становится так много, что можно нечаянно забыть какой-то важный конфиг.
В этом тексте представлен механизм автоматической конфигурации сборки.
Как известно канальные CAN пакеты могут быть размером максимум 8 байт. Одновременно с этим, с более высоких уровней модели OSI могут поступить запросы передать огромные пакеты [ jumbo frame(ы) ]. Как же разрешить это противоречие?
Эту ситуацию призван распетлять протокол ISO-15765-2 (или попросту ISO-TP ).
В этом тексте я выполнил обзор протокола ISO-TP.
Как известно, в широкой продаже не существует компьютеров с интерфейсов CAN. Зато во всех настольных компьютерах и LapTop(ах) есть USB. В связи с этим для отладки оборудования с CAN нужны всяческие переходники USB-CAN.
В этом тексте я покажу как можно проверить это изделие.
Что общего между скрипкой и крылатой ракетой ФАУ-1?
Ответ прост - резонатор Гельмгольца.
На основе физических эффектов можно создавать различного рода датчики.
В этом тексте я высказал предложение использовать резонанс Гельмгольца для измерения объёма ёмкостей. Как следствие датчик уровня жидкостей.
Настало время освоить очередное семейство микроконтроллеров: от компании Artery Technology.
Компания Artery Technology уже возвела полноценную экосистему для своих процессоров. Есть фирменные отладочные платы, программаторы, документация, исходные коды MCAL и даже кодо генераторы.
В этом тексте я представил пошаговую инструкцию того как запрограммировать микроконтроллер Artery.
Существует ASIC чип LTR390. Это датчик ультрафиолетового излучения.
Я разрабатываю Солнечный навигатор. Признаком присутствия естественного света у поверхности Земли может как раз служить факт наличия ультрафиолетовых лучей. Поэтому и пришлось разбираться как подключить датчик УФ к микроконтроллеру.
В этой заметке я написал о своём опыте работы с датчиком LTR390.
В программировании микроконтроллеров новые сборки появляются каждый день.
Какие-то сборки уходят в релиз, а какие-то в циркулируют на разных электронных платах внутри предприятия.
Как отличать прошивки между собой? Как понять, какая прошивка новее, а какая старее?
Проблема в том, что вручную обновлять номер версии прошивки очень утомительно.
В тексте представлен механизм автоматического увеличения версии прошивки