Реализация обработчика прерывания клавиатуры в окружении DOS

Резидентный перехватчик аппаратного прерывания клавиатуры для ДОС.


r2aiv
Cover Image

Сегодня мы рассмотрим, как написать простейший перехватчик прерывания под ДОС. Зачем это надо в наше время? Ответ прост - для того, чтобы лучше разобраться как работает машина на низком уровне, общего развития и расширения кругозора, ну и некоторым для написания курсачей. Возможно этот материал будет полезен желающим попробовать написать свою ОС - почему бы и нет?

Интересно? Мы начинаем!

FreeRTOS+CLI. Реализация интерфейса командной строки используя FreeRTOSPlus-CLI.

Большой эксперимент с библиотекой FreeRTOS Plus CLI. Включение её в проект, настройка и использование. Даже некоторые модификации для расширения функционала.


devprodest

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

Если интересно, как запустить этот модуль, использовать и расширить функционал - заметка для вас.

Библиотека компонентов для ALtium Designer.

Представляю мою библиотеку компонентов для САПР Altium Designer.


devprodest
Cover Image

На боковой панеле сайта уже довольно давно присутствует ссылка на мою библиотеку, но видимо мало кто замечает её.

Библиотека содержит множество компонентов и шаблонов для схемного редактора и Drafsman

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

Потоковый буфер FreeRTOS. Stream Buffer.

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


devprodest

По сути данная статья будет являть некоторой адаптацией официального мануала расположенного здесь (RTOS Stream Buffers )

Вот что пишут о них:

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

В отличие от большинства других коммуникационных примитивов FreeRTOS, потоковые буферы оптимизированы для сценариев с одним устройством записи для одного читателя, таких как передача данных из подпрограммы обработки прерываний в задачу или из одного ядра микроконтроллера в другое на двухъядерном ЦП.

printf в микроконтроллере STM32 и других.

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


devprodest

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

Объектом испытания будет выступать микроконтроллер фирмы STMicroelectronics STM32F205RGT6. Почему не ванильный f103? Всё просто, отладку с ним переделал под 205 чип, да и разрабатываемое устройство базируется на 205 чипе. Хотя это на самом деле и не важно, реализация полностью кросплатформенная.

Восстановление клона j-link v8

Простой мануал по восстановлению прошивки программатора.


devprodest
Cover Image

Решил сегодня с утра запустить на отладку код, который вчера написал, но вот незадача, keil виснет. Оказалось отвалился программатор.

Долго не думаю выдернул провод, воткнул снова, но ничего не произошло, единственное windows грустно сообщил, что "устройство не опознано". Мало ли что могло случиться, вкрыл корпус, плата чистая, чай/кофе не проливал, разъём хорошо пропаян, аналогично и остальные компонеты.

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

Статей с полным перечнем всего необходимого не так много, поэтому решил собрать всё здесь, и описать всё максимально коротко, самому что бы не забыть.