下载
第一步安装keil5
keil5下载官网:Keil Product Downloads
第二步安装器件支持包
确认自己所用芯片型号,arm官网下载阿姆凯尔 |CMSIS包 (arm.com)
第三步安装驱动
安装对应的串口或STLink驱动
创建工程需要对应的库在ST官网上可以下载
STM32标准外设软件库 - 意法半导体STMicroelectronics
如果嫌找资源太麻烦可以直接在我的百度网盘下载
链接:https://pan.baidu.com/s/191sTZImc_E-AjyDcUnsreA
提取码:5smv
安装
这里我已经安装好了keil5所有就不演示了,大约就是找好安装路径(不能有中文),随便填点信息,一直下一步就可以了。之后便是破解,网上很多教程,如果不懂可以看江科大的视频[2-1] 软件安装_哔哩哔哩_bilibili
这个界面是用来安装器件包的,因为速度较慢就不使用了。
这里使用离线安装的方式
找到自己需要的支持包,比如我的是stm32f103c6t6就选STM32F1XX这个,双击打开
下一步(Next)稍等一会出现以下提示,代表安装完成
接下来安装STLINK驱动,在Keil_v5\ARM\STLink\USBDriver目录下也有这个驱动
双击,确认安装即可
安装好驱动后在设备管理器,STLINK显示正常
创建工程
搭建好环境之后就是创建一个工程Project->new Priject
选择路径和命名
选择芯片型号
这个是新建工程助手,暂时不需要,Cancel关闭
找到固件库该路径下的所有文件复制,这些是启动文件
新建一个文件夹用于存放启动文件,这里命名为Start,之后粘贴上去
以下路径的三个文件也粘贴到Start文件夹上,第一个为寄存器描述文件,第二和第三主要用于配置时钟
以下路径的两个文件也粘贴到Start文件夹上,这两个文件主要是内核寄存器描述
Start文件夹主要有以下文件
回到keil5软件界面
先点击再单击,修改目录,将启动文件(我这里是后缀为.md的文件)和.h.c后缀的文件放进去
双击添加,选择All files可以看到全部文件
添加时按Ctrl可以多选
接下来添加头文件路径,点击魔术棒->c/c++->Include Paths旁的三个点
添加Start路径
在工程新建Library文件夹,将下面路径里的文件都复制过来(inc文件夹和src文件夹)
在工程目录下新建Library双击添加刚刚添加的文件(.c和.h都要添加)
在文件目录下创建一个User文件夹,之后在工程目录下新建一个文件夹,添加main.c到User目录下
将下面路径的文件复制到User目录,并将这三个文件添加到工程
在C/C++->Define添加USE_STDPERIPH_DRIVER
像上文中添加路径一样将User和Libaray添加进去
运行代码
在main.c里敲上以下代码
#include "stm32f10x.h" // Device header
int main()
{
//开启时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
//定义结构体变量
GPIO_InitTypeDef GPIO_InitStructuer;
//设置GPIO模式,推挽输出模式
GPIO_InitStructuer.GPIO_Mode = GPIO_Mode_Out_PP;
//设置GPIO引脚
GPIO_InitStructuer.GPIO_Pin = GPIO_Pin_13;
//设置GPIO速度
GPIO_InitStructuer.GPIO_Speed = GPIO_Speed_50MHz;
//传入结构体,初始化GPIO
GPIO_Init(GPIOC,&GPIO_InitStructuer);
//设置PC13为低电平,点亮一盏灯
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
while(1)
{
}
}
编译下载
摁一下开发板复位按钮,成功点灯!
一些问题
由于我的keil版本较高需要安装老编译器
Compiler Version 5编译器在Keil 5.37以后就不再默认安装了
复制一个叫【ARMCC】的文件夹,粘贴到Keil_v5\ARM目录下
在Folders/Extensions标签下,点击右侧省略号添加之前复制的ARMCC文件夹,这样子以来我们的MDK5.37就有Arm Compiler 5了
编译成功