ax32xx

AX32xx SDK 系统架构分析

基于提供的 main.c 文件和项目结构,AX32xx SDK 采用了模块化的嵌入式系统架构,具有以下特点:

1. 整体架构概览

系统初始化流程

1
2
// 从 main() 函数可以看出系统启动流程:
init() → configSystem() → upgrade() → taskStart() → taskService()

核心组件层次

  • 硬件抽象层 (HAL):底层硬件驱动和控制
  • 系统服务层:任务管理、消息队列、定时器服务
  • 设备管理层:统一的设备驱动框架
  • 应用管理层:多任务系统和UI管理
  • 用户界面层:UI管理和资源管理

2. 任务管理系统

任务注册与管理

任务调度机制

3. 设备驱动框架

统一设备管理

支持的设备类型

4. 消息队列系统

消息处理机制

5. 实时操作系统 (XOS)

定时器服务

6. 资源管理系统

UI资源管理

显示系统

7. 系统控制结构

System_Ctrl_T 结构

1
System_Ctrl_T SysCtrl;  // 全局系统控制结构

包含:

  • 设备文件描述符(电池、USB、按键、SD卡等)
  • 系统状态标志(电源标志、PIP模式等)
  • 消息队列句柄
  • 文件列表索引等

8. 电源管理

电源状态控制

9. 文件系统

存储管理

  • 非易失存储nv_init() 初始化只读资源
  • 文件系统fs_init() 初始化文件系统
  • 文件浏览explorer.c 提供文件列表管理

这个架构设计充分考虑了嵌入式系统的资源限制和实时性要求,通过模块化设计实现了Thumb相机的多媒体功能。