它是意法半导体(ST)推出的一系列高性能、低功耗微控制器和微处理器,涵盖基于ARM-M和部分集成-A系列内核(如系列)的32位系统。该系列以型号选择范围广、高性能、低功耗、高集成度和良好的软件生态系统而闻名。在芯片领域,特别是在嵌入式系统微控制器市场占有举足轻重的地位,广泛应用于工业自动化、消费电子、物联网(IoT)等许多关键领域。
它有着非常丰富和活跃的生态系统,并通过官网、论坛、书籍等为开发者提供了大量的学习开发资源,在企业中应用广泛,人才需求前景广阔,是一个值得学习的方向。那么初学者如何快速入门呢?本文主要以华清远鉴 MCU 开发板为硬件平台,讲解如何快速入门开发,为初学者提供“零基础入门->高级提升->项目实践”完整、系统、高效的学习路线。
微控制器开发的第一步
选择哪款开发板?
其涵盖的型号较多,有主流系列MCU、高性能系列MCU、超低功耗系列MCU、无线系列MCU等,每种型号的外设和功能都不一样,再加上嵌入式系统本身的知识面很广,初学者很容易感觉资料量太多,不知道选择哪款开发板开始学习。
其实不用纠结到底学F1还是F4还是G0还是U5,都可以,区别只是外设资源多少,初学者只要掌握常用外设的使用就行,在开发真正的企业产品时,会根据产品功能需求来选择芯片。初学者还可以拓展学习多种型号,学习不同M核心的开发,了解多种芯片型号的区别和应用场景,而且学完一种型号,再去学其他型号其实很快。
需要什么样的基础?
主要是C语言基础,包括数据类型,控制结构,函数,指针等,因为编程主要用到C语言,C语言在嵌入式开发中应用非常广泛,所以要重点打好基础。
我需不需要先提高一下硬件基础呢?
不可否认,硬件基础是学习中很重要的一部分,有硬件基础当然好,但其实也不一定要严格按照传统的学习顺序,初学者可以直接开始学习,边用边学硬件基础,在实践中拓展知识边界。比如需要了解ADC采集模拟信号的工作原理时,可以进一步学习相关的模拟电子学知识;遇到数字信号处理,比如SPI、I2C通信协议时,可以复习数字电子学原理。这样,遇到具体问题时再复习理论知识,可以让记忆更加深刻,学习更有针对性。
要不要先学51单片机呢?
最好有 51 MCU 基础,如果没有基础,就没必要先学 51。传统的学习路径主张从基础的 51 MCU 开始,帮助初学者建立对底层原理的理解。虽然 51 MCU 作为学习单片机的基础教材仍然保留一定地位,但在实际企业应用中的份额非常小。相比之下,凭借其先进的架构和丰富的生态系统,它早已成为现代嵌入式开发的首选平台。
初学者在刚入门的时候,我们更注重快速入门和带着兴趣去学习。系统地学习底层原理其实比较枯燥。HAL库的开发就是为了帮助初学者快速入门,并且通过学习过程中的一些小实验,让他们感受到带着兴趣去学习的成就感,然后当遇到具体的技术难点或者想更深入地了解某个功能的底层实现时,就可以有针对性的去拓展学习相关原理。这种兴趣+目标的学习方式也更加高效。
如何快速上手?
初学者如果想快速入门,不需要追求掌握所有的细节,而应该着重学习能够应对大部分应用场景的核心技能。我们常说的 80/20 法则,就是说实际工作中,80% 的工作场合会用到大概 20% 的常用外设,所以建议初学者先掌握 20% 的常用外设的使用,然后在实际项目实战中不断应用,需要用到的时候再去扩展学习其他的。
从入门到项目实践再到高级
对于 MCU 的学习,我们推荐“裸机开发-裸机项目实践-RTOS-IoT 项目实践”的项目型学习路线,先学习裸机开发,然后通过裸机项目实践巩固裸机学习,再学习 RTOS 操作系统,再基于 RTOS 实践 IoT 综合项目。通过项目实践,可以更加扎实的掌握各阶段的知识点,实现从入门到项目进阶的学习。
(1)裸机开发
▪ 开发环境搭建及使用
安装和配置Keil MDK、VS Code等工具软件,学习如何使用生成的工程模板,配置时钟,外设等。并编写简单的GPIO控制程序,学习如何将代码下载到开发板,以及如何使用调试器调试程序。
意法半导体()开发了功能强大的图形化软件配置工具,专门用于简化一系列微控制器的项目设置和初始化过程。它允许用户通过直观的界面配置芯片的外设、时钟、中断、DMA 通道等,并自动生成相应的 C 语言初始化代码。它显著减少了手动编写配置代码的工作量,提高了开发效率,适配全系列芯片,兼容多种开发环境,是生态系统中的核心工具之一。
开发工具包
Keil(现为ARM公司旗下的一个产品)针对ARM-M、-R4、ARM7、ARM9系列处理器设计了一套完整的微控制器开发集成开发环境(IDE),集编程、编译、调试于一体,可以大大提高开发人员的开发效率和代码质量,在嵌入式系统和微控制器应用开发中有着广泛的应用。
▪ 快速掌握常用外设的使用
阅读官方数据手册和参考手册,然后从最基本的GPIO入手,了解其工作原理并练习简单的GPIO控制项目。学会使用+HAL(硬件抽象层)练习外设控制。掌握常见重要外设的使用,如定时器()、ADC(模数转换器)、DAC(数模转换器)、/I2C/SPI(通信接口)、DMA(直接内存访问)等。通过技术讲解与实验例程相结合,帮助初学者快速进入开发。
(2)裸机开发项目实践
▪ 图形界面开发
掌握配置、了解使用,并深入研究各类传感器的驱动及图形界面GUI的应用实践,为后续综合项目实践的图形用户界面设计奠定基础。
专为在微控制器(尤其是系列)上创建具有高级用户界面(UI)的应用程序而设计的高性能嵌入式图形库和软件框架。它使开发人员能够在资源有限的嵌入式系统上实现类似智能手机的图形界面效果,同时优化 CPU 负载并充分利用硬件加速功能。
▪ 基于
完成裸机基础学习后,通过实际项目实战,真正做到技术应用,积累综合编程经验和编程思想。我们提供裸机编程项目-智能手表,手把手教学,还原企业真实的项目开发。在这个过程中,很可能会出现很多问题,比如裸机任务管理方式,任务优先级,中断优先级等。我们将综合项目demo分成不同部分进行讲解,让用户一步步完成项目,多思考,多学习。当然,当你有一个恍然大悟的时候,你就基本掌握了这个项目,做其他项目时经验也是通用的。
(3)RTOS内核学习
▪ 发展
裸机编程在大多数时候已经足够了,但是当系统复杂度增加时,任务管理就变得很麻烦。RTOS 就是为了解决这些问题而设计的。RTOS 有很多,初学者不必纠结于学哪个,因为 RTOS 内核原理都是一样的,学了一个之后其他的只是 API 不同而已,关键是理解如何使用内核组件。这一部分我们主要讲解和学习核心功能,包括任务管理、同步与通信、软件定时器、中断管理、内存管理、低功耗模式等。通过配置 RTOS,可以先学会如何使用,然后再移植和理解内核实现。
实时操作系统
RTOS(Real-Time)是专门为实时应用而设计的操作系统,在单片机上应用十分广泛。在嵌入式系统中,特别是对可靠性、时间敏感性要求较高的系统,如工业控制、航空航天、汽车电子、医疗设备等,RTOS 的应用十分广泛。常见的 RTOS 有 RT-OS、RT-3、RT-4、RT-5、RT-6、RT-7、RT-8、RT-9、RT-10、RT-11、RT-12、RT-13、RT-14、RT-15、RT-16、RT-17、RT-18、RT-19、RT-20、RT-21、RT-22、RT-23、RT-24、RT-25、RT-27、RT-28、RT-29……
这是适用于多种嵌入式平台的非常流行的开源 RTOS。它因其轻量、易用和高度可配置的特性而广受欢迎。它能够在多种微控制器和嵌入式平台上运行。
(4)物联网项目的实际应用
▪ LVGL图形界面开发
相比之下,LVGL是一个开源的通用图形界面库,学习LVGL不仅可以用于其他芯片,还可以用于其他芯片。LVGL在单芯片物联网项目中也有广泛的应用。这部分主要讲了LVGL的环境配置,深入学习了标签、按钮、文本框等基本控件的创建、配置和使用。理解LVGL的事件处理机制,实现基本的用户输入处理。学习LVGL的布局体系,以及LVGL的样式和主题体系。后续的物联网综合项目会在界面编程环节使用LVGL。
低密度聚乙烯
LVGL(和)是一个专为嵌入式系统设计的开源图形库,旨在为此类系统提供现代、美观且功能丰富的图形用户界面(GUI)。
▪ 基于 RTOS 的综合物联网项目
在完成裸机和RTOS的学习,掌握LVGL图形界面编程之后,可以实践更加复杂全面的物联网项目,通过资源扩展板上的温湿度、环境光、火焰、人体红外、光电开关、电流/电压采集、健康监测、通信等,可以实践全面的物联网项目案例,项目设置、历史数据查看、远程升级、云端管理等,通过这些项目案例,可以真正了解智能设备的实际原理,积累开发经验。
03初学者的首选-华清远鉴开发板
华清远鉴开发板是一款入门+项目进阶的开发板,主控为ST新一代超低功耗MCU旗舰版,开发板采用底板+核心板分离设计,底板统一,支持/F1/F4/U5多核板,通过插拔即可学习不同型号。
(一)入门+项目实践
华清远建凭借20年教育培训行业经验,打造了一系列“入门级+项目级开发板”,通过丰富的项目案例进行基础知识的亲手教学和实践,帮助初学者快速上手。
▪ 基于项目的学习
华清远鉴开发板提供的是项目导向的学习路线,不同于纯理论实验教学,将基础理论与项目实践相结合,在完成裸机开发、RTOS内核开发基础知识后,通过全面的项目实践,让学生能够及时将所学知识运用到实践中,不仅学到了技术,还积累了项目开发经验。非常适合入门学习、项目实践、学生毕业设计、创新大赛、高校教学等场合,对个人求职、丰富简历项目经验也有极大的帮助。
▪ 易于使用的入门学习资源
开发板配备了丰富的入门及进阶项目学习资料,所有课程循序渐进,简单易学,可帮助您快速入门。资料包括开发教程、PPT课件、视频课程、工具软件、开发源代码、设备手册、硬件图纸等。关注微信公众号“华清远见在线实验室”回复“6”即可免费获取。同时还提供售后技术支持QQ群问答,帮助初学者快速入门。
(2)超高性价比,初学者的首选
采用底板+核心板分离设计,底板统一,支持/F1/F4/U5多核板,通过插拔不同核心板即可开发不同机型,学习M0+、M3、M33、M4等多个核心。
该开发板价格超低,只要214元,而且因为底板通用,所以如果要学习多种型号,不需要再购买一整套开发板,只需要购买对应的核心板即可,4块核心板的价格也非常低,学习多种型号的成本非常低。
优势
它是ST高性能低功耗系列的旗舰产品,凝聚了ST超低功耗微控制器技术的精髓,延续了F4/F7高性能系列的应用范围(M33较M4有+20%的性能提升)。可以说是低功耗系列和高性能系列的巅峰之作,也是ST目前主推的芯片。还内嵌了ST先进的2.5D图形加速单元,可以赋予便携式产品媲美手机界面的震撼图形效果,非常适合项目实际拓展和学习。
(3)权威认证+全国赛事支持
该开发板是中国电子学会《嵌入式系统设计工程师中级认证》的专用硬件平台,通过购买认证包并完成开发板配套课程《基于HAL的裸机开发》和《基于的智能手表项目》,考核合格者可获得中国电子学会颁发的《嵌入式系统设计工程师》中级技术等级证书,可作为专业技术人员考核评价、岗位招聘、职称评聘、专业报考的重要依据。
同时,华清远鉴开发板也是2024嵌入式芯片与系统设计大赛-ST赛道官方推荐的学习开发平台,通过开发板学习可以帮助学生提升技术能力和项目实践经验,从而有效提升竞赛作品质量,真正实现“以赛促学、以教促教”的目标。
人才发展需求现状及前景
发展人才需求
在物联网、人工智能、工业4.0等趋势的推动下,对具备开发技能的人才的需求不断增长。职位包括嵌入式软件工程师、嵌入式开发工程师、物联网(IoT)工程师、测试工程师等,涉及工业自动化、消费电子、汽车电子、能源管理、物联网等多个领域的公司。
发展方向主要包括但不限于以下职位:
1.嵌入式软件工程师/开发工程师
这是开发人员最常见的职位之一,负责微控制器的软件开发,包括固件设计、编码、调试和优化。他们还需要编写驱动程序来控制各种外设,实现产品的功能要求。
2. 物联网(IoT)工程师
在物联网领域,开发人员负责设计和实现基于物联网的智能设备或边缘计算节点,涉及无线通信(如Wi-Fi、蓝牙、LoRa、NB-IoT)的集成,以及与云平台的数据交换。
3. 系统集成工程师
负责软硬件的集成,确保系统与其他子系统或第三方设备的无缝对接,并进行系统级的测试和优化。
4. 测试工程师
重点进行系统测试,包括单元测试、集成测试、性能测试和压力测试,确保产品符合质量标准。
5.技术支持/售后工程师
为客户提供基于产品的技术支持,解决客户在应用、调试或维护中遇到的问题,有时还参与现场技术支持与培训。
6.产品开发经理/项目经理
虽然该职位更侧重于项目管理和产品规划,但具有开发背景的人可以更好地了解技术细节,指导开发团队,制定技术路线图,确保项目按计划进行。
7.人工智能(AI)边缘计算开发人员
利用计算能力开发可以在本地执行机器学习模型的智能设备。
8. 安全工程师
重点关注应用安全,防止数据泄露和设备恶意攻击。
未来发展趋势
随着技术的演进和市场的变化,开发人员作为嵌入式系统开发领域的重要角色,呈现出以下发展趋势:
1. 物联网技术的融合
随着物联网(IoT)的快速发展,工程师将越来越多地参与智能设备、传感器网络、远程监控和数据传输的开发。了解无线通信技术(例如Wi-Fi,蓝牙,LoRa,NB-IoT)以及与云平台的连接将成为必备技能。
2.低功耗设计能力
在可穿戴设备、远程监控和能源管理等应用中,低功耗设计变得尤为重要。工程师需要了解如何利用低功耗模式,优化代码和系统设计以延长电池寿命。
3. 增强安全性
随着物联网设备的普及,安全威胁也日益增加,工程师需要具备网络安全意识,掌握加密技术、安全协议、硬件安全模块的使用,保障设备和数据的安全。
4.人工智能和边缘计算
随着AI技术深入消费市场,工程师将有机会在边缘计算领域发挥作用,设计能够进行本地数据处理和决策的智能设备,这需要工程师掌握一定的机器学习基础知识和算法优化技能。
5. 跨学科合作
未来的工程师不仅需要精通嵌入式开发,还需要与机械工程师、数据科学家、设计师等跨学科专家密切合作,共同完成复杂系统的设计和开发。
6.软件与硬件的结合
在一些高级应用中,工程师可能需要具备一定的硬件设计能力,例如了解PCB布局、电源管理、传感器集成等,以实现软硬件一体化的解决方案。
7. 继续教育和学习
技术更新速度很快,工程师需要紧跟最新的微控制器型号、开发工具、编程语言和技术标准,并保持学习热情和应变能力。
8. 市场增长和就业机会
从市场反馈来看,工程师就业前景良好,尤其在工业自动化、汽车电子、智能家居等行业,随着企业数字化转型、智能化升级,相关人才需求预计持续增长。