i1mcu 发表于 2022-10-28 15:52

STM32F4的开发与实践

STM32F407开发环境介绍任何微控制器都需要一个外部开发环境,综合目前中国市场和应用情况,本书采用Keil MDK 5作为编程软件,以STM32CubeMX软件作为辅助开发工具,采用STM32HAL库函数进行编程。下面将Keil与STM32CubeMX的安装作简要说明,STM32HAL库函数将在下一章作介绍。Keil软件Keil是美国Keil Software公司出品的微控制器C语言软件开发系统, Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起,可以运行在WIN98、NT、WIN2000、WINXP、WIN7和WIN10操作系统。首先,进入Keil官网:http://www.keil.com/,在页面中选择如图1.2所示链接,然后根据页面提示进行下载。在国内的校园网网络环境下,这可能要花费较长的时间,建议使用中国电信宽带进行下载操作。​​​​​​​https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ0Ny82MmFjNzQ3YzJlNDA4ODY0NDVlNjJhZmQ3Y2NkYTEyZi5wbmc=
[*]
[*]
[*]
[*]图1.2 Keil MDK软件官网界面



下载完成后,双击安装,根据提示一步步完安装。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc1Ny9mNDdlNDQwNWJmNmI3YjM0ZmZiZTNmZDAwNzhjYTM3ZC5wbmc=
[*]
[*]
[*]
[*]图1.3 Keil MDK软件安装界面



安装完成后,双击打开软件,在如图位置输入许可证文件。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEwOC9lMzI4NGU5ZTUzNWEwMDFlM2U5MjQzZGQ5NzdjMGY0Yy5wbmc=
[*]
[*]
[*]
[*]图1.4 Keil MDK输入许可证文件界面



以下介绍软件菜单功能,如图1.5:https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzYxNy8wMDhiNDk3NjUyNTJlYzFhNjk1MTg2ZGJlZjMzMDdiOS5wbmc=
[*]
[*]
[*]
[*]图1.5 Keil MDK工具条界面



File:File是文件操作,通过该选项可以实现创建文件,保存文件,打印文件,打开最近文件的功能。Edit:Edit是编辑器控制栏,可以对代码进行快速注释(将代码变为注释状态)和取消注释,将代码向后推移(美观),以及实现查找和替换等功能。View:View是界面控制器,通过View可以控制Keil界面上的各个工具栏存在或隐藏,当读者因为个人原因误关闭了某个快捷窗口,就可以通过View再次打开。Project:Project是工程控制选项,可以通过该选项新建,打开,关闭某个工程,它和File的关系是,一个工程下一般有多个文件,此外,编译,连接等功能均在Project选项内。Flash:Flash是微控制器的选择工具,开发人员通过该选项选择控制器型号,代码优化方式,输出文件按位置调试选项和内存大小配置(需要正确配置内存微控制器才能正常工作)。Debug:仿真时使用的各种调试功能,例如单步执行,执行到鼠标指针所在代码行,全速运行等仿真调试功能均在Debug。Peripherals:仿真调试时用于控制外设状态以模拟实际运行环境使用。Tools:个人工具,用于添加插件,与其他软件联合仿真等,例如可以使用小插件Astyle使得书写的界面整洁有序。SVCS:个人源代码管理工具,可以添加别的编译器(如VS)来管理代码。Window:当前打开的窗口查看工具,可以在此关闭打开的页面。Help:官方帮助文件。在实际操作中,最常用的是File,Project和Flash三个选项的功能。STM32CubeMX软件下面将会介绍STM32CubeMX软件,其使用方法将在第二章详细说明。STM32CubeMX是ST公司开发,在2015年开始全力推荐的STM32微控制器图形化配置工具,通过STM32CubeMX,开发人员可以直观地看到引脚冲突,直接配置引脚状态,动态设置确定时钟树 ,可以动态确定参数设置的外围和中间件模式和初始化,可以进行功耗预测,最后根据配置,直接生成C代码工程(Keil,IAR,GCC等均可)。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk2Ny8zZjIwNTA0YjI0YzZmMTRkNzc1NmE1NTdjZWQwY2QyNy5wbmc=
[*]
[*]
[*]
[*]图1.6 通过STM32CubeMX配置引脚功能界面



https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI0LzA5NWMxMTlhODUwMDQ2YzE5ODhmYTQyODE3ZGNjYTk4LnBuZw==
[*]
[*]
[*]
[*]图1.7 通过STM32CubeMX配置时钟界面



STM32CubeMX最具有特色功能在于,其集成了HAL库函数与FreeRTOS操作系统,使得配置好的参数直接变为工程代码,大大方便了开发人员的工作。安装STM32CubeMX软件,首先需要进入ST官网www.st.com,搜索STM32CubeMX,选择如图1.9选项进入下载过程。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI4Ny82MGRiODAyNmJhZmJlYzZmNTU1NTA4YTg4YTllNTY5Zi5wbmc=
[*]
[*]
[*]
[*]图1.8 ST官网进行软件搜索界面



https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzU0Ni9lNzhmNjZmMzlkMjU0ZDE3NWFlNGZkNmYyZWExYWNhMi5wbmc=
[*]
[*]
[*]
[*]图1.9 ST官网软件下载界面



进入下载页面后,文件下载在最下方:”GET SOFTWARE”区域。下载的时候需要邮箱验证,同样国内的校园网下载速度较慢,建议使用电信下载。STM32CubeMX需要运行在JAVA环境下,所以初次安装时会自动弹出JAVA环境安装选项,开发人员只需要根据其提示安装即可。​​​​​​​ STM32CubeF4支持工具STM32CubeMX是一个图形化配置工具,可以大大减轻开发微控制器所需要**的外设初始化步骤和过程。而STM32CUBE则是一个使开发者充分发挥STM32所拥有的全部能力的参考资料包的组合。准确的说,STM32Cube就包括了STM32CubeMX这个工具,STM32CubeMX是STM32Cube用来减轻用户工作量,提高工作效率的组成部分之一。针对STM32F4系列, STM32CubeF4包括了STM32Cube标准硬件库函数HAL和简易高效库函数LL;还有部分中间组件工具,如STemWin,USB,Audio,FatFs,LwIP,FreeRTOS,LibJPEG,PolarSSL及对他们的说明和示例。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ3My9hNzliNzhjY2ZjNjdlNjk1ZjRlMDRlZDQ2MmVhODc0OS5wbmc=
[*]
[*]
[*]
[*]图1.10 STM32CubeF4所拥有的功能图示



STM32CubeF4下载方式同STM32CubeMX,都是在ST官网下载,也都是免费的。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ1NC9kODE1ZGVkNzk2ZWRiMWJhODM3ZGNjMDNjZjllYWM2ZS5wbmc=
[*]
[*]
[*]
[*]图1.11 STM32CubeF4下载页面(ST官网)



示范其一个最简单直接的帮助,那就是文档说明功能:解压后打开下面的文件夹: STM32Cube_FW_F4_V1.14.0\Drivers\CMSIS\Documentation\index.htmlhttps://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE4MC8wZTJmYzliODAzYzI4OWIyN2E4OTk3ODRlOGFmNGE1NC5wbmc=
[*]
[*]
[*]
[*]图1.12 STM32CubeF4解压打开



可以打开如图1.13所示的离线帮助文档,有利于读者自行学习和理解。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMyMy82NDM2YmY5ZjlkMmI4OWU5M2Y5MWRlYWIzNGZjN2IzMy5wbmc=
[*]
[*]
[*]
[*]图1.13 STM32CubeF4的CMSIS离线帮助文档



Jlink工具及其驱动要把程序下载到微控制器,需要一个下载器,下载和硬件仿真测试都可以通过JLINK仿真器完成。J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/9/11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,与IAR,Keil等编译环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM实用开发工具。产品规格:电源USB供电,整机电流 <50mA 支持的目标板电压 1.2 ~ 3.3V,5V兼容 目标板供电电压 4.5 ~ 5V (由USB提供5V) 目标板供电电流 最大300mA。除了JLINK,还可以使用ST官方推荐的ST-LINK等工具,当时使用体验上笔者们感觉JLINK更为流畅强劲。要使用JLINK,电脑需要安装Jlink仿真器的驱动程序,Jlink是SEGGER公司的产品,其官方的网址为:https://www.segger.com/。目前最新版本是6.18C(截止201707)。 https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI5NC85Mzg4ZjA2YWEzOTY4NDZlNDUxNGRiNDZmZjU4M2JlNi5wbmc=       https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzUyMS9kN2U0NmRiODY0ZDQ0YWQ3NjAxYzM1MjcxM2RkY2ViMS5wbmc=
[*]
[*]
[*]
[*]图1.14 SEGGER官网软件下载界面



以上所有软件均可以通过搜索引擎搜索下载,软件图标如图1.15。https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM5Mi9kNDRlZjM0ZThjMmQzOWI5NTZjZTkxMTRiYjhmY2ZjOC5wbmc=https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY5My83MTI5YWRlNjBiMTI0ZWM4YjhhMjJkNjcxOGJlNTc5NS5wbmc=https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIxNi82ODk1NmY0NDcxZmY2ODRlNTNiOTllZThjMmQzMDU4OC5wbmc=https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzgwNi85MDJlNzNjZDdiZDE5YmRjOTRiNjczMDQxZmI4MmFlZS5wbmc=https://www.likecs.com/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzUwNS8xZDg2ZDRjMDExNDQ5NTUzZmU3M2ViMWEzM2RiMWRkOS5wbmc=
[*]
[*]
[*]
[*]图1.15 可能用到的软件的图标




页: [1]
查看完整版本: STM32F4的开发与实践