项目简介
本项目是一个基于STM32F30x系列微控制器的嵌入式系统。主要使用C语言进行开发,采用FreeRTOS作为实时操作系统(RTOS)。集成了硬件驱动、RTOS任务管理、串行通信、GPIO控制、参数管理、版本信息以及命令行shell等功能,为STM32F30x系列微控制器的嵌入式系统开发提供了全面的解决方案。
项目的主要特性和功能
- 硬件驱动:为STM32F30x系列微控制器的多种外设(如ADC、CAN、DAC、GPIO、I2C、SPI、USART、RTC、WWDG等)提供驱动,实现初始化、配置、数据传输和中断管理等功能。
- RTOS任务管理:创建并管理多个FreeRTOS任务,如看门狗任务、LED任务、串行shell任务等,用于监控系统状态、控制LED灯和提供串行通信接口。
- 串行通信:基于RS232实现串行通信,包括数据的发送和接收、中断处理和状态统计,方便用户与系统交互。
- GPIO控制:提供GPIO的初始化、配置、读取和写入功能,可用于控制板载LED灯等硬件。
- 参数管理:实现参数的获取、设置、加载、保存和清除等操作,为系统提供灵活的配置方式。
- 版本信息:定义版本信息结构体和打印函数,用于显示项目的版本详情和相关信息。
- 命令行shell:创建嵌入式系统的命令行shell任务,允许用户通过命令行界面与系统交互,执行各种命令。
- 辅助工具:包含计算CRC32校验和的Python脚本、解析ELF文件的工具,为开发和调试提供便利。
安装使用步骤
工具链安装
- gcc - arm - embedded toolchain:需版本 >= 4.9 - 2014 - q4,可从 https://launchpad.net/gcc - arm - embedded 下载。
- 命令行工具:使用Cygwin(Windows),需安装make、git和Python(版本 >= 2.7)。
- Flash编程工具:
- Windows:使用STM32 ST - LINK utility,将其复制到Tools/st - link目录。
- Eclipse Luna:下载并配置Eclipse Luna,按以下步骤操作:
- 安装插件:Help -> Install new Software -> Add,Name设为
http://pydev.org/updates
,Location设为http://pydev.org/updates
,安装C/C++ Development Tools、C/C++ GCC Cross Compiler Support、C/C++ GDB Hardware Debugging、PyDev for Eclipse、Eclipse Git Team Provider等插件。 - 窗口设置:Window -> Preferences,对C/C++和General相关选项进行设置,如限制控制台输出行数、设置编辑器可扩展性等。
- 新建项目:File -> New -> Makefile Project with Existing Code,Toolchain for Indexer Settings选Cross GCC。
- 取消自动构建:Project -> 取消勾选 "Build Automatically"。
- 项目属性设置:Project -> Properties -> C/C++ General,设置预处理器包含路径、宏等。
- 安装插件:Help -> Install new Software -> Add,Name设为
刷机操作
- Windows:复制ST - LINK工具到指定目录后,执行
make boot_flash
和make flash
。 - Linux:安装udev规则后,执行
make boot_flash
和make flash
。
调试操作
若GDB提示自动加载被拒绝,在用户主目录创建.gdbinit文件,内容为 set auto - load safe - path /
,之后执行 arm - none - eabi - gdb obj_app/drquad32.elf
进行调试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】