历史上的今天
返回首页

历史上的今天

今天是:2025年01月20日(星期一)

正在发生

2021年01月20日 | 关于STM32软硬件兼容性相关的知识

2021-01-20 来源:eefocus

Ⅰ、写在前面

很多朋友初学STM32的时候,对STM32芯片很多相关知识都不是很了解,导致了在学习的路上很迷茫,甚至半途放弃。希望本文的内容对初学的朋友有一定帮助。

 

常见问题:

1.我开发板是STM32F103ZE芯片,但网上找到的软件工程基于STM32F103R8芯片的,我能直接将工程下载并调试吗?

 

2.我有STM32F205R8的原理图和封装库,但现在需要画STM32F405RC芯片的板子,能直接替换使用吗?

 

以上问题在你阅读本文之后就会得到比较明确的答案。

 

关于本文的更多详情请往下看。

 

Ⅱ、本文要点

从本文的标题可以看得出来,主要是站在“STM32兼容性”的角度来分析问题。

在开发STM32项目中,往往是软件工程师、硬件工程师相互配合完成一个项目的开发。STM32兼容性其实是分硬件和软件:

硬件兼容性:主要考虑的就是不同型号芯片引脚上是否可以通用。

软件兼容性:单纯的从芯片出发考虑问题,和硬件开发相比,软件开发需要考虑的问题就有很多。ST公司为了让软件开发工程师能很好的移植代码,在软件(库)兼容性上做的就很好,基本上很多芯片都可以相互使用共同的底层代码。

 

本文就结合ST官网最新手册及相关资料,从硬件和软件角度来简单讲述一下STM32兼容性的问题,希望对你有所帮助。

 

【下面内容牵涉到STM32芯片数据手册、参考手册,可以下载数据手册查看详情。相关文章:开发STM32相关资料下载】

 

Ⅲ、硬件兼容性

硬件兼容性针对的主要是硬件工程师,但作为STM32的软件工程师也是有必要了解的。

 

不管是前面说的用不同芯片的原理图和封装库,还是你从一个项目拷贝部分器件到另一个项目,在得知STM32硬件兼容性之后,有很多工作都可以省略。

 

比如:你前面项目使用STM32F205R8设计的PCB板子,现在新的项目使用STM32F405RC,而且外部器件只有很小地方的改动,有很多外设器件和前面项目相同。这时,你的PCB很大一部分走线布局都可以不变,这样就不用费尽心思、花费大部分时间从新再次设计那不用修改的部分。

 

对应硬件工程师来说,开发STM32主要就是选型,可以在官网下载芯片选型手册、芯片手册来进行参考:

 

 

下面就以LQFP64封装为例,将(F0 - F4)不同系列、型号芯片的引脚图进行对比,相信你们看了引脚图,就会明白其实STM32大部分芯片(相同封装)是可以兼容的。

1.STM32F0系列 

 

2.STM32F1系列 

 

3.STM32F2系列 

 

4.STM32F3系列 

 

5.STM32F4系列 

 

6.综上所述 

以上截图来自ST官网最新数据手册,可自行到官网下载。

从上面可以看得出来,大部分相同封装的芯片在引脚上基本上相同。我们虽然是以LQFP64封装为例,其它封装也是类似的具有很高的兼容性。

【注意:我这里说的是大部分,不是完全(可能存在略微差异)。因此,在选择芯片型号时请查看对应数据手册。】

 

Ⅳ、软件兼容性

查看本文的读者应该大部分都是从事软件开发的工程师,ST公司推出的芯片在硬件上做了相当好的兼容性,在软件上也不落后,同样做了很好的兼容性。不管你是利用寄存器还是固件库(标准外设库和HAL库)开发STM32,软件的移植都是很方便的。

 

这里说的软件兼容性,主要从两个方面来说:寄存器 和 固件库:

1.固件库开发

这里主要考虑固件库函数接口一致性的问题。同一系列的芯片固件库接口都是一样的,跨系列芯片固件库其实ST公司也是做得很好,函数接口基本上也差不多相同。

 

说这么一个实例吧:硬件上,我将F207芯片的替换为F407芯片;软件上,我将之前F207的程序移植到F407上依然可以运行。

上面这个实例说明ST跨系列的芯片也是可以做到软硬件兼容的。

 

下面以标准外设库来讲述一下软件的兼容性。

A.启动文件

同一系列芯片的启动文件在标准库里面一般有几个,为什么有几个呢?原因很简单,芯片资源存在一定的不同,一般是向下兼容的。也就是说大容量芯片资料包含小容量芯片资源。

【对比工具Beyond Compare介绍、下载、安装、破解与基本使用方法】

利用对比工具对F1固件库启动文件:

从上面对比情况可以看见,其实中等容量芯片相比大容量芯片资源要少一些,也就是说中等容量芯片可以在大容量芯片中运行。

 

B.初始化配置源代码

接触多系列芯片的朋友可能会发现,很多资源初始化配置大同小异,基本上差不多,USART串口初始化配置源代码各个系列基本都是如下一些参数:

 

 

2.寄存器开发 

从软件角度来分析,其兼容性牵涉到底层一点的东西,那就是资源模块的寄存器(偏移地址)。也可以说各个资源模块内容很多相同之处。

截取各个系列USART寄存器:

 

 

从上面截图可以看见,其模块寄存器基本上差不多。这里最底层对应的上层应用代码兼容性就可以做的很好。

 

Ⅴ、说明

上面说的内容是针对大部分ST的MCU芯片,当然也不是完全,请根据实际情况来分析是否完全兼容。

看完上面内容之后,应该明白我前面文章提供的软件工程适合哪些芯片。

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


推荐阅读

史海拾趣

FILTRONIC公司的发展小趣事

FILTRONIC深知技术创新是企业持续发展的动力源泉。因此,公司不断加大研发投入,建立了先进的研发中心和实验室,吸引了一批高素质的研发人才。通过持续的技术研发,FILTRONIC在滤波器技术、射频技术、天线技术等领域取得了多项重要突破,推出了多款具有自主知识产权的新产品。这些新产品的推出不仅进一步巩固了FILTRONIC在市场中的领先地位,也为公司的未来发展注入了新的活力。

Hi-Light Electronic Co Ltd公司的发展小趣事

随着市场需求的不断增长,FILTRONIC开始着手拓展产品线,从单一的滤波器产品扩展到包括射频模块、天线等在内的多种无线通信产品。同时,公司也积极实施国际化战略,通过参加国际展会、设立海外办事处等方式,逐步打开了国际市场的大门。FILTRONIC的产品以其卓越的性能和可靠的质量赢得了全球客户的信赖,公司也因此实现了业务的快速增长。

HTC Korea(TAEJIN Technology )公司的发展小趣事

在HTC的发展历程中,与微软的合作无疑是重要的一环。早在2002年,微软联合HTC推出了全球第一台搭载Windows mobile的Pocket PC,这一操作系统成为了日后WP 8的前身。得益于微软的信任和支持,HTC能够率先搭载最新的Windows mobile系统,从而成为Windows手机的顶级生产商。这种紧密的合作关系不仅提升了HTC的品牌影响力,还为其带来了大量的市场份额和利润。

Electronic Sensor + Resistor GmbH公司的发展小趣事

随着产品技术的不断成熟和市场份额的逐步扩大,ESR公司开始将目光投向国际市场。公司积极参加国际电子展会和技术交流活动,与全球各地的客户和合作伙伴建立了广泛的联系。

同时,ESR公司还根据不同国家和地区的市场需求和法规要求,对产品线进行了针对性的调整和优化。通过本地化的营销策略和服务体系,公司成功打开了多个海外市场的大门,并赢得了当地客户的信任和支持。

富芯森美(FUXINSEMI)公司的发展小趣事

为了确保产品质量,富芯森美在成立初期便启动了严格的质量管理体系建设。公司通过了ISO、IATF 16949等国际质量管理体系认证,并严格按照标准执行。同时,公司产品还通过了UL、ROHS、REACH、HF等多项国际测试,确保了产品的安全性和可靠性。这一系列的举措不仅提升了富芯森美的市场竞争力,也赢得了客户的广泛信赖。

Good Sky Electric Co Ltd公司的发展小趣事
在电气原理图中,互锁功能用于防止两个或多个接触器同时工作,以避免电路短路或设备损坏。例如,正反转按钮互锁就是防止电机在正转和反转之间突然切换,导致设备损坏。自锁功能则是指接触器在吸合后能够保持通电状态,即使按钮松开也不会立即断开电路,从而保证设备的持续运行。

问答坊 | AI 解惑

讨论--大家来说说你说知道的低功耗单片机或者微控制器吧

大家来说说你说知道的低功耗单片机或者微控制器吧     现在低功耗问题是个单片机和微控制器设计过程中需要经常考虑的问题,各厂家也是大唱低功耗主题。 那么我们来讨论一下各种微控制器在这方面的表现吧…

查看全部问答>

在EVC里,如何计时?

注意 ,在这里我说的不是定时,而是计时,也就是从程序的某个地方开始到某个语句结束时系统花费的时间 ,最好精确到微妙 。。 谢谢赐教 …

查看全部问答>

学习c51单片机应该去哪个社区?

最近师傅让我学习硬件,要我加强硬件基础 刚学单片机 请问学习c51单片机应该去哪个社区?…

查看全部问答>

急问:请大侠给一张用ARM处理器或C52带解码功能的MP3电路原理图!

请高手帮帮我,急用! 原理图需要包括: 1 处理器(带解码) 2 存储器 3 电源模块 4 音频放大 5 驱动USB口…

查看全部问答>

编译完evc后不自动连接connecting

编译完evc后不自动连接connecting,我的sdk是生成时没有kitl的,我装上相应的sdk后还能在evc编译相应的应用程序是连接成功吗,如果不成功,请问怎么关掉那个自动连接。谢谢了…

查看全部问答>

谁写过avr的ad转换函数并且对这些ad转换很清楚?

我的转换后的测量数据和模拟输入的值不大一样,谁对这边比较全面, 加我qq;82197730 帮我弄明白后加分给阁下. 某资料上说 \"ADC的精度也受到ADC时钟的影响。推荐最大的ADC时钟频率受内部DAC转换电路的限制,为了优化性能,ADC时钟不要超过200KHz ...…

查看全部问答>

新手如何学习嵌入式

各位前辈,新手如何快速学习嵌入式?学习嵌入式需要掌握哪些基本的知识? 请大家回复!谢谢!…

查看全部问答>

求助 cvi 函数GetExternalModuleAddr问题

大家好,我在CVI调用GetExternalModuleAddr函数时报错,返回值是-5,Undefined references,打开的是.lib,请教如何解决?…

查看全部问答>

大学生眼中的最佳雇主:国企超6成

  2010年度大学生《最佳雇主调查报告》5日下午在北京发布,中国大学毕业生找工作首选国企,次选合资以及事业单位,外企跌出前三位落到第五名。由中华英才网主办的“大学生最佳雇主调查活动”历时半年,覆盖全国各地700多所高校,由近20万名大 ...…

查看全部问答>

★MSP430X32X微控制器的片内A/D

MSP430X32X微控制器的片内A/D   TI的MSP430系列微控制器   TI公司的MSP430系列微控制器包含430X11X、430X31X、430X32X、430X33X等几种型号。可根据不同的应用目标作有针对性的选择。 MSP430系列微控制器在性能上有一定的特色, ...…

查看全部问答>