littlebot
Published on 2025-04-09 / 3 Visits
0

【源码】基于STM32F0xx微控制器的太阳能赛车固件系统

项目简介

本项目为滑铁卢大学Midnight Sun太阳能赛车团队的第14代赛车开发固件系统。该系统基于STM32F0xx微控制器,主要处理CAN通信、GPIO控制、中断管理等功能。项目包含多个模块,如CAN通信模块、GPIO模块、中断管理模块等,还有相应测试代码和工具脚本。

项目的主要特性和功能

  1. CAN通信模块:支持CAN总线的初始化、配置、消息发送与接收。
  2. GPIO控制模块:提供GPIO引脚的配置与控制,支持中断功能。
  3. 中断管理模块:支持外部中断的配置与管理,包括中断优先级设置和中断使能/禁用。
  4. 测试与调试工具:包含单元测试、功能测试和调试工具,确保代码的可靠性和正确性。
  5. 跨平台支持:支持x86和STM32F0xx平台的编译与测试。
  6. 静态分析与内存调试:支持Clang/LLVM工具链,提供静态分析、内存调试和多线程调试功能。

安装使用步骤

环境准备

  1. 确保已安装以下依赖:
    • GNU ARM Embedded toolchain
    • GNU Make 4.0或更高版本
    • Unity C单元测试框架
  2. (可选)安装Clang/LLVM工具链和Bear工具,以便进行更深入的调试和静态分析。

复制项目

bash cd firmware

编译与测试

  1. 编译所有项目: bash make build_all PLATFORM=x86 make build_all PLATFORM=stm32f0xx
  2. 运行所有测试: bash make test_all PLATFORM=x86

常用命令

  • 烧录固件bash make program PROJECT=test_project
  • 运行特定测试bash make test LIBRARY=ms-common TEST=module
  • 调试bash make gdb TEST=can LIBRARY=ms-common
  • 创建新项目bash make new PROJECT=new_project_name
  • 清理构建目录bash make clean
  • 代码格式化与检查bash make format make lint

高级调试(可选)

  1. 静态分析bash make clean bear make build_all PLATFORM=x86 clang-tidy $PATH_TO_C_FILE -checks=*
  2. 内存与地址调试bash make clean make build_all PLATFORM=x86 COMPILER=clang COPTIONS=asan
  3. 多线程调试bash make clean make build_all PLATFORM=x86 COMPILER=clang COPTIONS=tsan

持续集成

项目使用Travis CI进行持续集成测试,确保代码的稳定性和兼容性。每次提交都会触发自动构建和测试流程,涵盖所有支持的平台和配置。

许可证

本项目采用MIT许可证,详情请参阅LICENSE文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】