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

相关推荐
CodeCraft Studio3 小时前
构高可靠嵌入式软件开发环境:Green Hills嵌入式IDE、编译器与JTAG调试工具全面解析
ide·嵌入式硬件·嵌入式开发·c++编译器·嵌入式开发工具·green hills·jtag调试
我不是程序猿儿3 小时前
【嵌入式】中断(Interrupt)和外部中断(External Interrupt)
单片机·嵌入式硬件
姓刘的哦3 小时前
RK3568之pinctrl子系统和GPIO子系统
单片机·嵌入式硬件
我不是程序猿儿3 小时前
【嵌入式】MCU常用外设模块介绍
stm32·单片机·嵌入式硬件
芯联智造12 小时前
【stm32简单外设篇】- WS2812单线地址式 RGB 灯带
c语言·stm32·单片机·嵌入式硬件
7yewh15 小时前
jetson_yolo_deployment 02_linux_dev_skills
linux·python·嵌入式硬件·yolo·嵌入式
香水5只用六神19 小时前
【DMA】存储器到外设模式实验2
c语言·git·stm32·单片机·嵌入式硬件·github·visual studio
forAllforMe20 小时前
用STM32+LAN9252实现etherCAT 从站IO控制
stm32·单片机·嵌入式硬件
AnalogElectronic20 小时前
RP2040学习4,LED点亮,OLED显示,DHT11温湿度传感器数据读取
单片机·嵌入式硬件·学习