爱美容
当前位置: 首页 美容百科

嵌入式从入门到放弃(嵌入式浅谈与学习方法)

时间:2023-06-01 作者: 小编 阅读量: 1 栏目名: 美容百科

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。由三个层次的相关内容组成:1)硬件,包括CPU、存储、I/O。2)系统级软件,主要是操作系统也就是OS,以及I/O软件如LCD、蓝牙、WIFI、CDMA、声音等子系统。3)应用软件,如基于Linux的应用开发,基于Android的应用开发,基于iOS的应用开发等。常见的嵌入式操作系统:μC/OS-II、VxWorks、嵌入式Linux、WinCE……

一、嵌入式概况

IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式设备是一台专用的、微型计算机。由三个层次的相关内容组成:

  • 1)硬件,包括CPU(如ARM)、存储(如flash)、I/O(显示模块、通讯模块、视音频模块、I/O控制电路等)。
  • 2)系统级软件,主要是操作系统也就是OS,以及I/O软件如LCD、蓝牙、WIFI、CDMA、声音等子系统。
  • 3)应用软件,如基于Linux的应用开发,基于Android的应用开发,基于iOS的应用开发等。
二、嵌入式处理器分类
  • 嵌入式微处理器(单板机)
  • 嵌入式微控制器(单片机)
  • 专用处理器(DSP等)
  • 嵌入式片上系统(SOC、SOPC)
三、嵌入式系统

计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。

常见的嵌入式操作系统:μC/OS-II、 VxWorks、嵌入式Linux、Win CE……

四、嵌入式发展前景

嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类:

一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。

另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果这类人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以软件研发人员完全不用担心在嵌入式市场上的无用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是趋势。 嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。

权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。 做软件实际上有高下之分,开发语言从机器语言、汇编到C、c,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?

还是门槛,比如月薪15k的Linux嵌入式开发职位,门槛就有 Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品,而Java的开发者却仅仅是会使用名叫Java的语言工具,始终高高飘在众多层次之上,开发项目非常快,甚至可以不知道OSI模型,很可能自始至终都是软件蓝领。 嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。

嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识。为进入外企或者出国做准备。未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。经济型闪存将会成为嵌入式市场的一个方向。

五、我对嵌入式的认识

我目前就读于西安邮电大学计算机科学与技术专业大二。不像一些目标明确、志向远大的同学。我对自己专业所知甚少,大一仅仅局限于学习好课上知识与学校所授课程。学校有许多创新实验室,大二第一学期参与了实验室项目——循迹小车,认识了许多知识丰富、目标远大、进取向上的同学,在他们的带领下,我对嵌入式有了一些初步的认识。

在生活中,许多被冠以“智能”产品,都应用到了嵌入式。嵌入式要求人们对硬件软件都要扎实过硬,并且具有创新能力和创造意识,能够出类拔萃、与众不同。嵌入式未来会是我们的生活越来越智能化。虽然嵌入式很难学,门槛众多,但只要有信心和行动,我相信一定会有收获。

六、为什么学习嵌入式?

1.什么是嵌入式?

  • 传统定义(狭义嵌入式):以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
  • 当前定义(泛嵌入式):除PC之外的一切计算机系统。

2.三次信息化浪潮

  • 第一次浪潮 1980年前后 个人计算机 信息处理
  • 第二次浪潮 1995年前后 互联网和移动通信网 信息传输
  • 第三次浪潮 2010年前后 物联网、云计算和大数据 信息爆炸

七、什么人适合学嵌入式?

1.嵌入式开发用到哪些知识?

  • 编程语言
  1. 第一层次:C语言
  2. 第二层次:ARM汇编、shell脚本、Python脚本、C、Java
  • 操作系统
  1. 第一层次:Linux
  2. 第二层次:Android、RTOS(u-cos、Raw-os)
  • 硬件方面
  1. 会看原理图
  2. 懂通信原理及编程(串口、IIC、SPI、USB)
  3. 懂LCD、触摸屏等常见原件工作原理及编程

2.嵌入式开发需要什么技能?

  • 以软件为主,需对硬件有一定了解
  • 涉及面宽,需持续学习
  • 细节较多,需耐心和细致的洞察力
  • 重在调试,需调试和修改程序的能力
  • 企业花钱买的是你解决问题的能力,而不是你脑袋里装的知识("知识"!="能力")
八,嵌入式转内核工程师路线

在建议从事嵌入式开发吗?

作为工作近十年的嵌入式工程师而言,个人不建议从事,如果需要买房结婚,家里没矿。那么,建议别搞嵌入式,嵌入式真心待遇不行,真的待遇不行。别看什么所谓大牛啥的,互联网软件金融算法之类开发,如果你做到那个层次,薪水是同等嵌入式的一倍或者几倍,另外,有几个做到那个层次的?还有就是,现在芯片公司把驱动甚至底层封装的越来越好了,比如海思的,厂家只需要把demo板裁剪裁剪,然后应用玩出花就好了,这样子和嵌入式已经关系不大了。最后,现在,嵌入式应用,尤其出名c的开发机会,已经被Qt,c挤占了很多。总而言之,嵌入式,尤其纯c的,薪水,工作机会越来越少,和差了。

提升嵌入式底层原理开发,我建议你们去零声教育,专门做底层原理讲解。

文末有学习路线参考!

更多linux内核视频教程文档资料免费领取后台私信【内核】自行获取.

Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈-学习视频教程-腾讯课堂

哪怎么打破这些困扰呢?

接下来听我一一道来。

主要从

给大家推荐一下内核大神的学习路线

全方面系统全面的讲解底层原理开发技术:

1、五大专题,共计150 个课时

2、20个实战操作模块,2w 代码;

主要从

  • 进程管理专题
  • 内存管理专题
  • 网络协议栈专题
  • 设备驱动管理专题
  • 文件系统及内核组件专题

全方面系统全面的讲解底层原理开发技术:

最新Linux内核大纲

进程管理专题

内存管理专题

网络协议栈专题

设备驱动管理专题

文件系统及内核组件专题

项目实战

适合于

  • 1.从事业务开发多年,对底层原理理解不够深入的在职工程师
  • 2. 从事嵌入式方向开发,想转入互联网开发的在职工程师
  • 3. 从事Qt/MFC等桌面开发,薪资多年涨幅不大的在职工程师
  • 4. 从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师
  • 5. 工作中技术没有挑战,工作中接触不到新技术的在职工程师
  • 6. 自己研究学习速度较慢,不能系统构建知识体系的开发人员
  • 7. 了解很多技术名词,但是深入细问又不理解的工程师
  • 8. 计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c基础)
    推荐阅读
  • 新手刷酸产品推荐干皮(敲详细刷酸教程)

    敲详细刷酸教程刷酸也有一段时间了今天做了个小小的总结,包含了各个阶段不同的刷酸方法~—先来说一下怎么去选酸新手——维A酸乳膏进阶——水杨酸棉片(0.5%浓度)老手——果酸(30%浓度)—如果之前没刷过酸的话,记得现。

  • 刀锋鞋适合什么人穿(刀锋鞋的原理)

    刀锋鞋适合什么人穿刀锋跑鞋当然适合跑步运动的青年人,不适合体重过大人群,刀锋跑鞋是2013年6月24日在美国波特兰发布一款结构减震跑鞋。鞋底搭载了16个由高科技聚合物制成的叶片,为跑者提供最高的纵向能量反馈。保护膝盖,减少运动消耗,延长运动时间,提高运动效率。

  • 石家庄紧急寻人通告(河北多地最新公告石家庄)

    石家庄紧急寻人通告行程轨迹公布!定州紧急提醒广大市民:2月28日0时至24时,天津市新增6例确诊病例,其中滨海新区4例、东丽区2例。截至目前,本轮疫情累计报告19例阳性感染者,均在定点医院治疗。为保障广大市民身体健康与生命

  • 2.7霸道加92号油可以吗 丰田霸道3.5可以加92号油吗

    有毒苯含量不得超过1%。是的,这款搭载奥迪新一代共轨直喷柴油发动机的A6L2.7TDI绝对值得好奇了解甚至驾驶。经过几天的试驾,这款奥迪A6L2.7TDI的总里程约为960公里,油表显示还能开100公里。从这几天试驾的操控性表现来看,奥迪A6L2.7TDI作为一款豪华行政轿车,其操控性和其他奥迪A6L一样稳健舒适。轮毂方面,A6L2.7TDI配备了与2.4款相同的7辐17英寸轮毂,轮胎尺寸完全相同。

  • 蒸2个鸡蛋要放多少水(这里有答案)

    蒸2个鸡蛋要放多少水?下面更多详细答案一起来看看吧!准备好所有材料,把两个鸡蛋放在碗中打散打匀。在鸡蛋液中加入156ml的饮用水,用筷子继续打匀。打匀后拿筛子把泡沫全部过滤掉,一定要过滤干净。盖上保鲜薄膜,防止水滴进去鸡蛋羹不平。小火蒸12分钟后,把火关掉,继续焖5分钟。五分钟后拿出来后在鸡蛋液上倒上酱油和麻油就可以开动了。

  • 简笔画少女古装美人(人物简笔画女孩可爱古装)

    少女古装美人简笔画你会画吗?儿童画第1页漫画图片简笔美女漫画人物简笔画少女古装古装漫画人物,下面来看看有没有你喜欢的简笔画少女古装美人?接下来我们一起去欣赏以下简笔画作品吧!

  • 如何让蒸蛋又嫩又滑好吃不翻车呢(蒸蛋又嫩又滑做法)

    接下来我们就一起去了解一下吧!如何让蒸蛋又嫩又滑好吃不翻车呢将鸡蛋打入碗里打散,一定要打得很散。加入温开水,边加水边搅拌,多搅拌几分钟。加入适量的盐,继续打散,用小勺撇去上面的一层泡沫不要。碗上盖上盖子,也可以用保鲜膜,蒸锅里加好水烧开,把蒸碗放入蒸锅。盖好盖子,蒸12分钟左右就好了。最后起锅后可加点葱花,芝麻油。

  • 牙膏怎么选择才是好的(如何选择牙膏)

    牙膏怎么选择才是好的试挤,质量良好的牙膏应能自然地挤出,膏体比较细腻光滑,并非正常的圆条状。在阳光反射下看细腻、光滑、洁净、无杂质和发黑现象,而质量低劣的牙膏发硬挤不出,或稍一挤膏体便大量涌出。试尝,将牙膏挤出少许试尝,质量好的牙膏香味纯正,无刺激味道。如果口感粗糙,有像沙子一样的颗粒滞留在嘴里,大多是含粗糙磨擦剂的牙膏,建议立即停用。对症选用药物牙膏,根据防蛀功效选用含氟牙膏。

  • 苹果充电器怎么保护(苹果手机如何充电才保护电池)

    苹果充电器怎么保护由于iPhone使用的是锂聚合物电池,并不存在记忆效应,因此并不需要等到手机彻底没电或者是低电量之后再充电,也就是说随时都可以充电。由于手机内还有一个充放电的计量芯片,每个月只需要完成一次完整的充放电就能够将电池进行校准。建议在充电的时候使用质量合格的充电器以及数据线,由于目前iPhone手机已经支持PD的快充协议,因此使用支持PD的快充头是能够支持快充。

  • 汽车电瓶什么情况下才换(汽车电瓶换完了)

    与电动转向泵通信才是重点发动机电脑自身可是重要部件,它要坏了,可能就打不着车了,所以咱们检查电动转向泵,这个标致3008,电动转向泵油是不缺的,通过诊断电脑我们去查找泵的电路图,搞清楚泵的供电和接地以及信号线。至此真相大明,紧固螺丝,清除故障码,试车正常。我接着说,重点在于你没换电瓶之前,都是好的,她说是的是的,这个标致3008外形时尚,平时开着也省心,我很喜欢这车,但就是换了电瓶之后就这不好,那不好了。