e46c47454fd9b41a9371ed7204ea31a130bada23
姿态传感器
开发环境
环境配置说明
- 下载所有运行条件中提到的文件
- 解压OpenOCD至可找到的文件夹
- 解压protoc-nanopb并解压至可找到的文件夹,添加其内的bin路径到环境变量
- 安装CLion
- 安装arm-none-eabi-gcc,一路下一步即可,可自定义安装路径,安装成功后将bin目录添加至环境变量
- 打开powershell,执行
pip install uv
CLion烧录及调试配置
- 用CLion打开项目路径
- 在弹出的窗口勾选CM4与CM7的启用预设!step1.gif
- 点击确定,开始生成CMake构建缓存!gif20260514054158.gif
- 配置CLion的openocd路径为解压openocd路径下bin文件夹里openocd.exe可执行文件的路径!gif20260514054645.gif
- 添加CLion的openocd烧录目标!

- 点击上方绿色三角箭头即可烧录固件到目标板
技术架构
flowchart TB
subgraph App["用户程序层 src/"]
direction LR
CM7["CM7 导航应用\nmain.c"]
CM4["CM4 采集应用\nmain_CM4.c"]
AppSupport["应用支撑\nshell / banner / time_base / elog_port"]
end
subgraph Service["业务功能层"]
direction LR
LCFSM["组合导航状态机\nlc_fsm"]
SensorTask["传感器采集任务\nIMU / GNSS"]
ProtoApp["消息协议适配\nproto"]
LogApp["日志与命令行适配"]
end
subgraph Domain["功能模块层"]
direction LR
subgraph Nav["loosely_coupled_navigation"]
direction TB
LC["LooselyCoupled"]
Align["Alignment / Attitude"]
INS["INS / Mechanization"]
EKF["EKF"]
EarthMath["Earth / Math"]
end
subgraph Sensors["sensors"]
direction TB
IMU["IMU 统一接口"]
IMUDriver["ADIS16488 / STIM300 / SCH1633"]
GNSS["GNSS 统一接口"]
GNSSDriver["K922 / libnmea"]
end
subgraph Proto["proto"]
direction TB
ProtoFile["V0_0_1.proto"]
NanoPB["nanopb 生成代码"]
end
end
subgraph BSP["BSP 模块 bsp/"]
direction TB
subgraph BspService["BSP 服务接口层"]
direction LR
OpenAMP["OpenAMP"]
Stream["STREAM"]
SPI["SPI"]
Timer["TIMER"]
Exti["EXTI"]
Enter["ENTER"]
end
subgraph BspBase["BSP 基础抽象层"]
direction LR
IO["IO"]
RCC["RCC"]
DMA["DMA"]
Resource["OpenAMP Resource"]
end
subgraph BspPort["STM32H7xx Port 层"]
direction LR
StreamPort["stream_port / stream_uart_port"]
IOPort["io_port"]
SPIPort["spi_port"]
TimerPort["timer_port / time_base_port"]
ExtiPort["exti_port"]
OpenAMPPort["openamp_port"]
RCCPort["rcc_port"]
DMAPort["dma_port"]
end
subgraph Chip["芯片启动与片上资源层"]
direction LR
ChipInit["init_CM4 / init_CM7"]
IT["stm32h7xx_it"]
Memory["MPU / SDRAM / sysmem / syscalls"]
HAL["STM32H7xx HAL / CMSIS"]
end
end
subgraph Lib["第三方与公共库"]
direction LR
ThreadX["ThreadX"]
CMSISDSP["CMSIS-DSP"]
Metal["libmetal / open_amp"]
LwRB["lwrb"]
ShellLib["microshell"]
EasyLogger["easylogger"]
QF["qf-fsm"]
end
App --- Service
Service --- Domain
Domain --- BSP
BSP --- Lib
协作者
高效的协作会激发无尽的创造力,将他们的名字记录在这里吧
协作者
高效的协作会激发无尽的创造力,将他们的名字记录在这里吧
Description
Languages
Markdown
100%