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

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

3天内不再提示

是先学STM8 还是学STM32?

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

扫码添加小助手

加入工程师交流群

有朋友问:我学习过51,接下来我是先学习STM8,还是STM32呢?

1写在前面

想要明白这个问题,其实就需要明白STM8和STM32之间有些什么差异,包括MCU基本信息、开发难度、以及应用场景等。

站在客观的角度来说,STM8比STM32学起来更容易,C语言功底还不错的朋友,直接上STM32也不是问题。

从大的方向来说,当你对一种MCU掌握的比较透彻,再学其他型号、其他厂商的MCU,相对来说,上手都要容易的多。

针对本文问题,我下面讲述一下相关知识。

2

STM8和STM32内核差异

STM8 CPU 是一种专有架构,它保持了以前的 ST7 内核的传统,同时在 8 位 CPU 效率和代码密度方面实现了突破。

STM32 围绕行业标准 ARM Cortex-M 32 位内核构建,并受益于与 ARM 处理器有关的开发工具和软件解决方案的完整生态产业环境。

尽管它们被认为是两种完全不同的处理器,但它们在架构方面实际有许多相似之处。

下面对比STM8S 和 STM32F1 (Cortex-M3)这两种内核差异:

两种内核均基于哈佛架构,它们采用 3 级流水线执行,可将执行时间降至最低,对于 STM8S,时钟速度高达 24 MHz,对于 STM32F1系列,时钟速度高达 72 MHz。

在代码密度方面,它们均有优异的表现,这归功于 STM8S 系列的 8 位CISC 指令集以及 STM32F1系列的 Cortex 内核引入的 16 位Thumb-2 模式。

3

片上外设差异

ST 8位和 32位 MCU 产品线之间的片上外设具有一致性,大多数基本 MCU 外设均定义和构建为可从一个产品系列移植到另一个产品系列。

这通过将 8 位外设简单但有效地修改为 32 位字来实现。这样做的好处是可节约成本和功耗,并且资源易于了解。

如果需要更高性能,可在系统层面通过更宽的总线和 DMA 控制器对资源加以补充。在了解了外设的工作原理后,可以将外设应用到 STM8S 和 STM32 系列,从而加速两种器件之间的转换。

ARM 处理器和外设符合 AMBA 总线规范,采用 32 位数据总线,而 STM8S 器件使用更为简单但有效的8 位总线标准。从功能角度看,它们仅在以下方面存在差异:

寄存器大小: 8 位与 16 或 32 位

直接取决于 CPU 运行速度的最大时钟频率

DMA,可通过简单数据管理减轻 CPU 的负荷并提高最大数据吞吐量

一些产品特定功能,如 I/O 端口管理

对比STM8S 和 STM32F1 的 SPI 框图:

SPI寄存器:

从上面框图和寄存器可以看出:除了几个有区别的位和寄存器大小外,寄存器和位的名称以及在寄存器中的位置都是相似的。

4

系统外设

当今的 MCU 是复杂的 SoC(片上系统),其中不仅包含许多外设,还包含一些高级系统特性,旨在缩减物料清单或增强系统的安全性和稳定性。

1.复位

STM8S 和 STM32 基本具有相同的复位电路,仅有细微的差异:

NRST 引脚既是输入也是具有内置上拉电阻的开漏输出。为实现 EMS(电磁敏感度)鲁棒性,插入了一个滤波器以避免毛刺传播到数字电路中。双向复位有三个优点:

对于多 MCU 系统,双向复位可确保在启动或热复位时所有子处理器均正确同步

对于其它 IC,在系统层面还可以使用 MCU 内嵌的电压监控器(上电复位和欠压复位)

当生成假内部复位时,在调试过程中会有很大帮助

2.时钟

STM8和STM32时钟都具有很强大的功能,特别是最近推出的STM32G0具有高精度内部时钟,可以省去外部晶振,减少硬件及PCB

STM8不具备倍频功能,各方面相对要弱一点。STM32具有倍频、外设时钟分频等强大功能。同时,STM8和32都具有独立外设时钟使能功能,以降低功耗。

看下STM32F1时钟树,就大概了解有哪些功能了:

3.存储器

两种产品线均基于非易失性存储器并具有一个选项字节加载器。此机制取代了用于 MCU 上电配置的传统熔丝位:用户可以在编程时选择多种选项,这些选项会随程序二进制映像一起写入。

所有新型微控制器都具有以下几个特性:

暂停、停止或待机模式下的复位:可在 MCU 意外进入低功耗模式时避免发生死锁情况,适用于不能处理此类配置的应用

硬件/软件看门狗,可以在复位之后立即通过硬件启动看门狗

存储器读保护,用于防止对程序内容的窃取

存储器写保护,用于保护存储器中包含关键代码的部分。通常,这适用于自举代码或IAP(应用内编程)驱动程序

这些选项可自动使能安全性和可靠性特性,这样即使在 CPU 获取第一个指令之前出现干扰或攻击,应用也可以恢复。

STM8S 和 STM32 器件具有嵌入式自举加载器,通过它可以使用板上串行接口(例如 UART)重新烧写内部 Flash。随后可以将任何具有串行通讯接口的 PC 用作编程工具,来烧写或更新 Flash 以及数据 EEPROM 存储器的内容。 ST 提供了一个软件实用程序来执行自举加载器支持的所有操作。

当然,还有更多系统特性相关的内容,比如安全性、低功耗方面。这些设计都具有高度一致性。

5

软件

STM8和STM32除了上面描述的一些内容具有高度一致性之外,其实,对应我们软件开发工程师来说,软件才是最为关心的一点。

在STM8和STM32产品设计之初,工程师早就考虑过这个问题。因为二者系统、内核及外设都具有一致性,所以软件库也是设计具有一致性。

1.寄存器、库开发

这个我就不说了,从51过来的都知道,对于寄存器比较少的MCU来说,不是问题。对于STM8来说,其实我觉得还好,使用寄存器开发,就是需要更多时间了解寄存器。

我其实不是很建议大家使用寄存器开发,现在STM8有标准外设库,库的API函数接口也容易理解,直接拿来省事,也能方便理解寄存器。

那么对于STM32这种有大量寄存器的MCU,我同样也是不建议大家直接使用寄存器开发,部分功能可以针对库优化成寄存器。

2.STM8、32CubeMX工具

STM8CubeMX和STM32CubeMX这两个工具我不止一次在公众号提到,ST官方的目前的趋势就是希望用户使用这个工具来开发。

而且,大家已经发现,STM32有些新出来的MCU是没有标准外设库了。所以,这两个工具建议大家也要学习。

STM8CubeMX目前更新至V1.3.0,只能提供配置,方便了解MCU使用资源情况,还不具备自动生成代码功能,不过我觉得后面应该具有这个功能。

所以:如果基础不怎么好,建议先STM8,等学到一定基础可以再学STM32。如果自认基础还可以,C语言也行,那么直接上STM32不成问题。

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

    关注

    2296

    文章

    11040

    浏览量

    366804
  • ARM处理器
    +关注

    关注

    6

    文章

    361

    浏览量

    42735
  • 引脚
    +关注

    关注

    16

    文章

    1845

    浏览量

    53491
  • STM8
    +关注

    关注

    18

    文章

    392

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机与stm32单片机,学习哪一个?

    纠结 51 单片机和 STM32哪个,就像刚开车的人在自动挡和手动挡之间打转。有人一上来就爱开自动挡,踩着油门就能跑,不用琢磨换挡踩离合的门道;有人偏要从手动挡练起,哪怕起步
    的头像 发表于 08-20 13:46 ?100次阅读
    51单片机与<b class='flag-5'>stm32</b>单片机,<b class='flag-5'>先</b>学习哪一个?

    「研启思,实践赋能」SPEA“追芯逐梦”暑期研营圆满落幕

    8月18日,SPEA苏州测试培训服务中心迎来一群朝气蓬勃的青少年。由SPEA与苏州工业园区女企业家协会联合举办的"追芯逐梦"研营正式启航。10余名初高中学子开启了自动化测试技术
    的头像 发表于 08-19 15:57 ?71次阅读
    「研<b class='flag-5'>学</b>启思,实践赋能」SPEA“追芯逐梦”暑期研<b class='flag-5'>学</b>营圆满落幕

    中科曙光构建全国产化基因组高性能计算平台

    近日,中科曙光承建的国内某研究所基因组高性能计算平台正式交付。这是国内生物信息领域首个从底层硬件到上层软件实现完全自主可控,并深度融合高性能计算与人工智能算力的平台,成功填补了该领域国产高端算力的空白。
    的头像 发表于 06-26 17:36 ?522次阅读

    ESP32大家都是怎么的啊?

    刚开始接触 ESP32 的时候,好多人估计都跟我一样,盯着这块小芯片发愁 —— 这玩意儿到底该咋啊?其实回头看看,大家走的路都差不多,无非就是从 “想做个啥” 开始,跌跌撞撞踩坑,慢慢摸着门道。
    的头像 发表于 06-12 17:58 ?652次阅读
    ESP32大家都是怎么<b class='flag-5'>学</b>的啊?

    机器学习赋能的智能光子器件系统研究与应用

    腾讯会议---六月直播 1.机器学习赋能的智能光子器件系统研究与应用 2.COMSOL声学多物理场仿真技术与应用 3.超表面逆向设计及前沿应用(从基础入门到论文复现) 4.智能光学计算成像技术
    的头像 发表于 06-04 17:59 ?234次阅读
    机器学习赋能的智能光子<b class='flag-5'>学</b>器件系统研究与应用

    计量之校准、溯源性和标准

    一、计量和计量工作者用于校准领域的通用名称是“计量”,根据国家计量技术规范JJF1001-2011《通用计量术语及定义》,计量定义为“实现单位统一、量值准确可靠的活动”。校准机构常称为计量实验室
    的头像 发表于 05-30 17:21 ?434次阅读
    计量<b class='flag-5'>学</b>之校准、溯源性和标准

    电机19

    的基本电磁关系、分析方法、运行性能、各种运行方式等内容,为进一步学习以上各有关专业的专业课程打下坚实的理论基础.本课程的修课程有高等数学、物理、电路及磁路等. 电机与物理、电路及磁路等课程的性质有很多
    发表于 05-10 19:28

    FOC电机控制究竟该如何

    学习FOC电机控制究竟是哪些内容? 电机知识 软件知识 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-09 14:09

    硬件好还是软件好?

    硬件好还是软件好? 选择学习硬件还是软件取决于个人兴趣、职业目标以及对不同工作方式的偏好。以下是两者的一些比较,帮助你做出更合适的选择。 学习硬件可以让你深入了解计算机和电子设备的
    发表于 04-07 15:27

    STM8/STM32 products有2D marking和没有2D marking的工艺有差别吗?

    请教下,STM8/STM32 products 有2D marking 和没有2D marking的工艺有差别吗?同一程序在使用时有2D标识的不能用。
    发表于 03-07 07:21

    STM32和ESP32应该哪个

    STM32 和 ESP32,哪个更适合我们学习? 这两个虽然都是单片机,但是各自的应用领域不一样,不存在谁取代谁的关系。 STM32 历史悠久,产品线非常的丰富,应用领域涉及医疗、汽车、工业自动化
    的头像 发表于 02-18 09:52 ?794次阅读

    和Dr Peter一起KiCad 4.8:设计规则检查(DRC)

    和Dr Peter一起KiCad 4.8:设计规则检查(DRC)
    的头像 发表于 12-25 14:55 ?2098次阅读
    和Dr Peter一起<b class='flag-5'>学</b>KiCad 4.8:设计规则检查(DRC)

    什么是光子

    ? 本文概述了光子,包括其基本原理、关键技术、应用和新兴趋势。 一、光子的基本原理 光子是一门研究光和其他形式辐射能的学科。它涉及使用光学元件、激光、光纤和电子光学仪器来产生、操纵和检测光。它
    的头像 发表于 10-29 06:21 ?808次阅读

    新手操作系统 第二周

    新手操作系统1.在shel程序中发命令 编辑 人在shell中发命令2.操作系统中的基本命令3.获取帮助信息的两个方法
    的头像 发表于 10-08 11:32 ?483次阅读
    新手<b class='flag-5'>学</b>操作系统 第二周

    STM8到MSPM0迁移指南

    电子发烧友网站提供《STM8到MSPM0迁移指南.pdf》资料免费下载
    发表于 08-23 08:31 ?0次下载
    <b class='flag-5'>STM8</b>到MSPM0迁移指南