、概述

该文写给那些想学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_引领入门的更多相关文章

  1. 推荐20个很有帮助的 Web 前端开发教程

    在平常的搜索中,我碰到过很多有趣的信息,应用程序和文档,我把它们整理在下面这个列表.这是收藏的遇到的有用内容的一个伟大的方式,可以在你需要的时候方便查阅.相信你会在这个列表中发现对你很有用的资料. 您 ...

  2. 设计: ListView 接口,and the missing read-only interfaces in java collection framework

    Java的集合框架以其成功易用的设计征服了很多人(包括我),并且教科书式的诠释了泛型的应用方式. 我也是被 Joshua Bloch 的书引领入门,从中得益良多.我当然不会认为自己在设计上比他懂得更多 ...

  3. 推荐20个很有帮助的web前端开发教程

    1. CSS Vocabulary 一个伟大的指向和点击的小应用程序,让你加快速度掌握 CSS 语法的各个不同部分,学习各个属性的正确的名称. 2. Liquidapsive 一个简单的信息化布局,通 ...

  4. 推荐20个非常有帮助的web前端开发教程

    1. CSS Vocabulary 一个伟大的指向和点击的小应用程序,让你加高速度掌握 CSS 语法的各个不同部分,学习各个属性的正确的名称. 2. Liquidapsive 一个简单的信息化布局.通 ...

  5. 一个故事看懂HTTPS

    我是一个浏览器,每到夜深人静的时候,主人就打开我开始学习. 为了不让别人看到浏览记录,主人选择了"无痕模式". 但网络中总是有很多坏人,他们通过抓包截获我和服务器的通信,主人干了什 ...

  6. Elasticsearch 教程--入门

    1.1 初识 Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架. 但是 L ...

  7. Web前端小白入门指迷

    前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...

  8. 01.Hibernate入门

    前言:本文用一个简单的Hibernate应用程序例子来引领初学者入门,让初学者对Hibernate的使用有一个大致的认识.本文例子使用了MySQL数据库.Maven管理工具.Eclipse开发工具,创 ...

  9. Qt入门之基础篇(1):Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

随机推荐

  1. php文字水印和php图片水印实现代码

    本文章向码农们介绍php文字水印和php图片水印实现代码,需要的码农可以参考一下. php 文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件. 实现 ...

  2. sqlserver 批量删除存储过程和批量修改存储过程的语句

    sqlserver 批量删除存储过程和批量修改存储过程的语句- sqlserver 批量删除存储过程和批量修改存储过程的语句,需要的朋友可以参考下. - 修改: 复制代码 代码如下: declare ...

  3. 2014款Macbook Air安装单独X64 Win7系统

    之所以写出来,是因为网上大多是用BootCamp安装双系统的,安装单独Win7的教程少之又少,然后大多数还写得不清不楚,所以折腾了一阵子.其实装好之后,还是觉得挺简单的. 我主要参考了两篇文章,链接如 ...

  4. Android开发-API指南-进程与线程

    Processes and Threads 英文原文:http://developer.android.com/guide/components/processes-and-threads.html ...

  5. windows 10 笔记本关机不断电解决

    右键我的电脑-->管理-->设备管理器-->系统设备 找到Intel(R) Management Engine Interface  双击打开,禁用,确定,完事 原因,该驱动11.0 ...

  6. C# Exception 对象的属性

    关于 C# 中 Exception 对象的属性,在程序出现异常时,需要记录异常的信息,并把信息保存起来或输出,以方便准确定位异常的根源,以下是 Exception  对象的属性 名称          ...

  7. 洛谷P1461 海明码 Hamming Codes

    P1461 海明码 Hamming Codes 98通过 120提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 给出 N,B 和 ...

  8. SVN与TortoiseSVN实战:补丁详解

    硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  9. console.log在线调试

    前端开发人员工作有时候会用到console.log,PC端直接能打开开发者工具.但是移动端就不太方便了,为此提供一种简单的方法,只需2步: 1.打开http://jsconsole.com/  输入: ...

  10. MITM to crack Https connections

    Everybody knows that https is http over SSL, and https is a secure way for protecting confidential d ...