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

相关推荐
FreakStudio8 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484913 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150013 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼13 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志13 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi13 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan13 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展13 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件