A. 嵌入式操作系统有哪些
嵌入式操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于其上的各个任务,它根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在有嵌入式操作系统支持的系统中,每个任务有一个优先级,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。经过多年的发展,比较流行的嵌入式操作系统如下:
1、VxWorks
VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种实时嵌入式操作系统(RTOS),由于具有高性能的系统内核和友好的用户开发环境。
VxWorks的突出特点:可靠性、实时性和可裁减性。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的操作系统。它支持多种处理器,如x86、i960、Sun Sparc、Motorola Mc68xxx、MIPS RX000、Power PC等。大多数的VxWorks API是专有的,采用GNU的编译和调试器,具有集成开发环境Tornado 系列。
它属于商业型操作系统,目前国内很多大的公司都采用此操作系统进行嵌入式系统的开发,如中兴通讯、华为等。
2、pSOS
该系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全的多任务环境,在定制的或者商业化的硬件上具有高性能和高可靠性,可以让开发者根据操作系统的功能和内存需求定制每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。
3、Windows Embedded
Windows Embedded 产品家族是Microsoft的产品,主要是用于建立支持具有丰富应用程序和服务的32嵌入时系统,从而针对广泛的用户需求提供灵活解决方案。此外,同支持更快的“产品上市速度”并降低开发成本,Windows Embedded 产品家族还能保证开发人员立于竞争前沿。目前Windows Embedded产品家族主要有Windows CE 3.0 和Windows NT Embedded 4.0。
4、Palm OS
Palm OS是着名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品,在PDA市场上占有很大的市场份额。它具有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。
从全球范围来看,由于Handspring公司和SONY公司也被授权使用Palm OS操作系统,致使Palm OS的市场份额占到将近90%。Palm OS的优势在于可以让用户灵活方便地定制操作系统以适合自己的习惯,而且其市场运作经验丰富,资本雄厚,目前也正在通过第三方软件商进行软件的中文化工作。
5、OS-9
Microwave的OS-9是为微处理器关键实时任务而设计的`操作系统,广泛应用于高科技产品中,包括消费电子产品、工业自动化、无线通信产品、医疗仪器、数字电视/多媒体设备。它提供了很好的安全性和容错性。与其它的嵌入式系统相比,它的灵活性和可升级性非常突出。
6、LynxOS
Lynx Real-time Systems 的LynxOS式一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循PosIX.la、PosIX.lb和PosIX.1c标准。LynxOS支持线程的概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特性,包括基于调用需求的虚拟内存、一个基于Motif的用户图形界面、与工业标准兼容的网络系统以及应用开发工具。
7、QNX
QNX是加拿大QNX公司的产品。QNX是在x86体系上开发出来的,这和别的RTOS不太一样,别的大多RTOS都是从68K的CPU上开发成熟,然后再移植到x86体系上来的,但是QNX是直接在x86上面开发,只是近年才在68K等CPU上使用。
QNX是一个实时的、可扩充的操作系统,它部分遵循PosIX相关标准,如PosIX.1b实时扩展。它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。其进程在独立的地址空间运行。所有其它OS服务,都体现为协作的用户进程,因此QNX内核非常小巧(QNX 4.x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或者包括几百个处理器的超级虚拟机操作系统。
由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(掌上电脑、手机)、GPS设备的实时操作系统使用。
8、嵌入式linux
自由免费软件Linux的出现对目前商用嵌入式操作系统带来了冲击。它可以移植到多个有不同结构的CPU和硬件平台上,具有很好的稳定性、各种性能的升级能力强,而且开发更容易。
国际上许多大型跨国企业,已经选中了Linux操作系统作为开发嵌入式产品的工具。如韩国三星公司、美国Transmeta公司等。国内也有很多厂家推出了基于Linux的嵌入式系统,如中科红旗软件技术有限公司既开发了嵌入式Linux系统基本开发平台,有提供了可供裁减的嵌入式Linux图形用户界面、窗口系统和网络浏览器,并与其它厂商合作开发了许多产品,包括PDA、机顶盒、彩票机等。
9、μC/OS-II
μC/OS-II是源代码公开的实时嵌入式内核,是由美国人Jean J. Labrosse撰写,其性能完全可以与商业产品竞争。它是基于μC/OS的,在1992年以来已经有很多成功的商业应用。它可在绝大多数8位、16位、32位甚至64位微处理器、微控制器、数字信号处理器(DSP)上运行。
目前嵌入式系统的开发工具平台主要包括以下几种:
(1)实时在线仿真系统ICE(In-Circuit Emulator)
(2)高级语言编译器(Compiler Tools)
(3)源程序模拟器(Simulator)
B. 嵌入式LINUX开发板怎样通过USB外接无线wifi实现系统和应用程序的升级更新
开发板
能连wifi就说明可以接入局域网了,在开发板上开一个tcp服务,通过tcp上传升级包到板子上,然后执行
刷机
或者更新应用的操作就好了,跟新应用程序的话只需要解压替换就好了,要注意检查文件的
MD5
什么的,要是需要刷机的话,文件有问题,刷完机板子就起不来了
C. 嵌入式linux的简介
嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。
如果分别让10位工程师给出嵌入式系统的定义,将得到10个不同的答案。一般来说,大部分的嵌入式系统执行特定的任务。我们假定最简单的嵌入式系统包括输入/输出功能,以及一些控制逻辑,该系统基于它的配置执行某些类型的功能。按照这个标准,可以认为一个包含实现控制逻辑74123计数器以及一个状态是一个嵌入式系统。也许可以补充说,该系统必须可通过存储在固件中的软件进行编程。这个新的嵌入式系统定义包括输入/输出(I/O),以及存储在系统固件中的控制逻辑。一个带有鼠标、键盘、网络连接并运行图形用户界面(GUI,graphical user interface)多任务操作系统的桌面计算机显然满足这些要求,但我们能认为它是一个嵌入式系统吗?
如果桌面计算机不是一个嵌入式系统,那么手持设备呢?它们有I/O功能,可以运行存储在固件中的控制逻辑。有人说,桌面计算机和手持设备都有通用计算机设备,可以运行软件来执行许多不同的任务,与之不同的是,嵌入式系统(例如,洗碗机控制器或飞行导航系统)主要是为特定任务而设计的。这种特定的功能限定使嵌入式设备有功能上的唯一性。如果是这样,为什么一些嵌入式系统设计成具有附加的功能,如存储在非易失性存储器中的程序,并且具有运行可以完成原始设计范围之外的任务的多任务操作系统的能力呢?
在过去,区分嵌入式系统和通用计算机比简单得多。例如,可以很容易地区分出一个基于8051的T1分幅卡嵌入式系统和一台Sun UNIX工作站。从功能方面很难区分一台Sun工作站和一个包含PowerPC以及32MB内存和16MB闪存的机顶盒。这样的机顶盒可以运行带GUI的多任务操作系统,可现场升级,可以同时运行多个程序(如视频控制器、数字录像和Java虚拟机),还可以进行安全的因特网在线交易。很难判断这种机顶盒是否是一个嵌入式系统。显然,硬件性能的提升和价格的下降使通用计算机和嵌入式系统之间的界限变得很模糊,技术的进步使得我们很难定义什么是嵌入式。
D. 嵌入式linux 通过网页WEB 升级文件系统,flash_eraseall可以擦除对应的扇区,但是擦除
你需要直接写数据到指定位置?你不会是按照文件写入的吧?
这个最好用 dd 命令直接复制数据流,你的源镜像位置正确,写入的开始位置对应,后面就都对上了。
不然,你的系统读取数据时,就不能按照扇区位置读取,只能按照文件系统检索文件分配表检索位置去读取文件。
E. 嵌入式linux
嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。
如果分别让10位工程师给出嵌入式系统的定义,将得到10个不同的答案。一般来说,大部分的嵌入式系统执行特定的任务。我们假定最简单的嵌入式系统包括输入/输出功能,以及一些控制逻辑,该系统基于它的配置执行某些类型的功能。按照这个标准,可以认为一个包含实现控制逻辑74123计数器以及一个状态是一个嵌入式系统。也许可以补充说,该系统必须可通过存储在固件中的软件进行编程。这个新的嵌入式系统定义包括输入/输出(I/O),以及存储在系统固件中的控制逻辑。一个带有鼠标、键盘、网络连接并运行图形用户界面(GUI,graphical user interface)多任务操作系统的桌面计算机显然满足这些要求,但我们能认为它是一个嵌入式系统吗?
如果桌面计算机不是一个嵌入式系统,那么手持设备呢?它们有I/O功能,可以运行存储在固件中的控制逻辑。有人说,桌面计算机和手持设备都有通用计算机设备,可以运行软件来执行许多不同的任务,与之不同的是,嵌入式系统(例如,洗碗机控制器或飞行导航系统)主要是为特定任务而设计的。这种特定的功能限定使嵌入式设备有功能上的唯一性。如果是这样,为什么一些嵌入式系统设计成具有附加的功能,如存储在非易失性存储器中的程序,并且具有运行可以完成原始设计范围之外的任务的多任务操作系统的能力呢?
在过去,区分嵌入式系统和通用计算机比简单得多。例如,可以很容易地区分出一个基于8051的T1分幅卡嵌入式系统和一台Sun UNIX工作站。从功能方面很难区分一台Sun工作站和一个包含PowerPC以及32MB内存和16MB闪存的机顶盒。这样的机顶盒可以运行带GUI的多任务操作系统,可现场升级,可以同时运行多个程序(如视频控制器、数字录像和Java虚拟机),还可以进行安全的因特网在线交易。很难判断这种机顶盒是否是一个嵌入式系统。显然,硬件性能的提升和价格的下降使通用计算机和嵌入式系统之间的界限变得很模糊,技术的进步使得我们很难定义什么是嵌入式。
……………………………………………………………………………………
嵌入式linux的前景和待遇都不错,一般从事嵌入式的待遇在6000-15000之间。虽然嵌入式很难,但是也可以自学嵌入式。
关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在网络知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器地址栏按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
希望我的回答能帮助到你。
…………………………………………………………
F. 嵌入式Linux,更新应用程序到板子上时,不想动根文件系统,只更新应用程序,要怎么个烧录法
跟目录下的bin,是系统工具,一般属于超级用户才具有使用权限,而usr下面的bin则是普通用户和你自己安装的一些软件工具通用的存放路径。bin进行二进制可执行文件的意思。存放的当然都是可执行的工具了。如果是源码包安装的话,你可以通过configure来指定安装路径。
G. tftpd32怎么升级嵌入式linux
Linux驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式LINUX不能够象桌面LINUX那样灵活的使用insmod/rmmod加载卸载设备驱动程序
H. 嵌入式开发中linux内核升级,给上层应用带来的区别
没什么区别,内核的核心功能只不过是进行任务调度,升级到天上也是这个功能。而你的linux应用程序是和硬件驱动联系在一起的。只要你的硬件没变,驱动没变,应用程序不会变化。
I. 如何在嵌入式linux系统目标板上升级ip netns补丁
什么是嵌入式系统? 一个嵌入式系统(EmbeddedSystem)就是一个计算机硬件和软件的集合体,也许还包括其他一些机械部件。它是为完成某种特定的功能而设计的。一个很好的例子就是电子手表。几乎每个人都有一块,并且每天都有上千万的人们在 使用着...
J. 嵌入式LINUX开发板怎样通过USB外接无线wifi实现系统和应用程序的升级更新
开发板能连wifi就说明可以接入局域网了,在开发板上开一个tcp服务,通过tcp上传升级包到板子上,然后执行刷机或者更新应用的操作就好了,跟新应用程序的话只需要解压替换就好了,要注意检查文件的MD5什么的,要是需要刷机的话,文件有问题,刷完机板子就起不来了