项目简介
本项目是基于STM32微控制器的嵌入式系统框架模板,为开发者提供简单且易于扩展的开发框架,可快速构建STM32应用程序。该模板支持多种STM32系列微控制器,具备良好的可定制性与灵活性,适用于嵌入式系统开发。
项目的主要特性和功能
- 跨平台支持:支持多种STM32系列微控制器,开发者可按需选择。
- 模块化设计:便于开发者根据需求扩展和修改功能。
- 丰富的库函数:提供GPIO、中断、定时器、串口通信等常用功能的库函数,助力快速实现功能。
- 测试框架:内置测试框架,支持单元测试和功能测试,保障代码可靠性。
- 调试工具:提供调试工具配置,支持通过OpenOCD和GDB进行调试,方便排查问题。
安装使用步骤
1. 安装依赖
在Ubuntu系统上安装必要的软件包:
bash
sudo apt install arm-none-eabi-gcc build-essential cmake gcc gdb-multiarch lcov ninja openocd
2. 获取代码
下载并解压项目源码文件。
3. 构建嵌入式固件(交叉编译)
bash
mkdir build_target && cd build_target
cmake .. -GNinja -DCMAKE_BUILD_TYPE=<Debug或Release> -DSELECTED_BOARD=<Your_Board>
ninja
ninja flash
4. 构建测试(本地编译)
bash
mkdir build_test && cd build_test
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Test
ninja
ctest -V
ctest -N
ctest -V -R <Test_Name>
ctest -T Coverage
5. 生成测试覆盖率报告
bash
mkdir test-coverage && cd test-coverage
geninfo ../build -b ../Tests -o ./coverage.info
genhtml coverage.info -o generate-html
6. 调试
启动OpenOCD调试会话:
bash
openocd -f interface/stlink.cfg -f target/stm32f4x.cfg
使用GDB进行调试:
bash
arm-none-eabi-gdb --tui
(gdb) file bin/<firmware_name>.elf
(gdb) target extended-remote localhost:3333
(gdb) monitor reset halt
(gdb) load bin/<firmware_name>.elf
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】