做嵌入式门槛高吗?如何学习嵌入式ARM?需要996吗?

嵌入式ARM 2021-07-25 19:55



以前,我总是听说已经工作多年,具有一定的行业经验的工程师,或者是师兄师姐们告诉我们,说是嵌入式是有多难学,门槛有多高,既要懂软件,也要懂硬件,还要搞懂各种某某原理、协议、算法等。在学习嵌入式的过程中,也遇到不少的难题,走过不少弯路,无的放矢地学习杂七杂八的知识,才能找到一份还凑合的工作。
 
但是,在我跟很多面试过的应届生,以及一些在校学生交流的时候,发现他们掌握的很多我们在工作了2-3年工作经验才掌握的知识,明显在新一代的佼佼者,可以花更少的时间,学习到我们之前在不断踩坑和弯路才能获得的知识。归根结底,这是老一辈的嵌入式工程师长期的意识和观念,由于受到当时成长环境和时代的影响,在技术成长过程中产生的,对学习嵌入式技术认知上的主观偏见。

比如,几大科学进步的里程碑,像牛顿力学、元素周期表、欧姆定律、高斯分布等科学理论知识,是人类中杰出的精英探索研究了几百年、上千年才得到,在以前,只有社会上的杰出精英才能学到,现如今,我们只需要读到高中毕业就可以完全掌握,不需要重复探索,重新沿着前人的老路再探索一遍。
 
踩在巨人的肩膀上,学习过去已有的知识,我们也就不需要跨过那么高的技术门槛,也不用在暗黑中摸索,以至于走了那么多前人的弯路。

所以,在这个移动互联网所带来的一切改变,不知不觉侵蚀了嵌入式所谓的高门槛,让老工程师年代信息相对匮乏所经历的诸多困难,在当下都不算是门槛,所以你如果想学习嵌入式技术,尽管可以把目标放得更长远一些,关注当前嵌入式技术未来的发展,会让你更加地有信心去努力学习好。
 
从事嵌入式行业的工作,是否996要根据公司的制度相关。建议学习的学员,先去芯片公司工作一段时间,芯片原厂都会提供了SDK供给方案商使用,遇到大部分的难题、bug,也基本都会仍回原厂来解决。如果工作中重复经历这样的情况,很容易会陷入嵌入式学习陷阱“调包侠”,学习嵌入式最重要的要发挥主观能动性,比如在开源项目中反复折腾,同时,搞嵌入式的需要掌握扎实的电路基础,甚至需要做过一定量的电路相关实验,工作动手经历。

那么,学习嵌入式开发,掌握嵌入式系统,具体包含哪些内容呢?一般而言,嵌入式系统涵盖了嵌入式微处理器、外围硬件设备、嵌入式OS及用户应用程序,主要包含硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统 软件(OS)(要求实时和多任务操作)和应用程序编程。

嵌入式系统硬件架构

 
嵌入式系统的硬件架构,是以嵌入式处理器为中心,由存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是量身定做的专用计算机应用系统,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可根据需要和成本进行裁剪、定制,非常经济、可靠。

嵌入式系统的硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常外接DSP和DSP协处理器(也可内部集成),以完成高性能信号处理。

随着计算机技术、微电子技术、应用技术的不断发展及纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心。在嵌入式系统设计中,要尽可能地满足系统功能接口的SoC芯片。这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。

可编程片上系统SOPC(System On Programmable Chip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大地提高了系统的在线升级、换代能力。

以SoC/SOPC为核心,用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,这也是嵌入式系统发展的一个方向。

因此,现代嵌入式设计是以处理器/SoC/SOPC为核心来完成系统设计的,其外围接口包括存储设备、通信扩展设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等),构成硬件系统。

嵌入式系统软件架构

 
嵌入式系统软件组成如下:

一、高端嵌入式系统的软件组成

1. 应用程序
2. 应用程序接口函数库
3. 文件系统、图形用户界面、网络协议栈
4. 操作系统
5. 引导加载程序、驱动程序

除了操作系统、设备驱动程序和应用软件之外的系统软件称为中间件。

二、嵌入式系统软件和通用计算机系统软件的异同

1. 嵌入式操作系统的软件配备没有通用系统多,嵌入式系统软件和通用计算机系统软件都可以实现用户界面。

2. 通用软件系统无疑是以操作系统为核心,不可或缺,但是嵌入式系统具有功能专用性,有些情况下可以不使用操作系统,特别是低端嵌入式系统功能单一,使用循环程序作为主控程序就能够满足需要。

3. 嵌入式系统应用软件具有内部结构精简化、代码轻量化、占用存储资源少等特点。

三、自由软件

1. 自由软件是一种可以不受限制的自由使用、赋值、研究、修改和分发的软件,并不代表四免费软件。

2. 大部分自由软件通过互联网发布,且不收取任何费用。

四、嵌入式软件特点

1. 软硬件一体,软件固化存储;
2. 软件对代码时空效率和实时性要求高;
3. 软件可裁剪,要尽可能去除冗余;
4. 大多数低端嵌入式系统不用操作系统,所以软件的生命周期相对较长。

五、嵌入式软件结构

1. 选择软件结构的一个基本原则是:选择可以满足响应时间需求的最简单的结构(而非轮询结构)

2. 简单的轮询结构只适用于系统的任务数量较少、任务处理简单,且实时性要求不高的场景。

3. 带中断的轮询结构也称为中断驱动结构或前后台结构,但并没有因为中断的引入而使软件的复杂度明显降低。

如何学习嵌入式系统开发(基于ARM)?

 
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面 的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接 口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。

对于初学者必然要把握住方向,自己学习嵌入式系统的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。

如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。

如何选择一款适合的嵌入式开发系统?

 
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好, 小编认为对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。
 
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他 搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作 系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。

分享几本实用的嵌入式系统ARM架构学习推荐书籍,帮助大家深入理解51单片机、ARM处理器基础知识、系统指令、编程方式,以及相关ARM处理器开发工具的使用及实战技巧。
 
1. 从51到ARM:32位嵌入式系统入门


《从51到ARM:32位嵌入式系统入门》内容分为3部分:第1部分是前4章,从大家所熟悉的51系列单片机的基础知识开始,介绍ARM处理器的基本知识,包括ARM和51系列的对比、中断处理系统,寄存器和存储器结构等;第2部分是5~9章,详细比较ARM指令和51系列指令之间的差异,进一步阐述ARM指令的含义和使用方法,从简单的51系列编程经验出发,介绍ARM处理器软件编程方法;第3部分是后3章,介绍ARM处理器开发工具的使用。任何一个学习过51系列单片机的技术人员,借助《从51到ARM:32位嵌入式系统入门》都会很容易地学会ARM处理器的一般知识,了解软件设计的基本方法,并且能够使用开发工具进行程序编辑、编译、连接和调试,成为一个初步懂得ARM并可以进行软件设计的工程师。

2.ARM体系结构与编程


本书分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。

3.ARM嵌入式系统基础教程


《ARM嵌入式系统基础教程》是《ARM嵌入式系统系列教程》中的理论课教材。以PHILIPS公司Lpc2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为3部分:第1章和第2章为理论部分,主要介绍嵌入式系统的概念及开发方法。第3~5章为基础部分,主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理。第6~8章为应用部分,主要以LPC2000系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、μC/OSII的移植以及建立软件开发平台的方法。

4.ARM 嵌入式软件工程方法和实践:面向AMetal框架和接口的C编程


全书分为4个部分,第一部分由第1章组成,主要介绍AM824-Core开发套件,对微控制器和评估板进行了详细的介绍。第二部分由第2 ~ 3章组成,主要介绍模拟量与数字量的转换方法和相应的硬件电路设计。第三部分由第4 ~ 8章组成,重点介绍AMetal框架,包括接口的使用方法以及接口定义和实现的基本原理。第四部分由第9 ~ 10章组成,重点介绍基于AMetal无线硬件平台(包含BLE和zigbee)的通信和非常实用的MVC应用框架,并以开发温度检测仪为例,展示了程序设计和开发的详尽过程。 

END

来源:网络

版权归原作者所有,如有侵权,请联系删除。

推荐阅读
用GD32替代STM32:温湿度采集传感器开发心得
手把手教会你:使用STM32F103驱动ST7567液晶屏
单片机经验:STC15W4系列6路专用PWM模块使用心得

→点关注,不迷路←
嵌入式ARM 关注这个时代最火的嵌入式ARM,你想知道的都在这里。
评论 (0)
  • 四、芯片封测技术及应用场景1、封装技术的发展历程 (1)DIP封装:早期分立元件封装,体积大、引脚少; (2)QFP封装:引脚密度提升,适用于早期集成电路。 (3)BGA封装:高密度互连,散热与信号传输优化; (4)3D封装:通过TSV(硅通孔)实现垂直堆叠,提升集成度(如HBM内存堆叠); (5)Chiplet封装:异质集成,将不同工艺节点的模块组合(如AMD的Zen3+架构)。 (6)SiP封装:集成多种功能芯片(如iPhone的A系列SoC整合CPU、GPU、射频模块)。2、芯片测试 (1
    碧海长空 2025-04-15 11:45 121浏览
  • 在当今汽车电子化和智能化快速发展的时代,车规级电子元器件的质量直接关系到汽车安全性能。三星作为全球领先的电子元器件制造商,其车规电容备受青睐。然而,选择一个靠谱的三星车规电容代理商至关重要。本文以行业领军企业北京贞光科技有限公司为例,深入剖析如何选择优质代理商。选择靠谱代理商的关键标准1. 授权资质与行业地位选择三星车规电容代理商首先要验证其授权资质及行业地位。北京贞光科技作为中国电子元器件行业的领军者,长期走在行业前沿,拥有完备的授权资质。公司专注于市场分销和整体布局,在电子元器件领域建立了卓
    贞光科技 2025-04-14 16:18 130浏览
  • 一、智能门锁市场痛点与技术革新随着智能家居的快速发展,电子门锁正从“密码解锁”向“无感交互”进化。然而,传统人体感应技术普遍面临三大挑战:功耗高导致续航短、静态人体检测能力弱、环境适应性差。WTL580微波雷达解决方案,以5.8GHz高精度雷达感知技术为核心,突破行业瓶颈,为智能门锁带来“精准感知-高效触发-超低功耗”的全新交互范式。二、WTL580方案核心技术优势1. 5.8GHz毫米波雷达:精准感知的革命全状态人体检测:支持运动、微动(如呼吸)、静态(坐卧)多模态感知,检测灵敏度达0.1m/
    广州唯创电子 2025-04-15 09:20 58浏览
  • 一、智能语音播报技术演进与市场需求随着人工智能技术的快速发展,TTS(Text-to-Speech)技术在商业场景中的应用呈现爆发式增长。在零售领域,智能收款机的语音播报功能已成为提升服务效率和用户体验的关键模块。WT3000T8作为新一代高性能语音合成芯片,凭借其优异的处理能力和灵活的功能配置,正在为收款机智能化升级提供核心技术支持。二、WT3000T8芯片技术特性解析硬件架构优势采用32位高性能处理器(主频240MHz),支持实时语音合成与多任务处理QFN32封装(4x4mm)实现小型化设计
    广州唯创电子 2025-04-15 08:53 87浏览
  •   无人装备作战协同仿真系统软件:科技的关键支撑   无人装备作战协同仿真系统软件,作为一款综合性仿真平台,主要用于模拟无人机、无人车、无人艇等无人装备在复杂作战环境中的协同作战能力、任务规划、指挥控制以及性能评估。该系统通过搭建虚拟战场环境,支持多种无人装备协同作战仿真,为作战指挥、装备研发、战术训练和作战效能评估,提供科学依据。   应用案例   系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。   核心功能   虚拟战
    华盛恒辉l58ll334744 2025-04-14 17:24 78浏览
  • 展会名称:2025成都国际工业博览会(简称:成都工博会)展会日期:4月23 -25日展会地址:西部国际博览城展位号:15H-E010科士威传动将展示智能制造较新技术及全套解决方案。 2025年4月23-25日,中国西部国际博览城将迎来一场工业领域的年度盛会——2025成都国际工业博览会。这场以“创链新工业,共碳新未来”为主题的展会上,来自全球的600+ 家参展企业将齐聚一堂,共同展示智能制造产业链中的关键产品及解决方案,助力制造业向数字化、网络化、智能化转型。科士威传动将受邀参展。&n
    科士威传动 2025-04-14 17:55 69浏览
  • 二、芯片的设计1、芯片设计的基本流程 (1)需求定义: 明确芯片功能(如处理器、存储、通信)、性能指标(速度、功耗、面积)及目标应用场景(消费电子、汽车、工业)。 (2)架构设计: 确定芯片整体框架,包括核心模块(如CPU、GPU、存储单元)的协同方式和数据流路径。 (3)逻辑设计: 通过硬件描述语言(如Verilog、VHDL)将架构转化为电路逻辑,生成RTL(寄存器传输级)代码。 (4)物理设计: 将逻辑代码映射到物理布局,涉及布局布线、时序优化、功耗分析等,需借助EDA工具(如Ca
    碧海长空 2025-04-15 11:30 88浏览
  • 你知道精益管理中的“看板”真正的意思吗?在很多人眼中,它不过是车间墙上的一块卡片、一张单子,甚至只是个用来控制物料的工具。但如果你读过大野耐一的《丰田生产方式》,你就会发现,看板的意义远不止于此。它其实是丰田精益思想的核心之一,是让工厂动起来的“神经系统”。这篇文章,我们就带你一起从这本书出发,重新认识“看板”的深层含义。一、使“看板”和台车结合使用  所谓“看板”就是指纸卡片。“看板”的重要作用之一,就是连接生产现场上道工序和下道工序的信息工具。  “看板”是“准时化”生产的重要手段,它总是要
    优思学院 2025-04-14 15:02 114浏览
  • 一、芯片的发展历程总结:1、晶体管的诞生(1)电子管时代 20世纪40年代,电子管体积庞大、功耗高、可靠性差,无法满足计算机小型化需求。(2)晶体管时代 1947年,贝尔实验室的肖克利、巴丁和布拉顿发明点接触晶体管,实现电子信号放大与开关功能,标志着固态电子时代的开端。 1956年,肖克利发明晶体管。(3)硅基晶体管时代 早期晶体管采用锗材料,但硅更耐高温、成本低,成为主流材料。2、集成电路的诞生与发展 1958年,德州仪器工程师基尔比用锗材料制成世界上第一块含多个晶体管的集成电路,同年仙童半导
    碧海长空 2025-04-15 09:30 84浏览
  •   高空 SAR 目标智能成像系统软件:多领域应用的前沿利器   高空 SAR(合成孔径雷达)目标智能成像系统软件,专门针对卫星、无人机等高空平台搭载的 SAR传感器数据,融合人工智能与图像处理技术,打造出的高效目标检测、识别及成像系统。此软件借助智能算法,显著提升 SAR图像分辨率、目标特征提取能力以及实时处理效率,为军事侦察、灾害监测、资源勘探等领域,提供关键技术支撑。   应用案例系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合
    华盛恒辉l58ll334744 2025-04-14 16:09 140浏览
  • 三、芯片的制造1、制造核心流程 (1)晶圆制备:以高纯度硅为基底,通过拉晶、切片、抛光制成晶圆。 (2)光刻:光刻、离子注入、薄膜沉积、化学机械抛光。 (3)刻蚀与沉积:使用干法刻蚀(等离子体)精准切割图形,避免侧壁损伤。 (4)掺杂:注入离子形成PN结特性,实现晶体管开关功能。2、材料与工艺创新 (1)新材料应用: 高迁移率材料(FinFET中的应变硅、GaN在射频芯片中的应用); 新型封装技术(3D IC、TSV硅通孔)提升集成度。 (2)工艺创新: 制程从7nm到3nm,设计架构由F
    碧海长空 2025-04-15 11:33 110浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦