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

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

3天内不再提示

从菜鸟到大牛!嵌入式完整学习路线:STM32单片机-RTOS-Linux

华清远见工控 2024-07-23 16:11 次阅读

嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统学习的路线图,按照STM32单片机RTOS➡嵌入式linux的顺序帮助您从入门到进阶,掌握嵌入式开发的精髓。

第一阶段 单片机

单片机是嵌入式学习的基石,因为它集成了处理器、存储器和输入输出接口于单一芯片中,提供了一个完整的微型计算机系统,特别适用于控制导向的应用。而且成本低廉、体积小巧、功耗低,能够直接与外部世界交互,执行预定义的控制逻辑,是掌握嵌入式技术不可或缺的起点。

在单片机的学习阶段,我们推荐STM32单片机入手。STM32单片机是目前市场上非常流行且广泛应用的32位微控制器之一,特别是在嵌入式系统、工业自动化消费电子物联网IoT)等领域。由于其丰富的功能、高性能、低功耗特性和广泛的开发支持,STM32成为了许多企业和开发者的首选。

在STM32单片机裸机开发这个阶段,推荐华清远见STM32多核心开发板,超高性价比。该开发板底板统一,支持多核心,如G0、F1、F4、U5等,可以通过插拔不同核心板(选配),去实战不同型号STM32开发,进行M0+、M3、M4、M33等多种Cortex内核学习。

wKgZomafZH2ABOjzAAkUc7kFBkI408.png

初学者可以选择底板上插入STM32F103核心板,进行STM32入门学习,学习基础的裸机开发。然后可以切换插入STM32U5核心板,玩一下STM32的裸机开发项目。STM32U5是ST低功耗系列和高性能系列的集大成者,在性能功耗、安全性、外设丰富度等方面都比STM32F1系列有显著提升,且STM32U5嵌入了ST先进的2.5D图形加速单元,可以让便携产品拥有手机界面的惊艳图效,非常适合做项目实战拓展学习用。也可以直接用STM32U5开发板(底板+STM32U5核心板),进行STM32入门+项目进阶学习,也是可以的。

当然你工作或学习中,如果涉及其他STM32型号的学习,比如STM32G0(Cortex-M0+)、STM32F4(Cortex-M4)核心的学习,也可以选购对应核心板学习即可,非常方便,多核心学习成本也很低。

第二阶段 RTOS

在掌握了STM32裸机开发之后,接下来就可以上操作系统了。裸机编程大部分时候够用,但在系统复杂度提高时,任务管理会变得很麻烦,RTOS就是为了解决这些问题。RTOS也有很多,初学者不用纠结学习哪个(FreeRTOS?RT-Thread?μC/OS-II?RTX?LiteOS?),因为RTOS内核原理都是相通的,学会一个,其它的只是API的不同,关键在于理解内核组件的使用方式。

这个阶段推荐学习一下FreeRTOS。FreeRTOS是一个非常流行的开源RTOS,适用于各种嵌入式平台,因其轻量级、易于使用和高度可配置而受到广泛欢迎,是RTOS入门者的理想选择。这部分可以重点‌学习FreeRTOS核心功能,包括任务管理、同步与通信、软件定时器、中断管理、内存管理、低功耗模式等。通过STM32CubeMX进行RTOS的配置,先学会使用,再去移植与理解内核实现。

在RTOS这个学习阶段,仍然推荐华清远见STM32多核心开发板。这个开发板提供基于多核心STM32G0/F1/F4/U5的FreeRTOS学习资源。官方推荐使用U5核心板学习FreeRTOS,因为配套的RTOS物联网项目也是基于STM32U5核心板实现的。

第三阶段 嵌入式Linux

有了STM32单片机及FreeRTOS这种稍微简单的RTOS开发经验后,就可以学习更复杂些的Linux操作系统了,会比直接学Linux更容易些。当然不学RTOS直接上Linux也是可以的,只是目前企业招聘岗位中,很多的岗位需求里都会要求懂RTOS或Linux或两者都懂,所以当你有了RTOS和Linux的经验后,你的求职机会就会变得更加广阔。

Linux这个阶段的学习,推荐华清远见FS-MP1A嵌入式Linux开发板。这个板子主控为STM32MP157(多核异构,2*Cortex-A7+1*Cortex-M4),STM32MP1系列为ST推出的首款MPU系列。因为同属于STM32芯片,STM32硬件控制器具有继承性,所以更易于上手。

wKgZomafZK6AQFSgAAtZvV9tLNM887.png

华清远见STM32MP157开发板配套丰富的扩展模块,包括仿真器(可仿真A7和M4)、显示屏、摄像头、资源扩展板(独家配件,含丰富的传感器、执行器资源,非常方便项目的拓展)等。同时,开发板提供9大方向教程、500+视频的全体系的嵌入式linux学习资料,无论你是希望专注于应用层开发,还是喜欢深入底层技术,都能找到适合自己的课程。

此外,华清远见STM32MP157开发板还提供音乐播放器、智慧家庭、工业电表、智能出行助手、智能猫眼、环境监测、智能安防、智能语音识别等10余个Linux+Qt综合性项目实战,而且STM32MP157多核异构的优势,也极大的拓展了Linux的应用场景,非常贴合企业当下开发需求,是一款嵌入式Linux入门进阶必备开发板。

wKgaomafZNqAdJ_GAAStj40hxd8705.png

拓展学习 RTOS及物联网

RTOS(实时操作系统)目前已广泛应用于单片机项目、物联网项目及更多需要实时控制和处理的嵌入式系统领域,尤其在物联网(IoT)方向上展现出了强劲的发展势头,而且随着物联网技术的不断进步和应用场景的日益丰富,RTOS在物联网领域的应用将会更加广泛。

对RTOS物联网方向感兴趣的用户,可以多关注其他RTOS的学习,这里我们推荐3款不错的物联网开发板:HaaS EDU开发板、Hi3861鸿蒙开发板、ESP32物联网开发板供选择。这些不同的RTOS各有特点,可以根据具体的应用场景和需求进行学习和应用。

HaaS EDU物联网开发板

HaaS EDU K1是一款高颜值、高性能、高集成度的物联网开发板,板载功能强大的4核(双核300Mhz M33+双核1GHz A7)主芯片,2.4G/5G双频Wi-Fi,双模蓝牙(经典蓝牙/BLE),并自带丰富的传感器与小屏幕,配套丰富的扩展模块,可以快速实战基于阿里云生态的物联网相关场景的应用开发。

可学习技术:传感器数据采集及控制、WiFi网络开发、AliOS things操作系统、阿里云接入、HaaS轻应用开发、物联网综合应用项目等。
可实战项目:智能井盖/离位报警器、野外救援、微信小程序云养花、飞机大战、复古八音盒、贪吃蛇等。

wKgZomafZPaAZW30AAPcUFGDVcY225.png

Hi3861鸿蒙物联网开发板

鸿蒙物联网开发板FS-Hi3861使用OpenHarmony(LiteOS子内核),主要用于鸿蒙设备开发及物联网开发学习。芯片内置WiFi功能,板载传感器、执行器、NFC、显示屏等丰富模块,并提供丰富的创新项目拓展模块,还配套了全套的开发教程、视频课程及丰富的项目案例。

可学习技术:鸿蒙开发环境搭建,鸿蒙系统内核、鸿蒙外设驱动、鸿蒙物联网开发等技术,还可拓展单片机入门、电机控制、单片机项目实战等方面的学习。
可实战项目:智能照明灯、智能安防报警、智能农业、智能温度计、智能测距仪、倒车雷达、智能小车、智能家居语音控制、智能农业与安防控制、智能垃圾箱、车辆感知定位等。

wKgaomafZROAD4DFAATAkuS7qjA178.png

ESP32物联网开发板

华清远见FS-ESP32A物联网开发板,主控模组为ESP32-WROOM-32,是通用型Wi-Fi+BT+BLE模组,开发板板载温湿度传感器、光感/接近/红外传感器、 NFC、RGB灯、风扇、蜂鸣器等丰富外设资源,并配套提供Arduino(C/C++),Micropython,Scratch3.0三种版本开发教程和丰富的项目案例资源,可以轻松学习物联网开发。

可学习技术:WiFi/蓝牙网络开发、Arduino开发、 MicroPython编程、Scratch编程、阿里云、微信小程序、FreeRTOS开发、物联网应用项目等。
可实战项目:智能照明灯、智能安防报警、智慧农业、智能温度计、智能测距仪、倒车雷达、智能小车。

wKgZomafZS-AEU6QAATm0-Qj9aQ295.png

每种RTOS都有独特的应用场景和优势,选择哪一种进行学习,往往取决于个人的具体目标和项目需求。

总之,嵌入式学习是一个循序渐进的过程,需要学习者不断地实践和积累经验,按照“STM32单片机➡RTOS➡嵌入式linux”的学习路线,并结合丰富的项目实践和拓展学习,相信学习者能够在嵌入式领域打下坚实的基础,不断提升自己的技术水平,增加职业竞争力。

更多嵌入式问题可私信咨询雯雯老师,也可以在文章下方留言,小编都会一一解答哦~

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

    关注

    5101

    文章

    19261

    浏览量

    309712
  • Linux
    +关注

    关注

    87

    文章

    11372

    浏览量

    211156
  • STM32单片机
    +关注

    关注

    59

    文章

    549

    浏览量

    58936
  • FRTOS
    +关注

    关注

    0

    文章

    2

    浏览量

    5172
收藏 人收藏

    评论

    相关推荐

    【入门必看】菜鸟大牛嵌入式系统完整学习路线!看这篇就够了!

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统学习
    的头像 发表于 02-20 10:53 455次阅读
    【入门必看】<b class='flag-5'>从</b><b class='flag-5'>菜鸟</b><b class='flag-5'>到</b><b class='flag-5'>大牛</b>,<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>完整</b><b class='flag-5'>学习</b><b class='flag-5'>路线</b>!看这篇就够了!

    物联网学习路线来啦!

    是十分必要的。 3嵌入式MCU开发技术 3.1单片机开发技术入门 3.1.1单片机基本开发方法 单片机概念、控制方式及开发环境 单片机分类及
    发表于 11-11 16:03

    零基础嵌入式开发学习路线

    是一种集成了处理器、内存、输入输出接口等功能的微型电路板,它是嵌入式开发的基础硬件设备。学习单片机可以让你了解硬件的基本原理和操作方法,比如如何连接电源、如何配置引脚、如何编写驱动程序等。目前应用最多
    发表于 10-25 15:55

    嵌入式学习建议

    动手做一个实际的小系统,底层硬件基础就有了。各个硬件模块驱动程序的编写是嵌入式系统的必备基础。学习嵌入式系统的初期,这个过程是必须的。 ④至于嵌入式实时操作系统
    发表于 10-22 11:41

    入门?毕设?竞赛?项目练手?STM32/嵌入式/物联网学习,有这几款开发板就够了!

    针对STM32单片机嵌入式Linux、物联网初学者,我们精心梳理了“入门项目进阶”
    的头像 发表于 10-10 16:31 519次阅读
    入门?毕设?竞赛?项目练手?<b class='flag-5'>STM32</b>/<b class='flag-5'>嵌入式</b>/物联网<b class='flag-5'>学习</b>,有这几款开发板就够了!

    目前深圳嵌入式单片机就业环境如何?

    深圳作为中国的科技创新中心之一,在嵌入式单片机领域的就业环境相对较好,以下是对该就业环境的详细分析:
    的头像 发表于 10-09 11:51 788次阅读
    目前深圳<b class='flag-5'>嵌入式</b><b class='flag-5'>单片机</b>就业环境如何?

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合
    的头像 发表于 09-02 10:16 2316次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,
    的头像 发表于 09-02 09:11 719次阅读

    嵌入式linux开发板怎么操作

    开发板概述 嵌入式Linux开发板是一种专门为嵌入式系统开发而设计的硬件平台。它具有体积小、功耗低、性能高等特点,广泛应用于工业控制、智能家居、医疗设备、汽车电子等领域。与传统的PC
    的头像 发表于 09-02 09:09 531次阅读

    手把手教你!STM32单片机入门指南:初级中级工程师的学习路线

    首选的跳板。为了帮助初学者们系统地学习STM32,我们提供了一条初级中级的学习路线,涵盖了
    的头像 发表于 07-22 14:38 3677次阅读
    手把手教你!<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>入门指南:<b class='flag-5'>从</b>初级<b class='flag-5'>到</b>中级工程师的<b class='flag-5'>学习</b><b class='flag-5'>路线</b>

    STM32单片机有哪几种常见的开发环境?

    STM32单片机是一款广泛应用于嵌入式系统开发的单片机,针对其开发,有以下几种常见的方式:STM32单片
    的头像 发表于 05-18 08:04 3524次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>有哪几种常见的开发环境?

    stm32单片机学习路线

    STM32的寄存器编程可以帮助你更深入地了解单片机的工作原理和底层操作。通过编写简单的程序,控制LED、读取按键等基本操作来加深理解。 5.学习HAL库和CubeMX:HAL库是STM32
    发表于 05-10 15:34

    嵌入式微处理器是单片机

    嵌入式微处理器不是单片机。虽然两者都是嵌入式系统中的核心组成部分,但它们在某些方面存在明显的区别。
    的头像 发表于 03-29 11:40 921次阅读

    新手学习单片机最常见的六大误区!

    最近看到台私信要资料的同学比较多,想必大家都是对单片机有着浓厚的学习兴趣,但是很多新手开始入门单片机的时候都会遇到一些学习的误区,今天就来整理一下大家可能会遇到的六大误区。
    的头像 发表于 03-28 08:03 1018次阅读
    新手<b class='flag-5'>学习</b><b class='flag-5'>单片机</b>最常见的六大误区!

    ARM嵌入式Linux 系统开发入门精通

    ARM嵌入式Linux 系统开发入门精通
    发表于 03-10 18:44