倘若使用到了某些 ST 的外设, 比如说要驱动屏幕了, 要使用 FSMC 外设, 那么首先需要在 library 目录下加入官方的 stm32f10x_fsmc.h 和 stm32f10x_fsmc.c 两个文件.
点击品字形按钮, 添加刚刚追加的文件到工程目录树中. 只需要添加 c 文件.
直接在 driver 目录下创建对应文件夹就可以了, 比如说, 使用电机, 直接在 driver 中新建一个 motor 文件夹.
每一个驱动应包含 bsp_xxx.h bsp_xxx.c test_xxx.h test_xxx.c 四个文件, bsp_xxx 为驱动实现文件, test_xxx 则是提供一个简单使用驱动的示例, 提供学习参考. 主函数测试驱动的功能只需要调用 test 提供的测试函数就可以了.
点击品字形按钮, 添加刚刚追加的文件到工程目录树中. 只需要添加 c 文件.
点击魔术棒按钮, 进入 C/C++ 选项卡, 将 ../driver/motor 目录添加到编译器的查找路径中
先创建一个 template 文件夹, 然后在 template 目录下创建 doc driver library listing output project startup user 这些目录.
这里可以直接使用 git bash 创建更快, 直接在 git bash 中敲这些命令即可, 复制它然后粘贴到 git bash 中执行
$ mkdir template
$ cd template
$ mkdir doc driver library listing output project startup user
文件夹 | 主要存放的文件 |
---|---|
doc | 相关的说明文档, 相关知识的博客地址, 学习笔记等 |
driver | 驱动模块的驱动文件, 每一个模块分别占据一个子文件夹 |
library | ST 官方库文件, 仅仅需要将使用的库文件添加进来即可 |
listing | 链接时产生的一些中间文件, 不需要被 git 管理 |
output | 编译时产生的一些输出文件, 不需要被 git 管理 |
project | 工程配置文件, 保存工程的相关配置(比如说下载器的设置) |
startup | ST 官方提供的库相关的核心代码, 包括引导启动的汇编代码 |
user | 上层应用程序代码相关文件, main 函数入口文件 |
template
|--- driver
| |--- systick /* 使用滴答定时器进行精确延时 */
| | |--- bsp_systick.h // 此驱动由 mz8023yt 提供
| | |--- bsp_systick.c // 此驱动由 mz8023yt 提供
| |--- usart /* 串口实现 printf 打印调试功能 */
| | |--- bsp_usart.h // 此驱动由 mz8023yt 提供
| | |--- bsp_usart.c // 此驱动由 mz8023yt 提供
|--- library
| |--- inc /* st 库文件头文件 */
| | |--- misc.h // stm32 中断核心文件
| | |--- stm32f10x_gpio.h // stm32 通用输入输出引脚库文件
| | |--- stm32f10x_rcc.h // stm32 系统时钟配置文件
| | |--- stm32f10x_usart.h // stm32 串口相关库文件
| |--- src /* st 库文件源文件 */
| | |--- misc.c
| | |--- stm32f10x_gpio.c
| | |--- stm32f10x_rcc.c
| | |--- stm32f10x_usart.c
|--- startup /* stm32 库核心代码 */
| |--- core_cm3.h
| |--- core_cm3.c
| |--- startup_stm32f10x_hd.s // 汇编启动代码, 根据 STM32 flash 容量分为 ld md 和 hd
| |--- stm32f10x.h
| |--- system_stm32f10x.h
| |--- system_stm32f10x.c
|--- user
|--- stm32f10x_conf.h // 工程配置头文件
|--- stm32f10x_it.h // 中断控制头文件
|--- stm32f10x_it.c // 中断控制源文件
|--- stm32f10x_main.c
除了 mz8023yt 提供的代码以及 user/stm32f10x_main.c 文件, 其他的代码均可以在 ST 3.5 版本标准库中找到.
使用 keil 打开新建立的工程, 点击"品"字型按钮, 配置工程内部文件组织结构, 以及添加对应的文件到工程中, 这里只需要添加 c 文件和 s 文件.