分享嵌入式入门学习指导

article/2025/11/9 19:54:51


        最近有好多同学在咨询嵌入式该怎么入门,应该怎么学习,有什么好的学习方法推荐,以及嵌入式入门的学习路线。今天我就带着大家的问题,一一为大家解决。

        首先嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,冬雪终将化去,春风定会吹来。本人推荐的嵌入式学习计划或路线如下:


       1、 C语言基础知识,这是必须得掌握的,推荐《C语言》 谭浩强版; 《C程序设计语言》徐宝文译 机械工业出版社 ,目前关于C语言入门教程视频,网络已经很多了,大家可以通过观看教学视频进行学习,在这里向学过C语言问几个问题如:

       你能区分开指针数组和数组指针吗?

       你知道函数指针吗?

       你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗? 


      2、 数据结构相关知识,数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。之前有看见过一句话说的是如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。

开这个系列的目的是为了自我不断积累。不积跬步无以至千里嘛。 

在这里推荐一本《数据结构》C语言版  黄国愉、叶乃青编 清华大学出版社,你能合上书本,用C语言实现书中的单链表、双链表数据结构吗? 


      3、C++语言,这也是必须掌握的,C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

在这里推荐一本《C++ Primer》,《C++ Primer》是2006年6月1日人民邮电出版社出版图书,作者Stanley B. LippmanBarbara E. Moo JoséeLaJoie 。



4、微机原理、编译原理

 

“微机原理与系统设计”,主要是以Intelx86CPU 为主线,系统介绍微型计算机的基本知识、基本组成、体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。在此基础上,课程详细介绍了微机中的常用接口电路原理和应用技术,并对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要分析。对于嵌入式学习的我们对于微机原理也是要了解的,
在这里推荐一本书,《微机原理与接口技术》是由周明德主编,蒋本珊著的图书,本版本根据微处理器的最新发展(超线程技术、双核技术),从Intel系列微处理器整体着眼,又落实到最基本、最常用的8086处理器,介绍了微机系统原理、Intel系列微处理器结构、8086指令系统和汇编语言程序设计、主存储器及与CPU的接口、输入输出、中断以及常用的微机接口电路和数模(D/A)转换与模数(A/D)转换接口。


         编译原理大家也可以了解下,编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。。



            5、学习单片机,最好是买一个51单片机开发板,先从51单片机开始学习,,自己动手,编译,调试,实现各个功能。选择51单片机原因 一个是寄存器少操作起来比较简单、二是目前51单片机学习教程已经非常之多了,大家可以上网找找。

          刚入门是最好是跟着教程来,一步一步的来,学习过程中要结合硬件原理,对于简单识图能力还是要掌握的。

        在这里就推荐一本51单片机学习的书,《手把手教你学51单片机》是2009年1月1日电子工业出版社出版的图书,作者是惠仇。该书讲述了单片机的基本结构和工作原理、主要开发语言以及项目开发中常用的工具等内容。


           6、进一步的提升,学习16位单片机,这个有个个人的建议,

           如果你向往汽车电子,可以X学习飞思卡尔MC9S12XS128 16位单片机芯片,笔者就是从飞思卡尔开始学习的。飞思卡尔MC9S12XS128功能还是比较强大的,输入捕获、输出比较、TIME、CAN、SPI、SCI、PWM、RTI、PIT等等,大学期间也做过智能车。《MC9S12XS单片机原理及嵌入式系统开发》是2011年电子工业出版社出版的图书,作者是张阳、 吴晔、 滕勤。


        如果你向往物联网方向的,你可以学习STM32,STM32互联型系列产品强化了音频性能,采用一个先进的锁相环机制,实现音频级别的I2S通信。结合USB主机或从机功能,STM32可以从外部存储器(U盘或MP3播放器)读取、解码和输出音频信号。设计人员还可以在新系列微控制器上开发人机界面(HMI)功能,如播放和停止按键,以及显示器界面。这个功能使其可用于各种家庭音响设备,如音响底座系统、闹钟/音乐播放器和家庭影院。

        如果你向往电机控制,可以学习下DSP相关芯片,如DSP28335,DSPIC33等,在这里我就不一一列举了。


        7、嵌入式操作系统,嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。

        嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。

       它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。

        在这里推荐一本linux学习书籍,《鸟哥的Linux私房菜》《鸟哥的Linux私房菜》是2010年人民邮电出版社出版的图书,作者是鸟哥。



       8、如果自己想做点东西,可以学习下,PCB板设计开发,可以学习下

Altium Designer这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。




关注“嵌入式软件开发学习圈”获取更多嵌入式学习资料。


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

相关文章

嵌入式系统开发入门

嵌入式系统开发 快捷键 alt / : 代码提示 ctrl 鼠标左: 查看代码实现 alt ← : 返回跳转前的代码项目1-Hello world 1、创建STM32项目 2、选择型号 3、配置项目名称 4、项目初始化概览 5、根据需求,查看文档引脚说明 …

嵌入式入门应该学什么?先从学习单片机开始!

可能很多人不知道嵌入式,不知道单片机。 但是我说最近几年的流行的应用大家就了解了。 1.无人机 2.共享单车 3.丰巢快递柜 4.充电桩 5.智能家居 这些产品内部都是通过嵌入式技术实现的,而大多数用的都是单片机。 那嵌入式和单片机的区别是什么&…

【嵌入式入门篇】嵌入式0基础沉浸式刷题篇1

嵌入式-入门沉浸式刷题篇 前言Q1:嵌入式牛牛宏大小Q2:嵌入式宏空间坐标数量Q3:嵌入式牛牛疑惑的变量Q4:嵌入式关键字constQ5:嵌入式机器的大小端Q6:嵌入式不用排序找数字Q7:嵌入式结构体对齐Q8&…

嵌入式入门应该先学习STM32还是先学习51

今天在粉丝群里一位嵌入式初学者问了一个这样的问题:学嵌入式应该先学什么?(文末有粉丝福利) 后面各位大佬也是对该问题发表了自己的观点,大多数人都认为应该先学51,因为51单片机直接对寄存器操作&#xf…

再说嵌入式入门

我之前写过几篇嵌入式入门的文章 不过我的读者还是觉得不够过瘾,我觉得还是要着重说一下嵌入式软件应该重点学习什么,guoqing收假最后一天写文。 精通C语言 精通C语言 精通C语言 C语言对于嵌入式软件来说就是他的命脉,不懂C语言的人根本就…

嵌入式开发入门基础篇

今天在逛CSDN的时候发现一篇嵌入式开发基础篇,看完感觉写的非常好,特拿过来跟大家分享一下。原篇地址:https://blog.csdn.net/qq_61672347/article/details/126760788。 文章目录 前言一、STM32的数据类型二、C语言中常用的关键字1、const关键…

嵌入式开发(一):嵌入式开发新手入门

系列文章: 嵌入式开发(一):嵌入式开发新手入门 嵌入式开发(二):开发板配置(自用) 嵌入式开发(三):海思Hi3559a交叉编译live555嵌入式…

嵌入式入门基础知识

文章目录 前言嵌入式基本知识ARM的理解ARM是一家公司一类芯片或产品的统称一项技术的名称,即采用RISC处理器体系架构ARM和intel的区分ARM和STM32的关系 处理器的基本概念MCUMPUDSPFPGA总结 ARM开发MCU开发和MPU开发的区别开源硬件 Arduino 和 Raspberry Pi总结 总结…

宽度学习系统BLS推广到在线学习的论文阅读记录

BELS: A BROAD ENSEMBLE LEARNING SYSTEM FOR DATA STREAM CLASSIFICATION 摘要:这篇文章主要是将BLS推广到适用于在线学习的邻域,提出了其如何进行适合在线学习的增量更新,以及面对概念漂移的适应 所提出的算法BELS 稀疏特征映射的更新 …

超越EfficientNet!MutualNet:一种自适应相互学习网络宽度和分辨率的网络

点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 【导读】今天给大家介绍一篇 ECCV 2020 Oral论文 ,该论文强调了同时考虑网络宽度和输入分辨率对有效网络设计的重要性。…

【AI不惑境】网络的宽度如何影响深度学习模型的性能?

大家好,这是专栏《AI不惑境》的第三篇文章,讲述模型宽度与模型性能的关系。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程&#xff0c…

CSS:宽高自适应详解

宽度自适应的应用 1.属性:width 2.属性值:px/% 3.宽度自适应的特点 - HTML,BODY表示浏览器,默认是块级元素,宽度是100% - 当块级元素不设置宽度或者设置100%的时候,宽度会沾满全屏(通栏效果) - 子级是块级元素,不设置宽度的时候会和父级等…

陈俊龙:从深度强化学习到宽度强化学习—结构,算法,机遇及挑战

来源:AI科技评论 摘要:如何赋予机器自主学习的能力,一直是人工智能领域的研究热点。 强化学习与宽度学习 如何赋予机器自主学习的能力,一直是人工智能领域的研究热点。在越来越多的复杂现实场景任务中,需要利用深度学习…

网络的宽度对深度学习模型的性能影响

目录 1 为什么需要足够的宽度 2,经典网络的第一层的宽度 3,宽度对模型性能的影响 4 如何更加有效地利用宽度 4.1 提高每一层通道的利用率 4.2 用其他通道的信息来补偿 5 经典网络模型宽度设计方法 5.1 采用多分支网络结构设计 1)ResN…

深度学习笔记(七):网络宽度(卷积核个数)的一些想法

文章目录 一、前言二、网络深度的意义三、宽度的意义四、 网络宽度设计4.1 网络宽度的下限在哪?4.2 网络宽度对模型性能的影响4.3 网络宽度和深度谁更加重要? 五、如何加有效地利用宽度?5.1 提高每一层通道的利用率5.2 用其他通道的信息来补偿…

宽度 深度学习 特点对比

宽度 & 深度学习 特点对比 推荐系统模型介绍实验过程与实验结果实验总结 为了提高神经网络的性能,是应该增加宽度呢?还是应该增加深度呢?增加宽度和增加深度各有什么样的效果呢? 本文对论文《Wide & Deep Learning for Re…

为什么是“深度”学习而不是宽度?

为什么是深度而不是宽度? 先说说我个人的理解,如下图所示,圆圈表示神经元,有两种方式。第一种,只有一层神经层,有8个神经元;第二种方式,有两层神经层,分别有2个和4个神经…

宽度学习系统:一种不需要深度结构的高效增量学习系统

宽度学习系统:一种不需要深度结构的高效增量学习系统 本文是对陈俊龙教授团队“Broad Learning System: An Effective and Efficient Incremental Learning System Without the Need for Deep Architecture”的中文综述,原文将在IEEE Transactions on Neu…

网络的宽度如何影响深度学习模型的性能?

大家好,这是专栏《AI不惑境》的第三篇文章,讲述模型宽度与模型性能的关系。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程&#xff0…

宽度学习代码的一些问题

最近在拜读陈院士的宽度学习论文,受益匪浅,在此先感谢陈院士团队的开源代码! 在复现代码的过程中,发现了一些小问题,在此记录,方便自己日后翻阅。 此博客仅代表个人观点,姑且算作个人读书笔记…