Вектора прерываний в C++ стиле

Хочу представить на суд широкой общественности (да и самому не потерять) мою реализацию таблицы векторов прерываний для arm микроконтроллеров STM32. Данная реализация генерируется из asm-файлов SPL, написана на С++ и облегчает работу поддержкой автодополнений и корректной работой с таблицей векторов в памяти.


Читать дальше
  • +6
  • 11 ноября 2014, 17:25
  • dekar

ИК передача данных

Как при помощи ИК передать 16GB с одного устройства на другое?
Ответ под катом!


Читать дальше
  • 0
  • 10 января 2014, 13:17
  • dekar

Собрать современный ARM тулчейн в Linux

Тут многие говорят, что тулчейн собрать сложно, и надо пользоваться готовыми.
Но мне тут понадобился C++11 (потестить с МК компил-тайм оптимизацию и виртуальные функции), и я решил собрать тулчейн.

binutils — 2.24, GCC — 4.8.2, Newlib — 2.1.0, gdb — 7.6.2


Читать дальше
  • +1
  • 09 января 2014, 17:07
  • dekar

Висящие проводники: беда фоторезиста.

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

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

Водоструйный насос

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


Читать дальше
  • -1
  • 23 октября 2012, 11:22
  • dekar

Удобный скрипт для EAGLE

Предлагаю удобный скрипт для смены слоёв top/bottom.
Скрипт меняет только те слои, которые сейчас используются.


Читать дальше
  • +3
  • 29 августа 2012, 14:18
  • dekar
  • 1

Хак по прерываниям SPI и ноге CS в режиме Master

Как известно, один из наиболее глупых косяков МК серии STM32 — отсутствие аппаратного управления шиной CS.

Когда я задавал французу, который вел лекцию по STM32 в Москве об этом вопрос, он даже удивился: кому это нужно? Однако, много мелкой периферии вообще не заводится без сброса линии CS после каждой посылки — ЦАПы, вообще воспринимают этот строб как команду к выставлению. А те, кто работать без этой линии как-то могут, рано или поздно ловят сдвиг передачи (это когда один строб SCK либо добавляется, либо пропадает) и тоже начинает глючить.

Но это пол беды. Казалось — настрой прерывание Transfer Complete, да дрыгай там ножкой. А вот и нет. Нету там прерывания такого.

Так что приходится применять хак: всегда включать режим полного дуплекса и использовать прерывание RX not empty.



Читать дальше
  • +1
  • 26 апреля 2012, 12:17
  • dekar

Аналогово-цифровой макетник Narsil

Меня таки решили допинать до того, чтобы я запостил в сообщество что-то из своих поделий.

Отладочная плата Palantir сейчас притерпевает радикальные структурные изменения, посему я решил запостить сюда макетную плату для работы с аналоговыми сигналами и сохранении оных. Эту плату я назвал Narsil.



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