diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index e402189..98ce109 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,21 +4,21 @@ "type": "split", "children": [ { - "id": "f445e7e4c04b6d6c", + "id": "997f7686f1af758d", "type": "tabs", "children": [ { - "id": "b0ba3684f585064f", + "id": "bb64507ee1b83492", "type": "leaf", "state": { - "type": "split-diff-view", + "type": "markdown", "state": { - "aFile": ".obsidian/community-plugins.json", - "bFile": ".obsidian/community-plugins.json", - "aRef": "" + "file": "README.md", + "mode": "source", + "source": false }, - "icon": "diff", - "title": "Diff: community-plugins.json (Working Tree)" + "icon": "lucide-file", + "title": "README" } } ] @@ -156,13 +156,13 @@ "state": { "type": "outline", "state": { - "file": "conflict-files-obsidian-git.md", + "file": "README.md", "followCursor": false, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", - "title": "conflict-files-obsidian-git 的大纲" + "title": "README 的大纲" } }, { @@ -209,10 +209,10 @@ "pdf-plus:PDF++: Toggle auto-paste": false } }, - "active": "2076822cdefbb8a3", + "active": "bb64507ee1b83492", "lastOpenFiles": [ - "conflict-files-obsidian-git.md", "README.md", + "conflict-files-obsidian-git.md", "未命名.canvas", "诀别书钢琴谱.pdf", "动画.gif", diff --git a/README.md b/README.md index f9c4205..4352161 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,35 @@ > 说明如何运行和使用你的项目,建议给出具体的步骤说明 +* 操作一 `python -m venv .venv` +* 操作二 `.venv\Scripts\activate` +* 操作三 `pip install -r .\requirements.txt` + +## 测试说明 + +> 如果有测试相关内容需要说明,请填写在这里 + +## 技术架构 + +## 项目名称 + +### 姿态传感器 + +## 运行条件 + +> 列出运行该项目所必须的条件和相关依赖 + +* Python==3.14 +* OpenOCD +* CLion +* Arm-none-eabi-gcc + +## 运行说明 + +> 说明如何运行和使用你的项目,建议给出具体的步骤说明 + 1. 下载所有运行条件中提到的文件 -2. +2. ![[动画.gif]] @@ -28,40 +55,90 @@ ```mermaid flowchart TB + Root["CMakeLists.txt\n生成 polaris_${CORE}"] -A["Eclipse ThreadX API"] + subgraph App["应用层 src/"] + direction TB + CM4Main["CM4: main_CM4.c\nIMU/GNSS 采集任务"] + CM7Main["CM7: main.c\n导航事件调度任务"] + LCFSM["lc_fsm.c\n组合导航状态机"] + Shell["shell.c / banner.c / time_base.c / elog_port.c"] + end -subgraph M["ThreadX Services"] -direction LR + subgraph Sensors["传感器层 sensors/"] + direction TB + IMU["imu\n统一 IMU 接口"] + IMUDrv["ADIS16488 / STIM300 / SCH1633 驱动"] + GNSS["gnss\nK922 + NMEA 解析"] + NMEA["libnmea"] + end -subgraph L[" "] -direction TB -T1["Thread Services"] -T2["Counting Semaphores"] -T3["Event Flags"] -T4["Byte Memory Pools"] -end + subgraph Nav["组合导航库 loosely_coupled_navigation/"] + direction TB + LC["LooselyCoupled"] + Align["Attitude / Alignment"] + INS["ins"] + EKF["ekf"] + EarthMath["Earth / Math"] + end -subgraph R[" "] -direction TB -T5["Messaging Queues"] -T6["Mutexes"] -T7["Block Memory Pools"] -T8["Application Timers"] -end + subgraph Comm["核间通信与数据格式"] + direction TB + OpenAMP["OpenAMP / RPMsg\nimu_ready, gnss_data"] + Proto["proto + nanopb\nV0_0_1.proto"] + end -end + subgraph BSP["BSP 与平台层 bsp/"] + direction TB + Board["target/chip: STM32H747 / STM32H7xx"] + Drivers["GPIO / UART / SPI / DMA / EXTI / Timer"] + RTOS["ThreadX"] + Metal["libmetal + open_amp"] + CMSIS["CMSIS / CMSIS-DSP"] + Utils["lwrb / microshell / easylogger"] + end -B["Eclipse ThreadX Core Scheduler"] + subgraph Lib["公共库 lib/"] + direction TB + QF["qf-fsm"] + Log["easylogger"] + end -A --> M -M --> B + Root --> CM4Main + Root --> CM7Main + Root --> Shell + Root --> QF + + CM4Main --> IMU + IMU --> IMUDrv + CM4Main --> GNSS + GNSS --> NMEA + CM4Main --> OpenAMP + + OpenAMP --> CM7Main + CM7Main --> LCFSM + LCFSM --> LC + LC --> Align + LC --> INS + LC --> EKF + LC --> EarthMath + + CM7Main --> Proto + CM4Main --> Log + CM7Main --> Log + Shell --> BSP + + IMU --> BSP + GNSS --> BSP + Nav --> BSP + Comm --> BSP + Lib --> BSP ``` - - - - +## 协作者 + +> 高效的协作会激发无尽的创造力,将他们的名字记录在这里吧 + ## 协作者 > 高效的协作会激发无尽的创造力,将他们的名字记录在这里吧 diff --git a/动画.gif b/动画.gif deleted file mode 100644 index be9d281..0000000 Binary files a/动画.gif and /dev/null differ