我对嵌入式一些概念名词简单的理解「建议收藏」

我对嵌入式一些概念名词简单的理解

大家好,又见面了,我是全栈君。

通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?

当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。 低端的单片机系统和高端的ARM+LINUX这种结构有什么不同呢? 单片机系统在8位的单片机系统上跑一段程序,实际上呢,就是一段应用程序。这个架构比较简单。 ARM+LINUX系统呢,最下层是硬件,往上呢是驱动程序->操作系统->最上面呢是应用程序。最下面的硬件一般比较复杂,32位的系统(ARM、PPC、MIPS、X86等)。 在整个架构上有很大不同。如果要开发ARM+LINUX这样系统的时候,需要了解更多的知识,比如:什么是操作系统?驱动程序如何挂在到操作系统上?应用程序如何通过操作系统对硬件进行操作等等。

这样看来ARM+LINUX的架构比8位单片机这个架构要复杂很多。

一.单片机和ARM的区别

1. 单片机主要是面向于低端市场,实现一般性的控制功能,单片机一般单片集成CPU,RAM,ROM,各种外设。

2. ARM主要面向更复杂的嵌入式产品,主频更高,外围接口功能更加丰富。

3. ARM将逐渐取代单片机,成为嵌入式产品的通用硬件平台。

二.ARM是什么?什么是ARM9,ARM11,ARMCORTEX

1. ARM是一家公司,它不做芯片生产,销售,只是设计芯片内核,并把知识产权给芯片制造商。ARM是一门技术科学,它也是一种芯片。

2. ARM11系列微处理器ARM公司近年推出的新一代RISC处理器,它是RAM新指令架构,ARM11处理器瞄准的是高端的移动无线,消费类电子,网络和汽车电子应用,而且ARM11内核的很多特性使它还能充分适应高端嵌入式实时应用系统,如未来的网络和家庭娱乐产品。

3. ARMCORTEX不是代表更高端,而是一个全新的系列,CORTEX分三个系列:A系列,R系列,M系列,在R系列里,实时性高,多用于汽车电子和特殊行业,并且在实际开发中很少遇到,M系列终端快,多应用于机械加工领域,典型的产品有M0,M3,M4,其中M0是为了

抢占传统的51单片机市场,M3是为了取代ARM7,M4在M3的基础上增加了DSP和MPU,这是为了与低端的DSP处理器竞争,A系列是面向应用的,如苹果公司的iphone4就是cortexA8架构的,但是A系列的底层嵌入式开发难度很大,国内很少有公司有实力开发ARM  A系列处理器并采用

三.ARM9和ARM11的区别

1. 主频不同,2440是400M,6410是533/667M.

2. 处理器的版本不一样。

3. 6410在视频处理方面比2440要强很多。

4. 6410采用的是DDR内存控制,2440采用的是SDRAM内存控制器。

5. 6410为双总线架构,一路用于内存总线,一路用于Flash总线。

6. 6410的启动方式更加灵活,主要包括SD,Nand Flash NorFLash和oneFLash等设备启动。

7. 6410的NondFLash支持SLC和MLC两种架构,从而大大扩大存储空间。

8. 6410具备8路DMA通道。

9. 6410的性能高于2440,ARM11通常跑操作系统,ARM9可跑可不跑。

10. 6410还支持2D和3D的图形加速。

四.嵌入式行业中的职业划分,分4种

1. 硬件工程师,包括电路工程师,芯片工程师,PCBLayout工程师,MCS51硬件工程师,ASIC设计工程师FPGA.(即硬件层)

2. 内核开发,内核优化,系统移植工程师,将LINUX系统进行移植和简单的裁剪修改使之运行起来。(即操作系统层)

3. 核心底层工程师,深入理解LINUX内核并且有一定的硬件知识,精通C语言,数据结构,最难的是自己写一个驱动出来,可以看时序图,电路图等。(即驱动层)

4. 嵌入式应用软件工程师,有LINUX平台或WINCE平台开发经验,熟悉C++,可以开发基于QT,GTK(图形库)等C++应用程序,比如手机上的QQ等这些相对来说简单。(即应用层)

 

寄语:我们知道,嵌入式系统是一个很有前景的行业。学会嵌入式技术,就相当于给自己创造了更多的机会。那么, 现在可以预计的将来,嵌入式技术的应用会越来越广泛(大量的人才需求,未来五年内,国内LINUX嵌入式软件开发的人才缺口达到120万)如果你想往这方面发展的话:

第一:把心踏实下来,做好打硬仗的准备。

第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。

最好的学习方法:

做项目,如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入门的。也就是说从实战之中来获得进步。

技术道路不是一朝一夕,有人领你进门更好,自学也得有一本时间的明细账本,希望有兴趣从事这个行业的朋友们,学有所成!

转载于:https://my.oschina.net/u/3629177/blog/1537311

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108156.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 这7个web前端开发写代码软件,你过用几个?[通俗易懂]

    群里的朋友,经常问到web前端开发写代码用那个软件好?今天在这里统一回答下,主流的web前端开发写代码的软件有这些Webstorm、Vscode、SublimeText、HBuilder、Dreamweaver、notepad++、editplus等,做前端这么多年了,下面谈下我的使用感受吧。1.WebStorm【推荐】WebStorm是jetbra…

    2022年4月11日
    78
  • LoadRunner压力测试实例步骤

    LoadRunner压力测试实例步骤LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以…

    2022年7月18日
    17
  • JavaScript数学运算(取整,取余和取模)

    来源|https://www.fly63.com这篇文章主要介绍js取整、取余和取模的实现方法和它们之间的区别,以及Math对象的常用方法函数介绍,有需要的朋友可以参考下。取整在项目开…

    2022年4月9日
    211
  • Sequelize多表联合查询案例

    Sequelize多表联合查询案例一、Table:现在有两个表,A和B,关联关系:MATCH表中的job_history_id与JOB_HISTORY表中的id相关联。二、需求:查询Match表中的user_id,report_comment,以及job_history_id所关联的JOB表中的job_link,在前端显示。三、Code:1.后端首先要建立两个表的关联:MatchScoreReportModel.belongsTo(JobHistoryModel,{foreignKey:’job_history

    2022年5月18日
    51
  • Java分页显示(旅游线路)

    Java分页显示(旅游线路)

    2021年11月11日
    37
  • elevator saga游戏下载_win10玩沙滩ZERO特别卡

    elevator saga游戏下载_win10玩沙滩ZERO特别卡一,游戏介绍这是一个在线编写JS代码的游戏:http://play.elevatorsaga.com/显示界面:其中的doc是肯定要看的。操作界面:初始代码:{init:function(elevators,floors){varelevator=elevators[0];//Let’susethefirstelevator//Whenevertheelevatorisidle(has..

    2022年9月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号