嵌入式开发-lesson0-浅谈嵌入式

简介: 1、           概念 所谓嵌入式操作系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

1、           概念

所谓嵌入式操作系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、           应用

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

3、           前景

嵌入式就业发展空间相对较大。嵌入式系统是当前最热门、最具发展前途的IT应用领域之一。包括手机、电子字典、可视电话、数字相机(DC)、数字摄像机(DV)、UDisk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等都是典型的嵌入式系统。因此,通过嵌入式培训成为专业的嵌入式技术人才,其职业发展空间较大。

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

4、           开发系统

1Windows CE

Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统。CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)、伴侣(Companion);而E则代表电子产品(Electronics)。                
2VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它适用方面广、适用性强且可靠性高,具有多达1800个功能强大的应用程序接口(API),可以用于所有的流行的CPU平台。 美国火星探测器所使用的嵌入式实时操作系统就是                                      

3)嵌入式Linux

Linux是一个类似于Unix的操作系统。它起源于芬兰一个名为Linus Torvalds的业余爱好者,是目前最为流行的一款开放源代码的操作系统。目前正在开发的嵌入式系统中,有近一半的项目的项目选择Linux作为嵌入式 操作系统。Linux现已成为嵌入式操作的理想选择。                                 
4)μC/OS-II

μC/OS-II 是Jean J. Labrosse 开发的一个高度可移植的实时操作系统。世界上已有数千人在各个领域使用μC/OS,例如,照相机行业、医疗器械、音响设施、发动机控制、网络设备、高速公路电话系统、自动提款机、工业机器人等等。很多高等院校将μC/OS用于实时系统教学。   

5、           硬件选择

1)ARM

ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC MachineARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

ARM处理器的三大特点是:耗电少功能强、16/32位双指令集和合作伙伴众多。

A、体积小、低功耗、低成本、高性能;

B、支持Thumb16位)/ARM32位)双指令集,能很好的兼容8/16位器件;

C、大量使用寄存器,指令执行速度更快;

D、大多数数据操作都在寄存器中完成;

E、寻址方式灵活简单,执行效率高;

F、指令长度固定。

2)MIPS

MIPS是世界上很流行的一种RISC处理器。MIPS的意思是无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。 MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。

3)POWERPC

PowerPC处理器有广泛的实现范围,包括从诸如 Power4 那样的高端服务器CPU 到嵌入式CPU市场(任天堂 Gamecube 使用了 PowerPC)。PowerPC 处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了像串行以太网控制器那样的集成 I/O,该嵌入式处理器与台式机CPU存在非常显著的区别。例如,4xx 系列PowerPC 处理器缺乏浮点运算,并且还使用一个受软件控制的 TLB 进行内存管理,而不是象台式机芯片中那样采用反转页表

PowerPC 处理器有 32 个(32 位或 64 位)GPR通用寄存器)以及诸如 PC程序计数器,也称为 IAR/指令地址寄存器 NIP/下一指令指针)、LR链接寄存器)、CR(条件寄存器)等各种其它寄存器。有些 PowerPC CPU 还有 32 64 FPR浮点寄存器)。

4)X86             

x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合.

x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium)。由于早期intelCPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾,P2,P4,赛扬系列都是支持X86指令系统,所以都属于X86家族 。

X86指令集是美国Intel公司为其第一块16CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU--i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器则另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386i80486直到今天的Pentium 4(以下简为P4)系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。

另外除Intel公司之外,AMDCyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为IntelCPU兼容产品。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。当然在台式(便携式)电脑中并不都是使用X86系列CPU,部分服务器和苹果(Macintosh)机中还使用美国DIGITAL(数字)公司的Alpha 61164PowerPC 604e系列CPU



视频教程:
链接: http://pan.baidu.com/s/1sjHZBT7 密码:8cg8
http://i.youku.com/u/UMzQzMjU3Njky
相关文章
|
6月前
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
142 4
|
7月前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
254 0
|
Linux 图形学 Windows
嵌入式课程实现Linux操作系统LVGL移植操作
嵌入式课程实现Linux操作系统LVGL移植操作
|
消息中间件
嵌入式:UCOS移植+简单创建任务
嵌入式:UCOS移植+简单创建任务
|
Linux API SoC
嵌入式实践教程--设备树下的I2C驱动开发
嵌入式实践教程--设备树下的I2C驱动开发
|
Linux
《嵌入式Linux驱动开发教程》| 每日读本书
高等院校嵌入式人才培养规划教材,全面详细地讲解了Linux设备驱动开发,也可供嵌入式Linux驱动开发人员参考。每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。
1407 0
|
开发工具 Windows
《stm32嵌入式系统开发实战指南》一3.2 相关开发工具
本节书摘来自华章出版社《stm32嵌入式系统开发实战指南》一书中的第3章,第3.2节,作者 李志明 檀永 徐石明,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1499 0
|
C语言 C++
《嵌入式C编程:PIC单片机和C编程技术与应用》一1.11 兼容性
本节书摘来自华章出版社《嵌入式C编程:PIC单片机和C编程技术与应用》一书中的第1章,第1.11节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.11 兼容性 //注释属于C++风格,并不是所有的C编译器都支持。
1176 0