博客地址:
Keil开发环境搭建和基础使用jason-xy.cn任务目标
- 如何建工程。
- 如何配置与设置工程。
- 如何编译自己开发的程序。
- 如何调试。
- 如何用KEIL开发stm32开发底层程序。
- 如何下载编译过后的代码。
- 如何查看寄存器。
- 如何知道生成代码的地址。
......
keil的安装
默认已经安装完成。
keil的使用
1.如何新建工程(以STM32F1xx为例)
准备工作
- 新建工程文件夹
- 下载并解压官方的标准外设库
- 在1.中新建的文件夹下新建Libraries文件夹,用于存放标准外设库。
- 在Libraries下新建CMSIS并将STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport中的文件复制到CMSIS中;
再将STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x中的文件全部复制到CMSIS中。最终CMSIS中的文件如图。
- 将STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver复制进Libraries文件夹,并将STM32F10x_StdPeriph_Driver改为FWLIB。
- 在工程文件夹目录下新建User文件夹,随便写一个main.c放进去也行。
准备基本完成
新建工程
在keil中新建一个工程文件,如图:
保存到刚刚新建的文件夹中,如图:
随即选择所开发的芯片型号,如图(STM32F103C8为例):
确定之后跳出一个窗口,直接关掉(这是让选择启动引导等的,我们已经下载的库里有,所以跳过这一步)。点箭头指出的图表,然后删除掉SourceGroup1。
配置与设置工程
依次添加CMSIS、USER、FWLIB、STARTUP,并把刚刚复制在对应文件夹下的文件添加。注意的是STARTUP要选择NewProjectCMSISstartuparm中startup_stm32f10x_hd.s、startup_stm32f10x_ld.s、startup_stm32f10x_md.s三个中的一个,根据需要选取。文件类型选择所有。 FWLIB中只需要添加src中的.c文件即可。 CMSIS中不需要添加STARTUP中的文件。 添加完毕点击OK。
然后点击魔法棒,进入C/C++设置界面,在define一栏输入 USE_STDPERIPH_DRIVER ,并在includepath栏加入头文件路径。
至此,工程创建完毕。
*1.如何新建工程(以STM32F1xx为例 & 使用keil包管理器)
*1.1新建工程
*1.2选择芯片
*1.3添加组件
以点灯为例,只需要用到这三个标准库模块
*1.4添加用户文件夹并编写点灯程序
*1.5配置魔术棒
点击魔法棒,进入C/C++设置界面,在define一栏输入 USE_STDPERIPH_DRIVER
工程创建完成
2.编译程序
根据需求选择编译的方式,在下方输出窗口可以看到报错和警告。
3.调试
3.1硬件仿真调试
进入调试模式:
调试面板详解:
- 调试选项
- 面板内容
3.2软件仿真调试
修改魔法棒中Debug选项卡,如图:
Dialog DLL改为 DARMSTM.DLL
Parameter改为 -pSTM32F103C8(此项根据具体型号而定)
以引脚的逻辑分析为例
设置想要检测的引脚:
点击run即可查看引脚电平图像:
4.用KEIL开发stm32开发底层程序
在User文件夹下编写程序。
以点灯为例(使用库函数):
#include "stm32f10x.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//开启对应时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;//选择控制引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//设置引脚模式为通用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//设置引脚速率为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIO
GPIO_ResetBits(GPIOC, GPIO_Pin_13);//点灯
return 0;
}
5.下载编译过后的代码
以ST-Link仿真器为例。
- 安装并更新仿真器驱动。
- 用仿真器连接开发板。
- 设置魔法棒
选择ST-Link进行调试
Flash下载设置
- 点击下载
- 查看运行情况
灯泡点亮,程序正在运行。
6.查看寄存器
在左侧寄存器面板查看:
具体的寄存器含义:
7.查看生成代码的地址
也可以在右下方Memory1选项卡中查看和修改内存中存储的数据。