项目简介
本项目针对STM32F4 Nucleo开发板开展FreeRTOS移植工作。因项目创建时STM32CubeMX不支持最新版FreeRTOS,故手动完成移植。项目集成了FreeRTOS v10.2,同时采用C Unity作为测试框架,可进行单元测试与集成测试。
项目的主要特性和功能
- 实时操作系统支持:集成FreeRTOS v10.2,具备事件组、队列、协程、内存管理、任务管理和计时器等功能,可构建实时操作系统。
- 测试功能:运用C Unity测试框架,支持单元测试和集成测试,能在GDB客户端控制台查看详细测试报告。
- 调试功能:支持以OpenOCD作为调试服务器,gdb - multiarch作为调试客户端,可设置断点和观察点。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装以下工具:
- STM32F446RE Nucleo开发板
- FreeRTOS v10.2
- C Unity测试框架
- GCC工具链 arm - none - eabi - gcc
v5.4.1 20160919 (release)
- OpenOCD v0.10.0
- GDB gdb - multiarch
v7.7.1
构建和运行测试
- 运行单元测试:在项目根目录下执行
make UNIT_TEST=yes
构建用于单元测试的镜像。 - 运行集成测试:在项目根目录下执行
make INTEGRATION_TEST=yes
构建用于集成测试的镜像。 - 清理构建文件:在项目根目录下执行
make clean
清理已构建的镜像。
调试步骤
- 启动调试服务器:在项目根目录下执行
make dbg_server OPENOCD_HOME=/PATH/TO/YOUR_OPENOCD
启动OpenOCD调试服务器。注意,运行OpenOCD可能需要超级用户权限。 - 启动调试客户端:
- 打开
./test_utility.gdb
文件,将第73行的file <YOUR_PATH_TO_TEST_IMAGE>
修改为实际的测试镜像路径。 - 在项目根目录下执行
make dbg_client
启动GDB客户端,可进行镜像加载、断点和观察点设置等操作。
- 打开
查看测试报告
在GDB客户端控制台输入 report_test_result
命令,即可查看测试结果,包括运行的测试用例数量和失败的测试用例数量。若有测试失败,报告还会显示断言失败的位置。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】