Ultrasonic Blind Spot Lane Monitoring Equipment
Прошивки системы контроля слепой зоны
Прошивки разработаны на C для микроконтроллеров STM32 из-под MDK-ARM 5.13 (Keil uVision). Файлы исходного кода разбиты на папки lamerange -- с проектом прошивкой контроллера сонара, lamectrl -- с проектом прошивки контроллера блока управления, common -- для функций, используемых и там, и там.
Для генерации файлов прошивки требуется склонировать репозиторий и собрать исходники с помощью MDK-ARM 5.13 и выше.
Краткие описания назначения исходников даны ниже; код в исходных файлах сопровождается комментариями; назначение публичных функций дано в соответствующих заголовочных файлах.
Прошивка контроллера сонара в процессе бурной разработки. Состоит из BSP (Board Support Package, драйверы платы, основанные на CMSIS, файлы, начинающиеся с bsp*) и логики работы в main.c и irq_handlers.h/c, основанной на BSP.
Номера портов и прочее следуют за (очевидно) принципиальной схемой.
lamerange/bsp_clocks.h/c -- функции работы с RCC STM32 на плате сонара
lamerange/bsp_syscfg.h/c -- функции настройки переферии SYSCFG STM32
lamerange/bsp_tx.h/c -- функции для работы передатчика ультразвуковых импульсов
lamerange/bsp_power.h/c -- функции для работы с ИП 5 В и 50 В на плате
lamerange/irq_handlers.h/c -- обработчики прерываний NVIC
lamerange/test_sandbox.h/c -- разные временные функции и логика работы
lamerange/main.c -- точка входа
... для заполнения Денисом ...
Общие для обоих проектов исходные файлы.
common/cmsis -- содержит стандартную библиотеку ARM CMSIS. startup-файл модифицирован так, чтобы вызывать main() немедленно после старта контроллера
common/ownassert.h/c -- "местная" реализация assert
common/misc.h/c -- прочие функции; например, софтовая эмуляция инструкций CLZ и RBIT для ядра Cortex-M0