0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈关于STM32软硬件兼容性相关的知识

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-24 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Ⅰ、写在前面

很多朋友初学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芯片,当然也不是完全,请根据实际情况来分析是否完全兼容。

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 封装
    +关注

    关注

    128

    文章

    9140

    浏览量

    147893
  • STM32
    +关注

    关注

    2305

    文章

    11121

    浏览量

    371164
  • STM32F103
    +关注

    关注

    34

    文章

    490

    浏览量

    67085
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国内DP4363 与Silicon 芯科SI4463不同点

    Part 90和169MHz无线Mbus12。 工作环境的兼容性:DP4363在12.5kHz信道间隔下具有60dB的相邻信道选择性,可确保在恶劣的射频环境中稳定接收 可以与Silicon 芯科SI4463完全兼容,不需要更换软硬
    发表于 11-28 14:21

    利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真

    本文利用NucleiStudio IDE 和 vivado 对 NICE demo协处理器进行软硬件联合仿真。 1. 下载demo_nice例程:https://github.com
    发表于 11-05 13:56

    兆芯加入基础软硬件产品漏洞生态联盟

    近日,CCS 2025成都网络安全技术交流系列活动——国家漏洞库(CNNVD)基础软硬件产品漏洞治理生态大会在成都成功举办。来自国家关键基础设施单位、基础软硬件企业、高校科研机构的数百名代表齐聚一堂,共商网络安全发展大计。
    的头像 发表于 09-22 13:50 623次阅读

    一种经典的软硬件结合+5V一键开关机电路 #MOS管 #电路原理 #半导体 #电子

    软硬件
    微碧半导体VBsemi
    发布于 :2025年09月05日 16:38:40

    有哪些方法可以确保硬件加速与通信协议的兼容性

      确保硬件加速与通信协议的兼容性,核心是从 硬件选型、协议标准匹配、软硬件接口适配、全场景测试验证 四个维度建立闭环,避免因硬件功能缺失、
    的头像 发表于 08-27 10:07 657次阅读

    电动工具EMC测试整改:软硬件协同方案

    深圳南柯电子|电动工具EMC测试整改:软硬件协同方案
    的头像 发表于 08-12 17:02 744次阅读
    电动工具EMC测试整改:<b class='flag-5'>软硬件</b>协同方案

    PLC 系统的接地和电磁兼容性

    本手册为施耐德PLC电气系统的用户编写,主要用于系统配置和安装,并为用户提供有关接地和电磁兼容性(EMC)保护措施方面的相关信息。本手册目的如下:● 给出关于接地和EMC常规问题的综述●为在整个系统
    发表于 06-13 17:11

    技术故障率降低20%!关键在于这套IoT软硬件一体化方案

    HAZEMAG携手宏集EXOR部署软硬件IoT融合方案,围绕耐用性、兼容性与可视化效率三个关键目标展开,控制系统标准化统一、增强设备通信能力、优化可视化软件,实现高效稳定运行。
    的头像 发表于 05-27 14:21 451次阅读
    技术故障率降低20%!关键在于这套IoT<b class='flag-5'>软硬件</b>一体化方案

    国产8通道24位ADC软硬件兼容ADS131E08电能计量方案

    国产8通道24位ADC软硬件兼容ADS131E08电能计量方案
    的头像 发表于 04-29 10:09 815次阅读
    国产8通道24位ADC<b class='flag-5'>软硬件</b><b class='flag-5'>兼容</b>ADS131E08电能计量方案

    24位同步采样ADC软硬件替换ADS1274动态应变器应用方案

    24位同步采样ADC软硬件替换ADS1274动态应变器应用方案
    的头像 发表于 04-28 09:52 776次阅读
    24位同步采样ADC<b class='flag-5'>软硬件</b>替换ADS1274动态应变器应用方案

    16位6通道AFE软硬件兼容ADS1120多参数监护仪应用方案

    16位6通道AFE软硬件兼容ADS1120多参数监护仪应用方案
    的头像 发表于 04-25 09:42 615次阅读
    16位6通道AFE<b class='flag-5'>软硬件</b><b class='flag-5'>兼容</b>ADS1120多参数监护仪应用方案

    【嵌入式学习利器】STM32全流程虚拟仿真系统,零基础小白到软硬件全栈工程师的修炼之路

    在嵌入式开发领域,硬件原理的抽象性和项目全流程的复杂性一直是初学者面临的挑战,尤其是像STM32单片机开发这种软硬件结合的方向,初学者很容易被复杂的硬件
    的头像 发表于 03-11 16:20 141次阅读
    【嵌入式学习利器】<b class='flag-5'>STM32</b>全流程虚拟仿真系统,零基础小白到<b class='flag-5'>软硬件</b>全栈工程师的修炼之路

    请问DLP3010AFQK在软硬件上是否对DLP3010FQK完全兼容

    你好,请问DLP3010AFQK在软硬件上是否对DLP3010FQK完全兼容?我们用DLP3010AFQK代替原来光机上的DLP3010FQK,DLP EVM GUI不能识别模块,固件已经是最新版本。请帮忙解答一下,感谢。
    发表于 02-21 11:18

    兆芯CPU近期软硬件适配动态

    近期,兆芯携手多家软硬件合作伙伴,基于开先KX-7000、开胜KH-40000等自主CPU和信创操作系统环境,持续推进应用生态建设工作,顺利完成医疗自主终端、商用收款机、服务器操作系统、数据库管理
    的头像 发表于 01-15 15:33 994次阅读

    电磁兼容性基础知识

    电磁兼容性(EMC)确保多个电子设备在相同的电磁环境中能够正常工作,不会相互干扰。
    的头像 发表于 01-14 14:11 2353次阅读
    电磁<b class='flag-5'>兼容性</b>基础<b class='flag-5'>知识</b>