基于 STM32H750XBH6 微控制器的嵌入式开发项目集合,主要针对 ART-PI 开发板。
STM32/
├── board/art-pi/projects/
│ ├── bootloader/ # 引导加载程序
│ ├── applications/ # 主应用程序
│ └── applications/simulation/ # LVGL 仿真程序
└── README.md
- 主控芯片: STM32H750XBH6 (ARM Cortex-M7, 400MHz)
- Flash: 外置 QSPI Flash (W25Q64)
- RAM: 1MB SRAM
- 显示: LCD 接口支持
- 无线: WiFi 模块 (AP6212)
- 项目主页: ART-PI项目地址
0x08000000 - 0x0801FFFF : Bootloader (128KB)
0x90000000 - 0x907FFFFF : Applications (8MB QSPI Flash)
0x20000000 - 0x2001FFFF : SRAM1 (128KB)
0x30000000 - 0x30047FFF : SRAM2 (288KB)
0x38000000 - 0x3800FFFF : SRAM4 (64KB)
位置: board/art-pi/projects/bootloader/
- 功能: 系统引导加载器
- Flash地址: 0x08000000
- 构建系统: CMake + Ninja
- 工具链: ARM Compiler 6.24 或 GCC 11+
编译命令:
cd board/art-pi/projects/bootloader/build
cmake --preset=default ..
ninja位置: board/art-pi/projects/applications/
- 功能: 主要应用程序,包含 LVGL GUI 和各种外设驱动
- Flash地址: 0x90000000 (QSPI Flash)
- 特性:
- LVGL 8.x 图形界面
- WiFi 连接管理
- FreeRTOS 实时操作系统
- FatFS 文件系统
- 多种外设驱动 (LCD, 触摸, SD卡等)
主要组件:
- LVGL: 嵌入式图形库
- WiFi: 基于 AP6212 模块的无线连接
- FreeRTOS: 实时操作系统
- CLI: 命令行接口
- 外设驱动: LCD, 触摸屏, SD卡, W25Qxx Flash
编译命令:
cd board/art-pi/projects/applications/build
cmake --preset=default ..
ninja编译优化:
- 支持 ARM Compiler 6.24 和 GCC 11+
- 程序大小: ~730KB Code + ~1MB RO-data
位置: board/art-pi/projects/applications/simulation/
- 功能: LVGL 图形界面的 PC 端仿真
- 平台: Windows/Linux
- 工具链: 系统默认编译器 (GCC/MSVC)
编译命令:
cd board/art-pi/projects/applications/simulation/build
cmake ..
make # 或 ninja- ARM 工具链: 以下任一版本
- ARM Compiler 6.24 或更高版本
- GCC ARM Embedded 11.x 或更高版本 (arm-none-eabi-gcc)
- 构建工具: CMake 3.22+ 和 Ninja
- 烧录工具: STM32CubeProgrammer
- IDE (可选): VS Code + CMake 插件
工具链说明:
- ARM Compiler 6: Keil MDK 官方编译器,优化效果好,支持专业调试
- GCC ARM Embedded: 开源免费,广泛兼容,社区支持丰富
- 项目已配置 CMake 预设,支持两种工具链自动切换
项目包含完整的 VS Code 配置:
.vscode/tasks.json- 构建和烧录任务CMakePresets.json- CMake 预设配置compile_commands.json- 代码智能提示
Bootloader 烧录:
STM32_Programmer_CLI --connect port=swd --download bootloader.elf --startApplications 烧录:
STM32_Programmer_CLI --connect port=swd --download applications.elf 0x90000000 -el ART-Pi_W25Q64.stldr -hardRst -rst --start- 基于 LVGL 8.x 的现代化界面
- 支持多屏幕切换
- 触摸操作支持
- 自定义主题和样式
- WiFi 连接管理
- TCP/IP 协议栈 (LwIP)
- 网络配置界面
- Ping 测试功能
- FatFS 支持
- SD卡读写
- 文件管理操作
- FreeRTOS 任务调度
- 任务间通信
- 内存管理
- 定时器服务