一、环境配置
我们需要以下两个软件
(一)keil5
最正统,最经典的嵌入式MCU开发环境。
该环境的配置可以看看之前的文章
所需文件如下:
当时配置的是STC8H的环境,现在基于此,重新给STM32配置环境。能让STC8H和STM32都能在同一个Keil软件编译运行!
第一步 首先获得并解压ARMCC文件
解压后,将它放置keil5的安装路径下的ARM文件夹中,如下图所示:
(二) STM32芯片包
keil5软件里有时候会弹出CMSIS Packs下载的页面,但是不推荐在那里下载,因为非常的慢!
可以去ARM官方网址下载安装:
Arm Keil | Keil STM32F4xx_DFP
下载完后如下:
然后双击它,将它安装好就行了!
第三步 Keil配置
创建新工程中
这样就配置好了。
创建工程还需要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面(有时间后面再补充吧)。
这里我们直接拿一个demo工程测试一下:
说明你的keil可以编译运行STM32的代码了。
(三)STM32CubeMX
一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Linux®设备树生成相应的初始化C代码。
配置步骤:
1.打开ST官网STM32CubeMX - STM32Cube初始化代码生成器 - 意法半导体STMicroelectronics
2.划到官网主页的最底部(根据自己的电脑型号进行选择)
虽然这是个免费的软件,但是下载还需要注册账号或者作为访客下载,操作有些麻烦。
下载安装就好啦
(四)STM32Cubx新建工程
点击File->New Project来创建一个新的工程。
在弹出的界面中找到并选择对应芯片型号,可以在左上角的对话框中搜索,选中后点击Start Project来新建工程。
可以对芯片引脚进行选择操作啦!
1.stm32功能界面简介
新建工程完毕后将弹出这个界面,下面我将简单介绍一下其中的主要功能。
(1)MCU
首先是这中间这块芯片,有所有引脚的映射。用鼠标左右键点击某一引脚可以直接对其进行配置,一般在引脚用作普通IO口或者将引脚的其他功能映射至非默认引脚时需要对引脚直接操作。
(2)外设配置
左边这一栏是外设配置栏,所有内核有关,数模转换有关或是其他外设配置的初始化都在其中进行设置,包括一些第三方组件和实时操作系统的移植都可以在其中完成,还是非常方便的。打勾的地方说明该功能有配置。
这里我们设置一下RCC时钟源,高速时钟源都由外部晶振产生。
(3)时钟树
上面一栏的第二个选项便是时钟树的配置图,可以直接选择各个节点的分频系数来得到外设的时钟频率;甚至可以直接在相应外设的时钟输出端,也就是最后一项里面输入频率,系统会自动计算出节点的分频系数,不过可能因为目前的算法不够完善,总是会卡住,所以不推荐。当然,在此之前要先在外设配置的RCC配置里面把时钟源设置一下。因为现在不需要功能实现,就先不具体设置。
(4)工程设置
上面一栏的第三个选项是工程设置的选项,这里一般在新建工程后首先配置,因为一般不变,而且容易忽略。这里介绍几个一般配置的点,其他地方基本可以不用关注。
-
工程名(旧版本不允许有中文,当前版本已经支持,**但keil的输出文件中不允许中文,否则会报
-
编译器种类及版本(一般是MDK也就是keil)
-
堆栈大小(一般不用管,特殊项目如USB开发时可能用到)
工程文件创建好了!
(5)程序下载
首先安装ST-LINK驱动
有很多下载的方法,一般都是ST-LINK、J-LINK,也可以下载STM32cubeprogrammer(但是非常不推荐,感觉多此一举了!)
如果匹配成功的话就会有以下显示
随后点击OK就好了
下一步 点击编辑运行
如果没有语法报错,则会是0 error
再下一步 点击烧录程序
如果没有问题的话,信息栏会显示如下