STM32F4_引领入门

Posted strongerHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F4_引领入门相关的知识,希望对你有一定的参考价值。

、概述

该文写给那些想学ST芯片开发(或初级学习)的朋友,文章着重细节,或许有点简单。

笔者想告诉那些刚开始学习ST的朋友,不管你使用哪一个系列(F0、F1、F2),哪一种型号芯片,其实学习的方法和原理都是差不多的。或许不同系列,不同型号的芯片,它们之间确实存在一定的差异,但万变不离其宗,设计芯片的厂家都是按照常理(而且是人们习惯性的思维)来设计芯片,及其开发原理。

笔者在这里告诉大家吧,ST的芯片不管是硬件(引脚),还是软件(寄存器、库等)它们的兼容性都是很好的,有可能不同系列,不同型号的芯片,硬件换了,软件不换,可以达到同样的效果(笔者已经尝试过的,如:STM32F205VC和STM32F417VE,除了明显一点的速度有区别外,软硬件可以兼容,不行的朋友可以试试,看看手册引脚,寄存器地址等基本上一样)。有很多芯片都是类似的,不信的朋友可以验证一下。

好了,回归到今天的主题,关于STM32F4系列芯片开发,更多详情内容,请往下看。

 

本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。

 

 

Ⅱ、准备开发资源

1.开发工具Keil

开发ST芯片的工具有很多,官方也提供有(STVP),笔者这里不评论哪一个工具好,哪一个工具不好,只想说,各有各的好,你使用哪一个看你自己选择。笔者习惯性使用Keil(MDK-ARM),因此,推荐的也是Keil。

关于Keil(MDK-ARM)包含支持包的下载与安装,我已经在之前文章中讲解过,不同的可以前往我博客查看如何下载与安装。

MDK-ARM下载与安装:

http://www.cnblogs.com/strongerHuang/p/5528602.html

 

前一段时间我还总结了关于Keil相关的使用方法,里面基本上把关于MDK-ARM的大部分功能都总结了。

Keil使用方法(汇总):

http://blog.csdn.net/ybhuangfugui/article/details/51647893

 

2.F4文档资料

在上一篇文章中我已经描述过“如何查找STM32开发资料”,我的建议是进入ST官网,我这里也是提倡进入官网查找资料。

对于初学者,有两个文档资料是必备的:数据手册和参考手册。数据手册用于查看你所使用的芯片有哪些资源,引脚对应的功能等。参考手册用于开发、调试时查看相关的一些寄存器配置,如何使用相关功能等。

当然,上面说的两个是关于整个芯片所有信息,开发的时候也有部分相关资料,如:应用手册、勘误手册、编程手册等,讲解了一些细节的东西,不嫌弃麻烦的朋友,建议参考这些文档。

ST官网F4文档资料:

http://www.st.com/content/st_com/zh/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f4-series/stm32f407-417/stm32f407zg.html

 

笔者360云盘:

https://yunpan.cn/cR2pxqF5x2d9c  访问密码 53e7

 

3.标准外设库

关于STM32的开发大致分:寄存器开发、标准外设库、STM32CubeMX配置等。由于STM32的寄存器太多了(不像51、430等寄存器很少),所以不建议初学者使用寄存器开发。STM32CubeMX配置代码的工具功能确实很强大了,但对于想要理解底层驱动开发的人来说也是不适合的。因此,笔者建议初学者使用标准外设库开发STM32,原因很简单就是兼顾了以上说的两点。

ST官网今年更新了网站,将很多资源分类整理在一个网页,方便用户下载。ST所有的标准外设库整理在一个下载网页,可以前往官网下载最新的标准外设库。

标准外设库官网下载地址(需注册用户):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

 

笔者360网盘下载地址(定期更新):

https://yunpan.cn/cReDTUbI7ZYwc  访问密码 4e0a

 

4.其他

STM32 ST-LINK Utility:这个工具是ST官方的,主要用于量产下载使用,这里对于初学者也是需要了解的。在没有读保护的情况下可以查看内部FLASH数据。

官网下载(需注册用户):

http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link004.html

 

笔者360网盘下载地址(定期更新):

https://yunpan.cn/cRezHui3RVRdd  访问密码 1abc

 

 

Ⅲ、新建工程

我们把上一节的准备工作做好之后就可以进入开发了。首先是提取标准外设库的有用源代码文件(主要是解压后的Libraries里面的文件),这个可根据自己的理解和思路来整理和分类,笔者将会提供整理好的文件供大家下载参考。

关于如何新建软件工程,笔者也在前面整理过一篇文章,供大家参考。

http://www.cnblogs.com/strongerHuang/p/5532880.html

 

笔者提供一个新建好了的软件工程实例,比较简单也是比较实用的供大家下载参考:

https://yunpan.cn/cRepWDShSK4yc  访问密码 65b1

 

、说明

关于STM32的开发,软件兼容性是很好的,不要觉得你的芯片和我总结的实例有差异就不看了,其实是错误的认识,特别是同一个系列的芯片基本上程序都兼容,也就是可以互相使用。

以上总结仅供参考,若有不对之处,敬请谅解。

 

Ⅴ、最后

关注微信,回复“更多内容”,将获得更多内容(如:UCOS实例等,不断更新中......)。

如果你喜欢我分享的内容,你又想了解更多相关内容,请关注文章开头的微信公众号,新内容持续更新中,后期将会有更多精彩内容出现。

 

以上是关于STM32F4_引领入门的主要内容,如果未能解决你的问题,请参考以下文章

在 Flash 中为用户数据分配内存(STM32F4 HAL)

[STM32F4裸机]STM32F4HAL库开发

stm32f4 如何往外部存储sram写数据

STM32F4 HAL库开发 --时钟使能和配置

STM32F4 HAL库开发 --时钟使能和配置

STM32F4 HAL库开发 --时钟使能和配置