Рубрика «Zephyr Project»

Всем привет! Сегодня хочу углубиться в одну из самых важных тем в мире Zephyr OS — синхронизацию потоков и задач. Если вы хоть раз работали с k_thread_create, гоняли потоки туда-сюда и ловили bus fault, вы меня понимаете.

Когда задача одна — всё просто. Но как только вырастает многопоточность, задачи начинают драться за общий ресурс — и тут без надёжной синхронизации не обойтись. У Zephyr OS есть три главных инструмента для этого: spinlock, mutex и semaphore. Каждый со своим характером и подводными камнями.


🚥 Зачем всё это нужно?

Читать полностью »

Proxy MCAL для Микроконтроллера - 1

Пролог

Каких только микроконтроллеров мне не приходилось программировать за 12 лет: AVR, STM8, MSP430x, STM32, NXP (LPC2148), Xilinx MicroBlaze, NIOS II, MDR32, ESP32, MIK32, SPC58NNx, сс26x2, NRF53, Artery AT32, YTM32, FlagChip FC7300x. В сумме 16 семейств микроконтроллеров. Все они разные, как снежинки.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js