嵌入式软件学习路线(入门)

article/2025/10/23 3:35:44

大家不要只收藏不关注啊,哪怕点个赞都行哇。😭

嵌入式学习路线

  • 嵌入式体系框架
  • C语言的入门学习
  • C语言的进阶学习
  • 单片机的入门学习
  • linux的入门学习
  • VxWorks的入门学习
  • 上位机的入门学习
刚工作两年,推荐的学习路线只做一家之言,如果有那里有人觉得不合适,可以根据自身的需求寻找更合适的路线,大学的时候学习过单片机,对于单片机也算是入门级,能做一些毕业设计级别的东西,能够应付大学所需。工作后我接触到的是工业级的产品,说到底有点傻大硬的那种,不是很轻巧,华丽的那种产品。我会将我做的一部分笔记链接放在最下面,希望我推荐的路线对于大学未毕业想学习嵌入式或者想要找嵌入式工作的同学有所帮助。

嵌入式体系框架

我更愿意用数据的流通方式去划分体系框架,我想用这幅图来划分:
体系框架
我希望大家都对嵌入式的体系有一定的了解,这样能让你分清楚你将来想要从事什么部分的工作,嵌入式是个很庞大的体系,首先我们从最底层开始说起,对于结构完成的事情,我们选择不纳入这个体系,因为结构是做产品的外观设计,相当于是做了产品的壳子。往里面一层,也就是嵌入式的一部分----硬件,硬件工程师要完成的事情是设计PCB版,如果PCB板坏掉的话还需要去维修板卡,感觉硬件是个水磨功夫,肯花时间就能越做越好,入门的话可以抄板子,B站上有很多视频,随便找一个学学软件怎么使用,然后找个单片机开发版的图,去抄下来,然后找嘉立创去打免费的板子。硬件能够自行搭建系统便能入门,可能我说的比较笼统,我也没很深入学习硬件,这方面路线可能并不是很清楚,当然你也要学会焊接,以及示波器的使用等等。
硬件往上有嵌入式驱动开发,驱动开发的这部分,当然搭建bootrom的平台也是驱动这部分做的事情,相当于有一个底层软件的系统,然后在把设备添加到这个系统之中,能够进行读写操作,其实相当于把硬件采集到的模拟信号能够转化为数字信号,一般来说只要能够读写器件,便算成功,在嵌入式系统里面,所有的设备都会转换成文件的形式,如果你要获取数据那就是读,如果要发送数据那就是写。驱动将硬件的设备添加到系统之中并且能够操作,并将数据接口发给应用部分。
底层还有一部分就是逻辑,是FPGA的部分,这部分挺难的,FPGA的工作便是将数据做一些简单的处理,发送或者接受信号,比如某个中断来的时侯把某个寄存器里面的值读取出来发送给驱动,驱动再发送给应用,或者是应用接收到信号之后,发送某些值到驱动,驱动再给FPGA,FPGA处理后再把值填入某个寄存器。
关系类似于:
如果数据一定要经过FPGA的话,那就是硬件---->FPGA---->驱动——>应用。
但是也有可能不经过FPGA,直接就是硬件---->驱动——>应用。
希望这里能理清楚。
这样就来到了应用层,应用层分为下位机应用层、上位机应用,下位机应用就是这块板卡中CPU要跑的应用,是板卡要实现的功能,这部分是应用的核心部分,板卡的功能都是下位机完成。上位机应用就是在本地电脑中将下位机实现的功能显示出来的应用,安装在电脑本地,我希望大家都会对这个体系有一个笼统的了解。这样方便你分清你的职责。

C语言的入门学习

编程语言的学习:因为单片机、linux、或是Vxworks这几种嵌入式系统都是以C语言或者是C++为开发语言,所以C语言要学扎实,有可能大多数大学生的C语言的水平是计算机二级的水平,有的人或许还没有考过,这不重要,只要对C有基本的了解就可以,如果你的时间充足,那么我推荐你看课,在B站上可以去搜索比特鹏哥的C语言课,我觉得这个课是B站里C语言讲的最好的课,唯一的缺点是课时比较长,但是确实是精华,学习C++还是要在C语言之后,至于C++那么我推荐B站里黑马程序员的C++课,清晰明了,C++和C不同,C是面向过程,C++是面向对象,这样说你可能理解不了,那么我说的更加好理解一点就是,C语言用来写好一个个函数,C++给你封装好了很多库函数,并且C++具有封装(同一个类里面有很多类函数集成到一块)、继承(子类可以用父类的函数)、多态(同一个函数名可以完成不同的函数功能)的特性。这两门课在B站上都有资料,可以下载文档到淘宝的打印店里面打印出来,这样学习起来更快,而且方便以后复习。

C语言的进阶学习

学习完这个视频课后你的C语言水平可以到入门的阶段,要多加练习如果不练习会忘得很快。C语言的进阶我推荐一边在工作中实战一边去看书。在此我推荐C语言三剑客:《C和指针》、《C陷阱与缺陷》、《C专家编程》。不知道大家大学本科的C语言书是什么,《C和指针》是我最推荐的一本C语言书,这本书内容详尽,例子丰富,比教科书不知道好多少,作为C语言进阶的第一本书,《C陷阱与缺陷》作为第二本书,里面会提示你平时编码应该注意的问题和要改正的错误。《C专家编程》是我推荐的第三本。
后期我会将这三本的学习笔记全部做好,供参考,能够为复习省些时间。能看完这三本书,你的C语言的水平已经足够应对工作所需,以后只需要在工作中多加打磨即可。

单片机的入门学习

对于单片机的学习我可能也只是停留在入门阶段,只是能做毕设的水平,但是对于单片机的理解能够帮助我们学习嵌入式的东西,单片机我推荐在淘宝上买一套野火的开发板去调试,当应用库里面的所有例程你都能正常使用的时候,那么你就达到了入门的阶段,而且野火官网对于这些资料和视频都是免费的,推荐直接下载观看。

linux的入门学习

有关linux的学习我推荐将鸟哥的私房菜作为我们入门学习的第一本书,首先安装好虚拟机,安装的教程网上都有,B站里都能找到资源,书里面也有安装步骤。安装好主流的linux虚拟机之后,便能开始虚拟机的摸索,将鸟哥的私房菜里的代码该写的都写一遍,之后便将这本书作为字典使用,随查随用。这本书作为linux的基础书,让你学会linux系统的基本操作。
在此基础上,如果你想要学习嵌入式驱动开发,我推荐你的书是《Linux设备驱动开发详解》——宋宝华,最主要的是你要有一块板子供你去调试,这部分必须边调边学,这样才能理解学习的更多。
如果你走的路线是嵌入式下位机应用开发,那么我推荐你看《嵌入式应用程序设计综合教程》华清远见嵌入式学院 人民邮电出版社出版的一本书。这本书里面会告诉你linux系统应用如何开发,Linux应用程序怎么写?这本书简单的例子,让你对嵌入式应用开发有一个基本的了解。
至于嵌入式的进阶,我推荐的学习方法是按需学习,需要用到什么的时候就去学习这方面的资料,B站上有很多这方面的视频可供学习。

VxWorks的入门学习

当你学习完linux、之后再来看Vxworks你会轻松一点,至少你是对于系统有一个基本的认识,系统的内容大致都是相同的,Vxworks的入门我推荐你去看我上传的PPT与文档,这部分我之前查了很多资料和课件,整理出来的两套PPT与一篇系统启动的文档。
Vxworks进阶我建议你学习《Vxworks内核、设备驱动和BSP开发详解》这本书,学习方法依旧是按需学习,这样不仅学的快吗,而且理解的更加深刻。

上位机的入门学习

对于上位机,有很多种编程语言,我所接触的是用C++编程,使用Qt编程软件进行开发,B站上有6天学会Qt这个系列的视频我觉得6天略显夸张,但是作为入门视频是蛮好的,如果需要更加深入,推荐看的书有《QtC++开发指南》。
《C陷阱与缺陷》笔记
我工作的两年
计算机软考笔记


http://chatgpt.dhexx.cn/article/dOAkXc30.shtml

相关文章

嵌入式学习基础路线

博主来填坑了 博主终于硕士毕业拿到双证去公司报道了,趁空闲的时间来更新下嵌入式软件开发的学习路线。 嵌入式的学习 嵌入式总的来说就分两条路线:1)走MCU的软件开发的路线;2)走Linux的软件开发路线。 当然除了软…

嵌入式操作系统(嵌入式学习)

嵌入式操作系统 嵌入式操作系统是什么?嵌入式操作系统有哪些?常用的嵌入式操作系统及其特点对初学者的建议 嵌入式操作系统是什么? 嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系…

嵌入式入门学习的必要步骤

很多新手在入门嵌入式的时候,经常会有很多问题,这也都是想要多多去了解嵌入式,也害怕自己浪费了时间还没有学会嵌入式,掌握到好方法学习嵌入式,那么就会事半功倍,下面一起来看看嵌入式入门学习的必要步骤是…

嵌入式系统学习

Lecture11-12 主要学习 ➢ 总线基础 ➢ UART协议 ➢ I2C协议 ➢ SPI协议 1.总线的基础 protocol 协议 总线只是一组导线的集合,在嵌入式板上的所有其他主要组件(包括I/O子系统、内存子系统和主处理器)之间传输各种数据信号、地址和控制…

嵌入式要学习哪些内容?

嵌入式要学习哪些内容? 嵌入式概括一下就是写程序,用软件控制硬件。嵌入式的学习应该是自上而下的。 1.语言先行 首先是写代码,写用户的应用程序。每种语言的使用目的是不同的,我们嵌入式选择的语言是C语言。 所以首先要学习C语言…

【嵌入式】超详细的嵌入式路径学习精选合集,建议收藏

超详细的嵌入式路径学习精选合集,纯干货,建议收藏! 本合集归类汇总了嵌入式开发技术相关的学习路径、知识与经验总结,以及一些源码、资料分享等。将其分类列出目录,一来为了避免有些知识长时间不用,会很容…

【毕业季|进击的技术er】作为一名职场人,精心总结的嵌入式学习路线图

活动地址:毕业季进击的技术er 文章目录 0、作者介绍1、前言2、嵌入式基础必备知识2.1、学习内容2.2、学习建议2.3、学习资料 3、嵌入式入门篇——51单片机3.1、学习内容3.2、学习建议3.3、学习资料 4、STM32进阶篇4.1、学习内容4.2、学习建议4.3、学习资料 5、小而美…

【单片机/嵌入式】最完整学习路线

一.什么是单片机?什么是嵌入式?它们之间的区别与联系。 关于这个问题我在网上寻找到了相关文章解释得很详细,不了解的同学可以参考一下这篇文章:到底什么是嵌入式?什么是单片机? - 知乎 二.学习路线 一个人…

STM32理论 —— 看门狗

文章目录 1. 简述2. 独立看门狗 IWDG2.1 IWDG 相关寄存器2.1.1 键值寄存器IWDG_KR2.1.2 预分频寄存器IWDG_PR与重装载寄存器IWDG_RLR 2.2 核心代码 1. 简述 STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG&#…

STM32看门狗配置说明

系统时钟: The WWDG clock is prescaled from the APB clock and has a configurable time-window that can be programmed to detect abnormally late or early application behavior. /** defgroup WWDG_Prescaler WWDG Prescaler* {*/ #define WWDG_PRESCALER_1…

看门狗要素以及stm32看门狗

阅读看门狗资料,要把握以下部分 原理图复位CPU条件使能以及关闭看门狗喂狗(方式 时间)寄存器Debug模式下是否使能stm32包括2个看门狗,拥有不同的时钟 内置 low-speed clock (LSI 40KHZ) ,用于 Independent watchdog …

STM32 CubeMX 看门狗

文章目录 看门狗STM32的内置看门狗WWDG-窗口看门狗CubeMX操作步骤1)使能 WWDG时钟2)设置窗口值 ,分频数 和计数器初始值3)开启 WWDG4)使能中断通道并配置优先级(如果开启了 WWDG中断)5) 编写中断…

关于我对stm32看门狗的一些理解(基于正点原子)

咕咕咕之后想更会儿stm32哈哈哈,但是其实是之前自己写的笔记,想着以后就写在一起吧,我自己也更好去找到自己写的玩意~毕竟总所周知,博客都是写给自己的。 (虽然好像现在自己都看不懂了我的天哪) 一.什么是…

stm32看门狗的定义与分类

stm32看门狗 一、定义 由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料…

STM32看门狗超时时间计算

独立看门狗 公式 超时时间的公式为 :超时时间 :IWDG_PR寄存器中位2:0的十进制值 :重装载寄存器IWDG_RLR所对应的重装载数值 公式解读 首先,我们要明白: 独立看门狗内部是一个递减计数器。如果寄存器中的装载数值…

5.stm32看门狗

1. STM32-独立看门狗IWDG剖析 2. STM32-独立看门狗实例讲解 3. STM32-窗口看门狗WWDG剖析 4. STM32-窗口看门狗实例讲解 一.基础原理 1. 简单理解: 使用LSI(外部低速时钟),计数,及时喂狗不会复位(看门狗没有减到0喂狗,就认为程序正常工作),不及时喂狗就会导致复位. 2. 看…

STM32——看门狗

一、简介 STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产…

单片机STM32看门狗详解(嵌入式学习)

单片机STM32看门狗 什么是看门狗为什么需要看门狗?STM32CubeMX配置和应用示例独立看门狗(IWDG)窗口看门狗(WWDG) 注意事项 什么是看门狗 单片机STM32的看门狗(Watchdog)是一种硬件定时器&#…

STM32配置看门狗

一、看门狗时间计算公式 时间计算(大概):Tout((4*2^prer)*rlr)/40 (ms). prer:分频数:0~7 rlr:重装载寄存器值 举例(4 * 2^4 * 625) /401000ms1s 二、如何实际使用? 放狗和喂狗总是一起使用的,程序在溢出时间内喂狗才算合理 在…

stm32看门狗定时器记录

文章目录 1、看门狗介绍2、独立看门狗3、窗口看门狗 1、看门狗介绍 STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗。 独立看门狗简单来说就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位…