Skip to content

Latest commit

 

History

History
50 lines (27 loc) · 2.93 KB

README.md

File metadata and controls

50 lines (27 loc) · 2.93 KB

US-LAME

Ultrasonic Blind Spot Lane Monitoring Equipment

Прошивки системы контроля слепой зоны

Краткое описание состава прошивки

Общее

Прошивки разработаны на C для микроконтроллеров STM32 из-под MDK-ARM 5.13 (Keil uVision). Файлы исходного кода разбиты на папки lamerange -- с проектом прошивкой контроллера сонара, lamectrl -- с проектом прошивки контроллера блока управления, common -- для функций, используемых и там, и там.

Для генерации файлов прошивки требуется склонировать репозиторий и собрать исходники с помощью MDK-ARM 5.13 и выше.

Краткие описания назначения исходников даны ниже; код в исходных файлах сопровождается комментариями; назначение публичных функций дано в соответствующих заголовочных файлах.

lamerange

Прошивка контроллера сонара в процессе бурной разработки. Состоит из 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 -- точка входа

lamectrl

... для заполнения Денисом ...

common

Общие для обоих проектов исходные файлы.

common/cmsis -- содержит стандартную библиотеку ARM CMSIS. startup-файл модифицирован так, чтобы вызывать main() немедленно после старта контроллера

common/ownassert.h/c -- "местная" реализация assert

common/misc.h/c -- прочие функции; например, софтовая эмуляция инструкций CLZ и RBIT для ядра Cortex-M0