当时市场上充斥着8位计算机。 大学教材都是用51入门的,个人和公司学习单片机的时候基本都是用51。 虽然AVR也有一些8位机市场,但与stc主导的51单片机完全无法相比。
当然,此时市场上也出现了16位的msp430、包括pic在内的其他厂商的微控制器,以及arm7、arm9等高端嵌入式处理器。
这一时期的单片机市场百花齐放、百家争鸣,但总体来说是势均力敌、风平浪静。
那么,这种局面是从什么时候开始打破的呢? 这还得从物联网的兴起说起。
彼时,物联网(IoT)逐渐进入人们的视野。 随着其发展,嵌入式领域对高性能处理器的需求呈爆发式增长。
虽然8位CISC(复杂指令集)架构核心8051占据了半壁江山,但其低性能和有限的寻址范围使其难以适应更多新兴应用领域。
32位架构微处理器核心,以其优异的执行性能,既能满足物联网对数据处理能力的要求,又能兼顾物联网的低功耗和高性能要求,并且赢得了物联网市场的独家青睐。
在32位微处理器中,ARM推出了适合各种嵌入式应用的微控制器内核——Cortex-M内核,受到市场的青睐。 Cortex-M 之于 32 位 MCU 就像 8051 之于 8 位 MCU。
正是Cortex-M的出现,让ST看到了这个核心的强大——用这个核心设计出了辉煌的STM32,打破了之前微控制器的局面。
现在,当我们回顾那段历史时,我们会发现,一切的变化都发生在那个时候——
正如意法半导体中国区微控制器营销与应用总监曹金东在2021年STM32峰会上回顾历史时所言,“十多年前,MCU还是ST内部非常小的一个部门,直到2007年,ST发布了第一个STM32 产品改变了一切。”
自2007年6月11日推出第一代STM32产品Cortex-M MCU STM32F1以来,微控制器市场又迎来了STM32的新星,32位MCU浪潮如期而至。
从此芝麻开花节节高,STM32的成功故事还在继续。
ST每年都陆续基于新核心或新技术领域取得突破,发布超过19个STM32产品系列,其中包括MPU产品线,生产工艺也从180nm不断进步到110nm、90nm和40nm。 。
例如:
2009年,推出全球首款超低功耗系列STM32 L1;
2010年,推出第一条基于90纳米工艺、120MHz的高性能STM32F2产品线;
2011年,推出首款高性能Contex-M4处理器STM32F4;
…
2019年推出全球最强首款双核处理器STM32MP1、最新一代混合信号Contex-M4 MCU和全球最大MCU STM32H7;
2020年,推出全球首款内置LoRa收发器的SoC——STM32WL。
“南美亚马逊雨林中的一只蝴蝶偶尔拍动翅膀,两周后就会在德克萨斯州引发龙卷风。”
小蝴蝶STM32带来的变化也是显而易见的。
2007年,ST的通用MCU仅排名全球第11位。 2015年升至第三位,2018年升至第二位。 2018年,ST荣获中国供应商排名第一。 在高地,接下来的几年里,ST的地位几乎是不可动摇的。
进入STM32后,我们应该如何学习?
如今,STM32蓬勃发展,潜力无穷。 因此,很多人都在学习STM32。
不过,STM32对于初学者来说可能不是特别友好,因为知识点很多,但是对于有一定开发经验的人来说,它却是一把好利器,可以帮助你大大缩短开发周期。
那么应该如何进入STM32呢?
人友君觉得大学时期从实验室传下来的学习方法还是不错的,所以下面分享给大家~
(一)按计划定期定量学习
大学的时候,实验室里有学长指导我,安排任务。
例如,基本任务是结合《STM32Fxxx参考手册》、《STM32固件库用户手册》和光盘视频,在一周内学习并搭建好环境,熟悉调试软件,实现基本的GPIO应用。
(2)举一反三,通过阶段性任务检验学习效果
在学习例程时,可以尝试修改例程的外围配置,达到举一反三的效果。
每周学长都会根据你的学习进度给你布置阶段性任务,来检查你的学习成果。
如果是自学的话,可以主动给自己找一个小项目,根据网上的教程以及各大资源网站上的《STM32入门小项目合集》来实现。
这里推荐一下正点Atom的资源。 毕竟每次看视频的开场曲《我的未来不是梦》都让我对STM32产生了热情。 当然野火、小喵、普中也不错~
(3) 只要知道如何使用基本的外设和功能即可。 您可以稍后详细了解您需要什么。
从头到尾一步步系统学习STM32知识还是不错的。 但是,你要知道,学习单片机只是为了解决问题。 只要我们遇到问题时可以通过STM32来解决。
所以,当你基本掌握了基本的外设和功能,程序就可以运行了,并且知道了该修改哪里、修改什么内容,就基本准备好上手了。
之后你可以通过一些大大小小的项目来巩固理解、探索新的功能,你的经验也会随之增长。
(4)C语言学好的话,可以学会画PCB板和焊接。
软件和硬件都需要解决。
C语言对于学习STM32至关重要。 如果C语言不好,我应该运行什么代码?
学习绘制和焊接板,以便您可以添加所需的任何内容。
当然,以上建议都是针对没有基础知识的STM32初学者。 如果你有一定的基础,那么当然要对症下药,弥补你不知道的东西。
03 学习无极限,勇于探索新技术
“学海无涯,永无休止”,更何况每年都在创新的STM32。
事实上,STM32的开发方式已经发生了很大的变化。
例如,2014年,ST推出了HAL库和MCU图形配置软件STM32CubeMX。
2017年底,ST收购Atollic,并将TrueSTUDIO专业版转换为免费软件。
2019年4月,ST正式推出自有的STM32程序开发IDE工具软件STM32CubeIDE1.0.0,打造了完整的STM32Cube生态系统。
STM32Cube生态系统已经完全放弃了早期的标准外设库。 STM32系列MCU提供HAL固件库和其他扩展库。
STM32Cube生态系统的两个核心软件是STM32CubeMX和STM32CubeIDE,两者都是ST官方免费提供的。
STM32CubeMX可以用于图形化配置MCU的系统功能和外设,并可以生成STM32CubeIDE项目框架代码,包括系统初始化代码和配置外设的初始化代码。
如果用户想在生成的STM32CubeIDE初始工程的基础上添加自己的应用代码,只需要在代码沙箱部分编写用户代码,然后就可以修改STM32CubeMX中的MCU设置并重新生成代码,而不影响用户。 程序代码已添加。
从这一点来看,使用STM32CubeMX和TrueSTUDIO进行STM32开发是一个很好的组合!
您想了解STM32的最新开发技术吗?
在此,人友君推荐最新系列的《STM32Cube高效开发教程》。 其中“基础”可以帮助您掌握STM32Cube开发方法和工具软件的使用,“高级”不仅介绍STM32开发的高级内容,还演示了STM32CubeMX和STM32CubeIDE软件开发例程的使用。
▌内容介绍
《基础篇》使用ST公司提供的免费工具软件STM32CubeMX和STM32CubeIDE进行STM32开发,以一块STM32F407开发板为研究对象,系统介绍了STM32Cube开发方法,介绍了STM32F407的各种系统功能以及常用的工作原理外围设备。 、HAL驱动程序和编程示例。 本书的每一章都设计有完整的高质量示例项目。 示例项目完全采用STM32Cube开发方式。 程序结构清晰,代码易于阅读和理解。
《进阶》介绍了STM32开发的一些进阶内容。 第一部分详细介绍嵌入式操作系统FreeRTOS的使用; 第二部分介绍使用FatFS管理SPI-Flash芯片、SD卡和U盘上的文件系统; 第三部分介绍了BMP和JPG图像的采集和显示,以及触摸屏的使用。 、DCMI接口和数码相机等。全书使用STM32CubeMX和STM32CubeIDE软件开发例程讲解FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device等中间件以及SDIO、USB-OTG、DCMI等外设的原理和使用方法等等,并写了一个STM32F407开发板的完整示例。 项目。 通过阅读本书,读者可以掌握STM32开发中嵌入式操作系统、文件系统、触摸屏等高级软硬件的开发方法。
▌本书特点及使用规范