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

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

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

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

当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bool函数使用「建议收藏」

    bool函数使用「建议收藏」bool函数的使用

    2022年6月13日
    28
  • svn配置帐号密码「建议收藏」

    svn配置帐号密码「建议收藏」svn/config下authz:###Thisfileisanexampleauthorizationfileforsvnserve.###Itsformatisidenticaltothatofmod_authz_svnauthorization###files.###Asshownbeloweachsectiondefinesauth…

    2025年9月5日
    6
  • 激光测距原理和应用[通俗易懂]

    激光测距原理和应用[通俗易懂]激光测距方法的分类     般来说激光测距技术可分为两类:激光飞行时间测距和激光非飞行时间测距。激光飞行时间测距既利用激光到达目标所用时间来进行测距的方法。非飞行时间测距则是采用光子计数或数学统计方法进行测距的方法。     飞行时间测距主要有三种方法:相位激光测距、脉冲激光测距和调频连续波测距。其中相位激光测距和调频连续波测距都是连续波激光测距,只是两者起止时刻标识不

    2022年6月2日
    45
  • asmx文件_将Web服务的实现与ASMX文件分开

    asmx文件_将Web服务的实现与ASMX文件分开asmx文件Afellowsaidrecentlythathewantedtobuilda”monsterwebservice”withover20classesandover20methods(well,notTHATmonster,butnotHelloWorld).Hesaid:一位同僚最近说,他想构建一个具有20多个类和20多种…

    2022年5月23日
    41
  • Flask 的 jsonify 理解[通俗易懂]

    Flask 的 jsonify 理解[通俗易懂]文章目录python代码解决原因Content-Type的区别python代码#-*-coding:utf-8-*-fromflaskimportFlask,jsonifyapp=Flask(__name__)urls=[{‘id’:1,’title’:’python’,’descripti…

    2022年5月10日
    50
  • BACnet协议_bip协议

    BACnet协议_bip协议一、什么是BACnet?BACnet,BuildingAutomationandControlnetworks的简称,即楼宇自动化与控制网络。是用于智能建筑的通信协议。一般楼宇自控设备从功

    2022年8月4日
    9

发表回复

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

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