开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Stm32 开发环境配置搭建】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/665/detail/11147
Stm32 开发环境配置搭建
搭建一下 32 的开发环境,从建立一个新的工程开始。开发环境用 keil,如果是从keil 的官网去下载它的库,库自动就安装到 keil 的安装目录,如果是从 ST 意法半导体下载库,需要把库拷到工程目录去,建议去下载意法半导体的官方的库,让库随着源代码一起带走,如果是用 keil 官方给的库,就相当于路径的指定是跟安装路径绑定的,软件将来换了一个环境,在别的电脑上,keil 官方的库对应的安装路径不见得和自己的安装路径一致,这就会导致程序编译不过。所以库随着源代码一起带走,这样在任何环境下都能够保证编译通过。
这是配置,将安装步骤,去 keil 的官网一进去就能看到,下载一个 mdk。
这里用 511 版本,现在还有更新版本 512 的,下好之后自己去网上找一个破解软件。首先用管理员身份去运行安装包,直接下一步,接受继续下一步,几乎就是一步一步的 next 往下装就可以, 因为破解的流程不是在安装的过程中,是等安装完成后就会在本机中出现,
keil 是作为 stm32 开发的其中的一种方式,还有一种方式就是用STM32CubeMX,是意法半导体官方开发的工具,keil 是属于第三方的。STM32CubeMX 跟 keil 差不多,只是自动化生成代码,很容易去使用的。HAL 库也是基于 MAX。
之前的工程先关闭,安装完软件打开。破解打开 File/License Management, 邮箱和姓名安装 软件的时候提示输入,建议输入一个合法的邮箱。紧接着打开破解软件,用管理员身份运行。
c51 目标选择 arm, CAD 复制粘贴如下:
选择生成,把 21ERA-1IIOF-XUE41-CJ623-W7ZG3-NTRML 复制到 New License lD Code (LIlC):。点击添加,提示添加成功破解。破解之后,如果没有安装库,到网上把库下载,双击自动安装到默认的 keil 的安装目录。如果用的是下载器,根据不同,用最廉价的 ST link 的话,直接解压安装上,一般情况通过驱动精灵安装。
下载安装破解完成之后,第一步,要去建立自己的工程,点击 project,new project 去新建一个工程,新建的路径随意。在存放工程的时候,最好先建一个文件夹,学习单片机最常见的就是对 GPIO 的操作,所以建一个文件夹叫 GPIO,起名,GPIO 用来干什么,拿来点个 LED 灯,起个名字叫 LED,这就是新建的工程。
找到这个新建的工程,弹出来对话框里面,要求选择芯片,也是选择设备。对于设备的选择,正常情况下第一个选项是 software packs,如果安装了在 keil 官网下载的针对于指定的芯片的安装包,就只会看到安装包一行。从中选择的 f1 的具体型号 f103,点确定。这种方法用的是 KEIL 官方提供的库。
第二种方法就是选择第二个选项,就是选择一种比较传统的方法,不使用 keil 官方提供的库,而是使用自己的库。当然这两种方法都可以,一点问题都没有都可以。
第二种方法就是直接通过从意法半导体的官网去下载下来库,库随着工程走,这样便于后期的移植,后期在别的环境去编译,要在这选择合适的芯片,支持找到意法半导体,并且找到的芯片的型号,如果这个里面找不到,就建议用官方提供库的这种方法,找到 f103c8,确定,向工程里面添加文件。这时工程里就有一些默认的文件。这些是启动文件
如果选择自己的库,这些启动文件在这库里面都包含了,在libraries/CMSIS/CM3/DEVICESUPPORT/ST/STM32F10X/startup/arm
里面有这个启动文件 startup_stm32f10x_md.s,就可以把外面的启动程序删了。
紧接着空的工程就建好了,接下来往这个工程里面添加文件,stm32 最小工程最少包含这三个文件:core-cm3.c system-stm32f10x.c startup-stm32f10x-xx.s 是系统核心,包括一些时钟的启动代码,在这里面必须要有。
除此之外,还得写自己的程序,main.c ,应用程序。系统文件和应用程序都是必需的,所以就创建两个文件夹,把系统相关的放在一起,把自己的程序放在一起。
但是自己的程序当用单片机时,要用到很多的硬件存储的配置和操作,此时要用官方提供的库,还有一个部分就是叫做库文件。这个库文件它本身是很大的,有很多的代码,但这些代码并不是全部都要添加,可能要添加一部分进去,所以这个库至少应该是一个单独的目录。
在工程里面最好是建三个目录:第一个目录就是系统文件,第二个就是应用程序,第三个目录就是库,
1、系统文件
core-cm3.c
system-stm32f10x.c
startup-stm32f10x-xx.s
2、应用程序
main.c
(应用程序)
3、库
库文件
这样结构就比较清晰。在点击 traget\Source Group1 时,点右键 manager Project Items…, 把 Source Group1 改成 system,再建一个目录 APP 和一个 lib 如图:
图 system 里为 3 个系统文件,放进去,app 自己写一个,lib 库去加载。