【stm32_1】集成开发环境的搭建 + KEIL5使用STM32标准固件库源码建立M4工程模板

1.MDK软件的下载

使用该链接直接下载所需mdk:https://armkeil.blob.core.windows.net/eval/MDK***.EXE

比如指定5.26版本,https://armkeil.blob.core.windows.net/eval/MDK526.EXE

MDK软件的结构

2.软件安装完成后,要安装ST公司提供的芯片支持包xxxx.pack,双击运行程序即可

进入官网www.keil.com 按图示找到支持包。

M4开发板搭载的芯片是ST公司设计的芯片,型号为STM32F407ZET6,芯片采用的内核为ARM公司设计的Cortex M4内核(主频高达168MHZ,带DSP和FPU 浮点运算单元),对于芯片型号的说明可以参考ST公司提供的芯片选型手册。

双击运行,该程序会自动识别到keil程序。

3.MDK软件的配置

ST公司一共开发了两套库(标准外设库 +HAL库),为了快速入门,先使用标准外设库进行开发。

STM32标准外设库是ST公司专门针对STM32提供的一系列API(函数接口),用户可以调用这些函数来配置STM32底层的寄存器,所以开发人员不需要特别关注底层寄存器操作,有利于快速开发和维护。

++库是架设在寄存器和用户代码之间的代码,向下与寄存器相关,向上提供给用户相关接口。++

完成对keil的下载和对芯片支持包的配置后,来到"使用STM32标准固件库源码建立开发工程"。

4.从st官网下载stm32固件库源码

st官网:意法半导体官网 | ST官网 - STMicroelectronics

5.下载stm32固件库源码,解压后目录分布如下

6.新建一个文件夹存储过程目录

在新文件夹中创建7个文件夹。如上图

CMSIS:Cortex微控制器软件接口标准文件,该目录下文件适用所有Cortex系列(启动文件、配置文件) (放和内核相关的文件)

DEVICE_LIB:M4对应外设的模块代码。(放外设的源文件、头文件)

HARDWARE:用户实现的模块功能函数(放自己编写的源文件、头文件)

LIST:链接相关(放产生的中间文件)

OBJ:编译产生的中间文件+hex/bin文件(放生成的可执行文件)

SYSTEM:系统相关代码(放系统配置文件)

USER:自定义代码(main.c) (放自己的程序)

7.将stm32固件库的代码拷贝到各个文件夹内,拷贝位置如下

8.keil5创建工程 + 配置工程(项目保存位置:自己新建的工程文件夹first_project/USER)

1.打开keil5,选中project-->new project-->在弹出的对话框中,选择项目保存位置。

2.保存后,选择该工程的芯片型号,如下图。(前提是安装了芯片型号对应的pack)

3.选定型号后,出现下图,为该项目添加要使用的模块代码,需要就勾选。(使用固件库源码复制,不需要此步骤,直接关闭)。

4.创建成功后,出现下图结构。(必须对项目内文件夹分布作规划)

每个文件夹命名与工程代码框架类似,见下图

5.每个文件夹内文件分布如下

6.打开main.c,删除所有代码,作以下简单代码编写。

7.对工程进行配置,具体步骤如下。Project-->options for target

STM32F40_41xxx:该宏指定芯片的型号,不同型号对应的硬件代码有不同,必须定义。

USE_STDPERIPH_DRIVER:该宏指定是否启用外设,定义则为启用外设,必须定义。

8.点击按钮编译。

9.若编译出错,因为拷贝的中断源文件中,添加了多余代码,作以下修改。若成功编译通过,可以往里面添加模块功能。

相关推荐
匿名了匿名了11 分钟前
直流无刷与直流有刷电机
stm32·嵌入式硬件·mcu
水果里面有苹果14 分钟前
26-MT41J64M16LA-187E 美光科技DDR3 SDRAM 1Gb
嵌入式硬件
三佛科技-1873661339731 分钟前
LPK8717省外围无需启动电阻,12W自供电PSR控制芯片恒压恒流方案
单片机·嵌入式硬件
陶瓷好烦1 小时前
智能编码助手:VSCode+Keil+Kilo Code打造自然语言编程环境
vscode·stm32·单片机
cmpxr_1 小时前
【单片机】51单片机的晶振选择
单片机·嵌入式硬件·51单片机
松小白song1 小时前
如何在定时器中断中实现PWM波形切换?
stm32·单片机·嵌入式硬件
asjodnobfy2 小时前
生产过程中的电容损坏分析
嵌入式硬件·硬件工程
be to FPGAer2 小时前
设计约束命令和SDC命令
单片机·嵌入式硬件
Flamingˢ2 小时前
ZYNQ+OV5640+VDMA+HDMI视频链路搭建实录:从摄像头采集到实时显示
arm开发·嵌入式硬件·fpga开发·vim·音视频
Topplyz2 小时前
PCB开尔文走线
嵌入式硬件·pcb·layout