Spinlock vs. Mutex vs. Semaphore: Разбираемся в синхронизации с Zephyr OS

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

https://habr.com/ru/articles/925168/

#многопоточность #многопоточное_программирование #rtos #ZephyrOS #zephyr_project #embedded #embedded_software_development #embedded_systems

Spinlock vs. Mutex vs. Semaphore: Разбираемся в синхронизации с Zephyr OS

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

Хабр

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

При продолжительной разработке на одном семействе микроконтроллеров получается так, что приложение намертво привязано к конкретному семейству микроконтроллеров и его SDK, так как напрямую использует HAL от вендора. Это особенно явно проявляется в таких случаях, когда надо срочно переносить прошивку на другой микроконтроллер. Получается, что приходится заново писать всю прошивку, всё приложение, драйвера всех ASIC-ов. Драйвер светодиодов, драйвер кнопок, драйвер ASICов c I2C SPI управлением. В общем всё переписывать. Поменяли MCU и пришлось переписать все файлы в репозитории. Нормально так да? В этом тексте я написал, как можно обойти эту проблему.

https://habr.com/ru/articles/829886/

#MCAL #hal #SPL #SDK #binding #proxy #лазаньякод #CLI #Zephyr_Project #AUTOSAR

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

Пролог Каких только микроконтроллеров мне не приходилось программировать за 12 лет: AVR, STM8, MSP430x, STM32, NXP (LPC2148), Xilinx MicroBlaze, NIOS II, MDR32, ESP32, MIK32, SPC58NNx, сс26x2, NRF53,...

Хабр

Автоматическая Генерация Конфигураций для Make Сборок

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

https://habr.com/ru/articles/798213/

#make #preconfig #переменные_окружения #windows #environment #environment_variables #firmware #прошивки #KConfig #Zephyr_Project

Автоматическая Генерация Конфигураций для Make Сборок

Пролог При разработке программного обеспечения (особенно для микроконтроллеров) рано или поздно придется столкнуться с тем, что надо как-то передавать конфигурации для данного программного проекта. В...

Хабр