Как стать автором
Обновить
56
0
Алексей @DSarovsky

Пользователь

Отправить сообщение

VSCode+CMake+openocd для программирования и отладки ch32

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров11K

На хабре немало статей по настройке окружения для разработки под микроконтроллеры stm32 и другие платформы. Кто-то предпочитает использовать спец.пакеты (CubeIDE, Keil), кто-то - расширения для IDE "общего назначения" (PlatformIO, VisualGDB), кто-то, как и автор, "голый" CMake в связке с бесплатным VSCode.

В процессе знакомства с пока еще не слишком популярными RISC-V микроконтроллерами ch32, которые, в целом, способны заменить stm32, захотелось обеспечить себе привычную и уже удобную связку VSCode+CMake для программирования, сборки, прошивки и отладки. И это получилось!

RISCнём (по-китайски)

Stm32 + USB на шаблонах C++. Продолжение'. Делаем MSC

Время на прочтение12 мин
Количество просмотров6.2K

В продолжение темы применения современного C++, а именно шаблонов, в программировании микроконтроллеров рассматриваю реализацию еще одного популярного класса USB - Mass Storage, а также вопрос создания композитного устройства.

Читать далее

Корутины C++20 и многозадачность на примере контроллеров stm32

Время на прочтение12 мин
Количество просмотров16K

На Хабре уже неоднократно появлялись статьи, посвященные применению современных стандартов C++ при программировании микроконтроллеров, в том числе и появившихся в c++20 корутин.

Предлагаю спуститься со сложных решений типа целой операционной системы и рассмотреть вопросы примитивного планирования задач с применением сопрограмм.

Читать далее

Отладка драйвера Windows

Время на прочтение16 мин
Количество просмотров21K

Работая со студентами я заметил, что нередко от изучения некоторой области отталкивает не столько сложность непосредственно разработки, сколько проблемы, связанные с настройкой рабочей среды и тестового окружения. Особенно остро эта проблема стоит при низкоуровневой разработке, в частности, драйверов ядра ОС Windows. Данная публикация содержит подробное описание процесса создания, запуска и отладки простейшего драйвера Windows.

Хочу ронять Windows в BSOD

Статическое константное дерево на шаблонах C++

Время на прочтение6 мин
Количество просмотров9.7K

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

В статье предлагается рассмотреть особенности реализации элементарной структуры данных и способы оптимизации в условиях малого объема доступной памяти.

Читать далее

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC

Время на прочтение6 мин
Количество просмотров9.3K

Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC.

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

Читать далее

Stm32 + USB на шаблонах C++. Продолжение. Делаем HID

Время на прочтение11 мин
Количество просмотров7.8K

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

Читать далее

Stm32 + USB на шаблонах C++

Время на прочтение9 мин
Количество просмотров11K

Продвигаясь в изучении программирования микроконтроллеров, я осознал необходимость освоить USB, поскольку это, бесспорно, основной интерфейс НЕ-внутрисхемного подключения устройств. Однако оказалось, что соответствующих материалов в открытом мире немного. Попробуем разобраться?

Попробуем

Снова про шаблоны C++ в микроконтроллерах

Время на прочтение5 мин
Количество просмотров11K

Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля типов, а также приближение к объектно-ориентированному подходу, близкий и удобный многим, без необходимости хранения полей в статическом классе (все поля являются шаблонными параметрами). Однако стоит заметить, что практически все авторы по большому счету ограничиваются в своих работах примерами на работу с регистрами и портами ввода-вывода. В своей статье я хочу продолжить эти идеи.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность