【STM32】基于标准外设库的STM32工程模板 - Keil版

目录

  1. 环境条件
  2. 详细步骤
  3. 验证模板

2023-01-16初稿完成
2024-05-15增加使用高版本MDK编译工程报错的解决方法



环境条件

  • MDK版本:Keil MDK_v5.35
  • 标准库版本:STM32F10x_StdPeriph_Lib_v3.5.0

固件库可到 ST 社区下载(stmcu.org.cn 或 http://shequ.stmicroelectronics.cn),不过要下载需注册,有点繁琐。几天前逛网站发现官方已经将标准外设库更新到了3.6.0版本,之前很多人说停止更新了(毕竟有好久没更新了)



详细步骤

新建文件夹
复制相关库文件
新建空工程框架
添加文件到工程
配置工程


新建文件夹

以 STM32103RCT6 为例。新建一个文件夹,文件夹名称看个人喜好:
在这里插入图片描述


复制相关库文件

库文件夹名拷贝的文件粘贴位置
CoreSupportcore_cm3.c
core_cm3.h
core
arm启动文件
(依据自己具体单片机型号选择)
core
incinc文件夹lib
srcsrc文件夹lib
STM32F10xstm32f10x.h
system_stm32f10x.c
system_stm32f10x.h
user
STM32F10x_StdPeriph_Templatestm32f10x_conf.h
stm32f10x_it.c
stm32f10x_it.h
main.c(如果不复制就自己建一个)
user

stm32f10x_it.cstm32f10x_it.h 是外设中断函数文件,用来编写中断服务函数,用户可以相应地加入自己的中断程序代码。
stm32f10x_conf.h 是配置文件,里面有很多#include。在建立工程时,可以注释掉一些不用的外设头文件。

关于启动文件:(可能有错,建议百度)

启动文件容量大小例如
startup_stm32f10x_cl.s互联型STM32F105xx/107xx
startup_stm32f10x_hd.s大容量STM32F101xx/102xx/103xx
startup_stm32f10x_hd_vl.s大容量STM32F100xx
startup_stm32f10x_ld.s小容量STM32F101xx/102xx/103xx
startup_stm32f10x_ld_vl.s小容量STM32F100xx
startup_stm32f10x_md.s中容量STM32F101xx/102xx/103xx
startup_stm32f10x_md_vl.s中容量STM32F100xx
startup_stm32f10x_xl.sFlash在512K ~ 1024K字节STM32F101xx/102xx/103xx

cl:互联型产品
vl:超值型产品
xl:超高容量产品,stm32f101/103系列
ld:低容量产品,Flash ≤ 32K
md:中容量产品,64K≤ SFlash ≤128K
hd:高容量产品,256KSFlash


新建空工程框架

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


添加文件到工程

① 点击选择 Manage Project Items 。将图中圈住的两个双击重命名(看自己需求):
在这里插入图片描述


② 建分组。在“Groups”追建两个组:core、lib。如下:
在这里插入图片描述


③ 给每个组添加库文件。user组、core组、lib组所添加的文件如下:
lib组的文件可以自主选择,只要自己轻车熟路,知道所使用的外设需要哪几个文件就行。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


④ 最后点击 OK。
在这里插入图片描述


配置工程

设置Output路径。选择自己建的 obj 文件夹。勾选生成hex文件的选项。如下:
如果不设置 Output 路径,则默认的编译中间文件存放在MDK自动生成的Objects文件夹和 Listings文件夹。其实不考虑规范性的话这一步可以不要。
在这里插入图片描述

配置全局宏定义变量。3.5版本的库函数在配置和选择外设的时候要通过宏定义来选择。可根据你选择的芯片或启动文件修改,STM32F10X_HD(大容量),STM32F10X_MD(中容量),STM32F10X_LD(小容量)。

STM32F10X_HD,USE_STDPERIPH_DRIVER 中的逗号是英文逗号。

③ 点击右边小按钮添加工程引用到的所有头文件的路径。每个头文件所在的文件夹为一条路径,我这里添加了三条路径(user文件夹、core文件夹、inc文件夹)。添加完毕点击 OK
在这里插入图片描述


MDK_5.36 的这里默认使用AC6编译,这里不同的就改成AC5。
在这里插入图片描述
在这里插入图片描述



验证模板

打开 user 组里的 main.c,复制下面代码到 main.c 进行编译。不报错并在 obj 文件夹里生成 hex 文件则说明工程无误。(记得在代码的最后一行再加上一个回车,否则会有编译警告,网上说是 MDK的 bug)
在这里插入图片描述

强调:给出的代码示例是没有错的。不要再跟我说什么复制的代码的错误,代码哪行有错之类的话了。请检查你的电脑、MDK或工程的配置
在这里插入图片描述

#include "stm32f10x.h"

void Delay(u32 count)
{
  u32 i=0;
  for(;i<count;i++);
}

int main(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  //使能PB,PE端口时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//LEDO --> PB.5端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为50MHz
  GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化GPIOB.5
  GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB.5输出高
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//LED1 --> PE.5推挽输出
  GPIO_Init(GPIOE,&GPIO_InitStructure);//初始化GPIO
  GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE.5输出高
  while(1)
  {
     GPIO_ResetBits(GPIOB,GPIO_Pin_5);
     GPIO_SetBits(GPIOE,GPIO_Pin_5);
     Delay(3000000);
     GPIO_SetBits(GPIOB,GPIO_Pin_5);
     GPIO_ResetBits(GPIOE,GPIO_Pin_5);
     Delay(3000000);
  }
}

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: STM32F103系列是一款由意法半导体(STMicroelectronics)推出的32位ARM Cortex-M3内核微控制器,具有丰富的外设资源和较高的性能,广泛应用于各种嵌入式系统中。 针对STM32F103系列微控制器的开发环境,一种常用的选择是使用Keil MDK集成开发环境(IDE),Keil MDK提供了完整的开发工具链,包括编译器、调试器和仿真器等。因此,我们可以从Keil官方网站上下载并安装Keil MDK软件。 下载Keil MDK软件的步骤如下: 1. 打开浏览器,进入Keil官方网站(https://www.keil.com/)。 2. 在网站的主页上,选择“Downloads”或类似的链接,以进入下载页面。 3. 在下载页面中,选择与您的操作系统相适应的本(如Windows或Linux),并单击下载按钮。 4. 下载完成后,双击打开下载的安装文件,按照安装向导的指示进行安装过程。 5. 安装完成后,打开Keil MDK,您将获得一个带有模板工程的初始界面。 通常,在Keil MDK的安装过程中,已经包含了针对STM32F103系列的工程模板。这些工程模板可以帮助我们快速创建一个新的工程,并配置相关的编译选项和设备参数。通过使用这些工程模板,我们可以更轻松地开始开发STM32F103相关的应用程序。 因此,我们只需简单地下载并安装Keil MDK软件,即可获得STM32F103相关的工程模板,方便我们开展基于这一系列微控制器的应用程序开发。 ### 回答2: 要下载STM32F103的Keil工程模板,首先需要在ST官方网站上找到STM32F103系列的相关资料。在官方网站上,我们可以找到STM32F103的技术手册、参考手册、数据表等硬件文档。此外,还可以找到官方提供的启动代码和外设文件。 接着,我们需要下载Keil MDK(Microcontroller Development Kit)软件,这是一款功能强大的嵌入式开发环境,可以用于编译、调试和下载ARM Cortex-M芯片的应用程序。Keil MDK软件可以在官方网站上进行免费试用,并且有一个受限的Lite可以免费使用。 在Keil MDK软件中,我们可以创建一个新的工程,并选择STM32F103系列作为目标芯片。然后,我们可以将官方提供的启动代码和外设文件导入到工程中。启动代码用于初始化芯片的基本设置,例如时钟、中断等,而外设文件则包含了常见外设的驱动函数。 完成以上步骤后,我们就可以开始编写具体的应用程序。我们可以根据具体的需求,在Keil MDK软件的集成开发环境中编写C程序,并利用官方提供的API函数操作STM32F103的各种外设,例如GPIO、UART、SPI等。 最后,编译好的应用程序可以通过Keil MDK软件将其下载到STM32F103芯片中进行运行。我们可以使用ST-LINK调试器或者其他支持的调试器连接到芯片上,对应用程序进行调试和测试。 综上所述,下载STM32F103的Keil工程模板需要进行以下步骤:在ST官方网站上下载相关资料、下载Keil MDK软件、创建新工程并导入启动代码和外设文件、编写应用程序、编译并下载到芯片中进行调试和测试。 ### 回答3: 要下载STM32F103的Keil工程模板,你可以按照以下步骤进行操作: 1. 打开浏览器,搜索“STM32F103 Keil工程模板下载”。 2. 在搜索结果中找到适合的网站,点击进入。 3. 在网站上找到下载页面或者下载链接,并点击进入。 4. 在下载页面上,确认下载文件的本和适用于Keil软件的本,确保兼容性。 5. 点击下载按钮,开始下载这个工程模板文件。根据网速不同,下载时间可能会有所不同。 6. 下载完成后,找到下载文件所存储的位置,通常在默认的下载文件夹中。 7. 将下载的工程模板文件解压到你想要存储的位置。可以选择新建一个文件夹来存储它。 8. 打开Keil软件,点击菜单栏中的“文件”>“打开”,找到你解压后的工程模板文件所在的文件夹,选择主工程文件(通常后缀名为.uvprojx)并打开。 9. 在Keil中,你可以根据需要编辑和调试工程模板,添加你自己的代码或进行其他配置。 10. 编译和下载工程模板STM32F103开发板上进行测试。 请注意,每个网站的下载过程可能会有所不同,以上步骤仅提供了一般的指导。如果遇到问题,你可以参考Keil的官方文档或者咨询其他开发者的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值