Files
STM32F4-Base/App/app/README.md
T

33 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# App/app/ — 应用入口与全局定义
> 应用层的**入口**与**全局定义**:初始化编排、功能编译开关、跨模块的就绪事件定义。
## 文件一览
| 文件 | 作用 |
|---|---|
| `app_main.c/h` | **应用初始化入口 `app_main_init`**:时间子系统优先 → RS485 → NAND → ADC → 诊断(在 `osKernelStart` 之前执行) |
| `app_cfg.h` | **功能模块编译开关**(裁剪测试套件/模块用) |
| `sys_events.h` | **系统就绪事件定义**(CMSIS-RTOS v2 Event Flags:`SYS_EVT_NET_READY` / `SYS_EVT_STORAGE_READY` / `SYS_EVT_FTP_READY` / `SYS_EVT_TIMESYNC_READY` 及命令位) |
## 初始化顺序(`app_main_init`)
```
sd2506_init // 时间子系统优先,使后续日志带时间戳
sys_clock_init // 墙钟(RTC 故障降级并返回 -1 → 触发自检)
rs485_init
gd5f2gq5ue_init
tpafe5160_init
SD2506 诊断 // ID / 时间 / 温度 / 电池
tpafe5160_start_conv_irq // 首次 ADC 转换
```
> ⚠️ 以上全部在内核启动前执行 → **禁止任何 FreeRTOS/CMSIS-RTOS API 调用**
> (`osMessageQueueNew` 等会杀死启动)。内核前日志走无锁静态缓冲(见 `../log/`)。
## 相关文档
- 架构全景:`docs/架构设计/项目架构总览.md`
- 启动顺序与就绪屏障:`docs/架构设计/项目启动顺序管理.md`
- 墙钟:`docs/子系统设计/系统墙钟时间维护说明.md`