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”的学习路线,并结合丰富的项目实践和拓展学习,相信学习者能够在嵌入式领域打下坚实的基础,不断提升自己的技术水平,增加职业竞争力。

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

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

    关注

    5186

    文章

    20146

    浏览量

    328792
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217963
  • STM32单片机
    +关注

    关注

    59

    文章

    553

    浏览量

    60311
  • FRTOS
    +关注

    关注

    0

    文章

    2

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一个面向单片机、事件驱动的嵌入式开发平台介绍

    EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发一个企业级的嵌入式开发平台,以事件总线
    发表于 12-05 06:26

    开源 | 60余套STM32单片机嵌入式Linux、物联网、人工智能项目(开发板+教程+源码)

    私信免费领取!60余套综合项目案例STM32单片机嵌入式、物联网、人工智能智能车/机器狗/小智AI/家居/农业/安防等多领域项目文档+项目源码,全开源高校教学、学生毕设、创新竞赛、项目练手01
    的头像 发表于 12-04 11:42 65次阅读
    开源 | 60余套<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>、<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>、物联网、人工智能项目(开发板+教程+源码)

    分享一个嵌入式开发学习路线

    法,这些语法在嵌入式开发中至关重要。 2. 技能进阶期(2-3个月) 51单片机过渡到主流的ARM Cortex-M系列(嵌入式就业核心平台),学会使用
    发表于 12-04 11:01

    9年嵌入式老兵亲授:RK3506 Linux开发付费合集序章(含完整学习指引)

      入门,后来深耕  FreeRTOS 、 Linux 、 Android  系统开发;逐行配置底层寄存器,驱动开发、内核裁剪,再到上层应用落地;
    的头像 发表于 11-27 11:53 87次阅读
    9年<b class='flag-5'>嵌入式</b>老兵亲授:RK3506 <b class='flag-5'>Linux</b>开发付费合集序章(含<b class='flag-5'>完整</b><b class='flag-5'>学习</b>指引)

    学习RTOS的意义?

    对于嵌入式软件工程师,学习RTOS非常有必要。 1. 项目需要 随着产品要实现的功能越来越多,单纯的裸机系统已经不能完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,就必须引入
    发表于 11-27 08:16

    嵌入式单片机定义及区别

    单片机,即嵌入式微控制器MCU,是嵌入式系统的核心组成部分。除此之外,嵌入式处理器还包括嵌入式DSP处理器、
    发表于 11-17 08:11

    单片机嵌入式,到底是什么关系?

    很多人初次接触嵌入式开发时,都会听到一句话:“嵌入式其实就是单片机。”可当你真正开始学习时,会发现嵌入式
    的头像 发表于 11-14 10:28 575次阅读
    <b class='flag-5'>单片机</b>和<b class='flag-5'>嵌入式</b>,到底是什么关系?

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/
    发表于 10-21 16:25

    嵌入式入门进阶,怎么学?

    嵌入式入门进阶,怎么学? 嵌入式学习的核心是 “软硬结合的技术壁垒”,科学分层才能高效突破。以下是
    发表于 09-02 09:44

    嵌入式单片机,是同一个东西吗?

    (RTOS)或没有任何操作系统的裸机编程。软件方面,嵌入式系统可能使用专门的编程语言,如C、C++或汇编语言,这些语言能够提供对硬件的直接控制和高效的运行性能。 单片机,即微控制器
    发表于 07-09 10:20

    怎么结合嵌入式Linux,和FPGA三个方向达到一个均衡发展?

    嵌入式领域,不少人都怀揣着让嵌入式Linux 和 FPGA 三个方向实现均衡发展的梦想,然而实践中却面临诸多挑战。就像备受瞩目的全栈工程师稚晖君,他大学玩
    的头像 发表于 06-25 10:08 649次阅读
    怎么结合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三个方向达到一个均衡发展?

    Linux嵌入式单片机嵌入式的区别?

    ,开发工具包括GCC、Makefile等。 3.操作系统 : 单片机嵌入式 :一般不使用完整的操作系统,或者使用简单的实时操作系统(RTOS),如FreeRTOS。
    发表于 06-20 09:46

    STM32单片机学习进阶路线】FreeRTOS嵌入式开发指南:入门智能循迹避障小车项目实战(含文档代码)

    STM32学习路径一般是先掌握裸机开发,再进阶学习RTOS。简单的功能可通过裸机实现,而复杂产品则需借助RTOS来完成。随着
    的头像 发表于 05-29 11:46 889次阅读
    【<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>学习</b>进阶<b class='flag-5'>路线</b>】FreeRTOS<b class='flag-5'>嵌入式</b>开发指南:<b class='flag-5'>从</b>入门<b class='flag-5'>到</b>智能循迹避障小车项目实战(含文档代码)

    嵌入式开发入门指南:从零开始学习嵌入式

    基础 3. 学习路径推荐第一阶段:熟悉开发环境(如Keil、IAR、STM32)第二阶段:掌握裸机编程与驱动开发第三阶段:学习RTOS(实时操作系统)如FreeRTOS第四阶段:深入理
    发表于 05-15 09:29

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

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统学习
    的头像 发表于 02-20 10:53 3172次阅读
    【入门必看】<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>!看这篇就够了!