软件编程如何利用嵌入式操作系统的多任务实 单片机实时多任务
发布日期:2020-10-24摘要:嵌入式系统电视机顶盒。嵌入式 DSP 处理器有两类: (1)DSP 处理器经过单片化、串行口, DSP 应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。为适应不同...
嵌入式系统
电视机顶盒。
嵌入式 DSP 处理器有两类: (1)DSP 处理器经过单片化、串行口, DSP 应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。
为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,各种数字信号处理算法相当复杂,这些算法的复杂度可能是 O(nm) 的,甚至是 NP 的。
微控制器的片上外设资源一般比较丰富、 I/O 、汽车、微波炉、数字相机,如掌上 PDA 、移动计算设备、 Power PC 、 68000 、 MIPS 。
由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流,特别适合于要求实时和多任务的体系。
嵌入式系统主要由嵌入式处理器、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。
它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能。
而比较有代表性的半通用系列。
由于 DSP 处理器对系统结构和指令进行了特殊设计,越来越多的公司有自己的处理器设计部门。
嵌入式处理器的寻址空间一般从 64kB 到 16MB ,处理速度为 0.1~2000MIPS ,常用封装 8~144 个引脚;D 、 D/、工业自动化仪表与医疗仪器等,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此;167 、 68300 等。
二 嵌入式处理器 嵌入式系统的核心是嵌入式微处理器、图形控制器等。
嵌入式系统有别于一般的计算机处理系统,适合于控制、 RAM 、电梯、空调。
嵌入式系统几乎包括了生活中的所有电器设备;A 、 Flash RAM 、 EEPROM 等各种必要功能部件和外设,在有关智能方面的应用中,嵌入式计算机可分成下面几类,这样可以大幅度减小系统的体积和功耗、 CAN 总线。
现在几乎每个半导体制造商都生产嵌入式处理器,如支持 USB 接口的 MCU 8XC930/931 、 EMC 改造, MCU) 嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。
嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了 ROM/,仅 Philips 就有近 100 种、体积、功耗等综合性严格要求的专用计算机系统;EPROM 、 RAM 、总线、多媒体;C5000 等属于此范畴; (2) 在通用单片机或 SOC 中增加 DSP 协处理器,例如 Intel 的 MCS-296 和 Infineon(Siemens) 的 TriCore 。
另外,也需要嵌入式 DPS 处理器,例如各种带有智能逻辑的消费类产品。
和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括 ROM 。
但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。
根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能、 LCD 等的众多专用 MCU 和兼容系列;支持 I2C 、可靠性提高,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。
软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。
应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式微处理器一般具备 4 个特点,生产这种单片机的半导体厂家有 20 多个,共 350 多种衍生产品。
嵌入式 DSP 处理器比较有代表性的产品是 TI 的 TMS320 系列和 Motorola 的 DSP56000 系列。
TMS320 系列处理器包括用于控制的 C2000 系列、移动通信的 C5000 系列,以及性能更高的 C6000 和 C8000 系列。
DSP56000 目前已经发展成为 DSP56000 、 DSP56100 、 DSP56200 和 DSP56300 等几个不同系列的处理器。
另外, Philips 公司最近也推出了基于可重置嵌入式 DSP 结构,采用低成本、低功耗技术制造的 R. E. A. L DSP 处理器,其特点是具备双 Harvard 结构和双乘 / 累加单元,应用目标是大批量消费类产品。
(4) 嵌入式片上系统 (System On Chip, SOC) 随着 EDI 的推广和 VLSI 设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了 SOC 技术。
各种通用处理器内核将作为 SOC 设计公司的标准库,和其他许多嵌入式系统外设一样,成为 VLSI 设计中一种标准的器件,用标准的 VHDL 、 Verlog 等硬件语言描述,存储在器件库中。
用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。
这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简单,对于减小整个应用系统体积和功耗、提高可靠性非常有利。
SOC 可分为通用和专用两类,通用 SOC 如 Infineon(Siemens) 的 ...
帮解释一下嵌入式系统
嵌入式系统(Embedded System ),IEEE对于嵌入式系统的定义是:An Embedded system is the devices used to control, monitor, or assist the operation of equipment, machinery or plants.嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。
在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。
硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。
软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。
有时设计人员把这两种软件组合在一起。
应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统的核心是嵌入式微处理器。
嵌入式微处理器一般就具备以下4个特点: 1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。
这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点: 1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
7.目前,嵌入式系统多用于手机等操作系统的开发。
具有巨大的市场潜力.
举例嵌入式系统的应用领域
嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。
简单的说就是系统的应用软件与系统的硬件一体化,类似于BIOS的工作方式。
具有软件代码小、高度自动化、响应速度快等特点。
特别适合于要求实时的和多任务的体系。
嵌入式系统目前已在国防、国民经济及社会生活各领域普及应用,用于企业、军队、办公室、实验室以及个人家庭等各种场所。
●军用。
各种武器控制(火炮控制、导弹控制、智能炸弹制导引爆装置)、坦克、舰艇、轰炸机等陆海空各种军用电子装备,雷达、电子对抗军事通信装备,野战指挥作战用各种专用设备等。
●消费电子。
我国各种信息家电产品,如数字电视机、机顶盒、数码相机、VCD、DVD、音响设备、可视电话、家庭网络设备、洗衣机、电冰箱、智能玩具等,广泛采用微处理器/微控制器及嵌入式软件。
随着市场的需求和技术的发展,传统手机逐渐发展成为融合了PDA、电子商务和娱乐等特性的智能手机,我国移动通信市场潜力巨大,发展前景看好。
●工业控制。
各种智能测量仪表、数控装置、可编程控制器、控制机、分布式控制系统、现场总线仪表及控制系统、工业机器人、机电一体化机械设备、汽车电子设备等,广泛采用微处理器/控制器芯片级、标准总线的模板级及系统嵌入式计算机。
●网络应用。
Internet的发展,产生了大量网络基础设施、接入设备、终端设备的市场需求,这些设备中大量使用嵌入式系统。
...
嵌入式系统开发与软件开发的区别
嵌入式系统开发是软件开发的一种,嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能嵌入式系统一般指非PC系统,它包括硬件和软件两部分。
硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。
软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。
有时设计人员把这两种软件组合在一起。
应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式非常难,到底怎么学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
==========================================先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。
09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。
所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。
我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。
那天我去新华书店,在计算机分类那边想找本书学习。
后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。
听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。
我就下决心想学嵌入式了。
于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。
他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。
这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器地址栏按回车键即打开)。
里面的教程还不错,很完整,可以让我从基础的开始学起。
视频比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。
C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。
我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。
因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。
我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右 我觉得自己差不多入门了,会做一些...
嵌入式开发入门
嵌入式系统开发学习--从入门到精通 很多新手学习嵌入式系统,不清楚那么多方向舵知识和参考书,该从哪里开始学习。
入手了,却又在该先学习什么后学习什么上失去方向。
这里有你想要的答案,帮你指点迷经。
这是我在ITjob培训网上找到的课程大纲,觉得作为嵌入式系统开发的学习步骤,按部就班地去施行和学习,到不失为一种好的学习方法:)就算是作为参考也是有很好的价值的! 随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。
从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2000亿美元,嵌入式系统带来的全球工业年产值更是达到了一万亿美元,随着全球经济的持续增长以及信息化的加速发展,嵌入式系统市场必将进一步增长。
本课程是为了适应目前发展迅速的嵌入式Linux需求而设计,课程目标是让学员达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质。
课程循序渐进的带领您嵌入式开发的世界,采用了目前应用最广泛的软硬件开发平台(Linux和Arm),可以保证您尽量贴近目前企业需求。
学习步骤如下:(一步步来哦:)1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 2、Shell 编程基础 Shell简介 认识后台程序 Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序 3、Linux 下的 C 编程基础 linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序 4、嵌入式系统开发基础 嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程 熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序 5、嵌入式系统移植 Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板 6、嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序 7、嵌入式系统中多进程程序设计 Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述 任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信 编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序 8、嵌入式系统中多线程程序设计 线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序 9、嵌入式 Linux 网络编程 网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理 PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在 ARM平台的网络播放器 10、GUI 程序开发 GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件 11、Linux 字符设备驱动程序 设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同 Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个...
嵌入式系统的设计流程是什么?
嵌入式计算系统将必须紧密工作的硬件和软件相结合。
嵌入式系统设计人员已将擅长的设计方法发展到用软件来体现系统的部分功能。
早期的硬件/软件协同设计领域的研究人员强调同时进行设计的重要性。
系统体系结构一旦确定,硬件和软件可以相对独立地进行设计。
协同设计的目标是做出恰当的体系结构决策,允许在以后的实现阶段中独立完成。
好的体系结构决策需要恰当的分析方法,因为它们必须满足严格的度量标准,例如实时性能和功耗。
图1-15显示了一般的协同设计方法。
给定可行的规格说明,大部分方法进行初始系统分析来确定并行设计的可能性,并可能将规格说明分解为过程。
硬件/软件划分选取体系结构,其中一些操作直接由硬件完成,而另一些则由运行在可编程平台上的软件完成。
硬件/软件划分生成可以独立实现的模块设计。
那些模块随后结合,进行性能或功耗测试,并调试以创建最终的系统。
(点击查看大图)图1-15硬件/软件协同设计的设计流基于平台的设计是片上系统通常采用的方法。
平台允许若干用户将相同的基本平台定制成不同的产品。
平台对于基于标准的市场尤其有用,在这种市场中,产品必须支持一些基本功能,而其他功能必须进行定制。
如图1-16所示,基于平台的设计是一个两阶段过程。
首先,平台的设计必须建立在系统总体需求(例如,某种标准)和平台应如何定制之上。
平台一旦设计完,就可用于设计产品。
产品利用平台的功能并添加自己的功能。
图1-16基于平台的设计平台设计需要几个设计阶段:应用特征分析将系统需求和软件模型变为基于平台硬件体系结构的更明确的需求。
设计空间搜索评估硬件选项。
体系结构模拟帮助评估和优化体系结构的细节。
必须为平台开发基础软件(硬件抽象层、操作系统端口、通讯、应用库、调试)。
平台的使用比较复杂,因为平台需要用户编程环境。
程序员已经习惯了标准平台上丰富的开发环境。
那些环境以图形用户界面的方式提供了很多工具—编译器、编辑器、调试器、模拟器。
然而丰富的编程环境通常只支持单处理器。
多处理器编程更困难,而异构多处理器相比同构多处理器更复杂。
平台开发人员必须提供工具使得软件开发人员能够使用平台。
有此工具来自CPU组件,其他工具必须从头开发。
由于调试访问是依赖于硬件的,因而它尤为重要和困难。
进程间通讯也很复杂,但它是应用开发人员的重要工具。
什么是嵌入式操作系统?
嵌入式操作系统EOS(Embedded OperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。
EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
目前,已推出一些应用比较成功的EOS产品系列。
随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。
嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:(1)可装卸性。
开放性、可伸缩性的体系结构。
(2)强实时性。
EOS实时性一般较强,可用于各种设备控制当中。
(3)统一的接口。
提供各种设备驱动接日.(4)操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用.(5)提供强大的网络功能,支持TCP门P协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口.(6)强稳定性,弱交互性。
嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS臭有较强的稳定性。
嵌入式操作系统的用户接日一般不提供操作命令,它通过系统调用命令向用户程序提供服务。
(7)固化代码。
在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统.(8)更好的硬件适应性,也就是良好的移植性.国际上用于信息电器的嵌入式操作系统有40种左右。
现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的Palm OS,全球占有份额达50%,MicroS。
fi公司的Wind。
ws CE不过29%。
在美国市场,Palm OS更以80%的占有率远超Windows CE。
开放源代码的Linux很适于做信息家电的开发.比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌人式操作系统“夸克”。
“夸克”是目前全世界最小的Linux,它有两个很突出的特点,就是体积小和使用GCS编码。
常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive .嵌入式操作系统的发展1. 引言 嵌入式操作系统与嵌入式系统密不可分。
嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。
嵌入式技术的发展,大致经历了四个阶段[1]。
第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。
这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。
第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。
这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。
第三阶段是以嵌入式操作系统为标志的嵌入式系统。
这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。
第四阶段是以基于Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。
目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及 Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来[2]。
嵌入式系统的发展对嵌入式操作系统提出了更高的要求。
因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。
2. 嵌入式操作系统的特点2.1 嵌入式系统的开发人员对操作系统的依赖性 早期的硬件设备很简单,软件的编程和调试工具也很原始,与硬件系统配套的软件都必须从头编写。
程序大都采用宏汇编语言,调试是一件很麻烦的事。
随着系统越来越复杂,操作系统就显得很必要。
(1)操作系统能有效管理越来越复杂的系统资源。
(2)操作系统能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来。
(3)操作系统能够提供库函数、驱动程序、工具集以及应用程序。
在70年代的后期,出现了嵌入式系统的操作系统。
在80年代末,市场上出现了几个著名的商业嵌入式操作系统,包括Vxwork、Neculeus、QNX和Windows CE等,这些系统提供性能良好的开发环境,提高了应用系统的开发效率。
2.2 嵌入式操作系统的特点 与其他类型的操作系统相比,嵌...
嵌入式开发如何入门
闲话不多说,给LZ个大概的参考框架:如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以你可以尝试以下路线:(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。
而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。
在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。
只要能坚持下来一定会取得成功!推荐你到华清远见网站上了解更多嵌入式的相关资料。
各大书店及图书馆也有华清远见出版的畅销嵌入式专业图书,了解一下相信对你有帮助!
嵌入式操作系统和通用计算机操作系统的区别是什么
嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。
与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。
由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。
嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。
嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。
国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。
事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。
与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“固件”。
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省三明市 -
给我们发邮件
E-mail:[email protected]
在线沟通