找回密码
 立即注册
搜索
查看: 1232|回复: 0

STM32 软件模板

[复制链接]

267

主题

0

回帖

1154

积分

管理员

积分
1154
发表于 2024-2-28 09:53:40 | 显示全部楼层 |阅读模式

创建文件目录如下:

  1. Doc 用于存放文档;

  2. Libraries 用于存放各种库,其中的 STM32Lib 是不可缺少的内核与标准外设的驱动库。原则上,所有的库都不要做任何修改,保持与原始发行状态一致。

  3. MDK-ARM 是与 RVMDK 编译器相关的文件夹,存放工程文件、各种输出文件等;

  4. User 目录用于存放我们自己开发的代码

    • mcu 为 MCU 外设驱动程序文件夹;
    • lib 为一些库程序的文件夹;
    • bsp 为其他板载器件的驱动程序。

MDK 开发环境只支持一级组结构,所以组结构就是扁平化了的。一般包含 STM32Lib、Startup、User、Doc 等组。

把内核及标准外设的驱动(C 文件)加入 STM32Lib 组:

Startup 为启动代码组,要从 .\Libraries\STM32Lib\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 文件夹选择一个。

将 main.c、配置、中断服务等文件加入 User 文件夹并加载到 User 组。

stm32f10x_conf.h 头文件在 stm32f10x.h 中通过判断有无 USE_STDPERIPH_DRIVER 宏定义而确定是否引用。

此外还需要配置工程,定义单片机系列(如定义 STM32F10X_CL)、选择使用标准外设驱动库 USE_STDPERIPH_DRIVER

Include Paths 中配置所有需要引用的头文件所在目录

配置时钟晶体的频率

在需要操作内核或标准外设的地方直接引用库的头文件(stm32f10x.h)即可:

在编译的时候可以看到所有的库文件都被编译了,速度很慢,如果没有使用某个库文件,可以选择不编译它。

取消选择 Include in Target Build 即可。

在 C/C++ 选项卡中选中 One ELF Section per Function 选项可将用不到的函数排除在编译结果之外,从而减小生成程序的大小。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-11-21 14:30 , Processed in 0.016987 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表