1、嵌入式开发 VS 传统开发

    区别:  嵌入式有操作系统为什么要移植操作系统:解决了软硬件耦合度,提高了软件一致性提供了很多开源的工具和库,可以实现多任务,提高了开发效率操作系统还有一些网络协议,因此嵌入式是可以上网的,提供了大量的网络资源,实现远程控制。
   操作系统发展未来趋势:做专有的小型操作系统
   建议学习的操作系统:RT-Thread,Lite OS(华为),One OS(移动),Tuya OS(涂鸦智能)

a.·嵌入式操作系统有哪些:

按收费模式划分:商用型:                       Vxworks,Nucleux,PlamOS,Symbian,WinCE,QNX,pSOS,VRTX,LynxOX,Hopen,Delta OS免费型:
Linux,μCLinux,μC/OS-II,eCos,uITRON
按实时性划分:硬实时:Vxworks软实时:WinCE,RTLinux无实时:Embedded Linux

b.嵌入式操作系统详细介绍:

   1. 国外著名的实时操作系统国外实时操作系统已经从简单走向成熟,有代表性的产品主要有VxWorks,QNX,Palm OS,Windows CE等,占据了机顶盒、PDA等的绝大部分市场。
(1) VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。在美国的F-16、FA-18战斗机,B-2隐形轰炸机和爱国者导弹上,甚至连19974月在火星表面登陆的火星探测器上也使用了VxWorks。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,Sun Sparc,Moto--rola MC68xxx,MIPS RX000,Power PC, ARM , StrongARM等。大多数的VxW---orksAPI是专有的。
(2) QNX
QNX是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b 实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4.x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。
POSIX 表示可移植操作系统接口(Portable Operating SystemInterface,缩写为POSIX 是为了读音更像UNIX)
电气和电子工程师协会(IEEE)最初开发POSIX 标准,是为了提高UNIX 环境下应用程序的可移植性。
然而,POSIX 并不局限于UNIX.许多其它的操作系统,例如DEC OpenVMS 和Windows NT ,都支持POSIX标准,尤其是IEEE Std.1003.1-1990(1995 年修订)或POSIX.1, POSIX.1 提供了源代码级别的C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件.
POSIX.1 已经被国际标准化组织(ISO)所接受,被命名为ISO/IEC 9945-1:1990 标准。
POSIX 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。POSIX 与IEEE 10032003 家族的标准是可互换的
(3) Palm OS3Com公司的Palm OS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。目前共有3500多个应用程序可以运行在Palm Pilot上。其中大部分应用程序均为其他厂商和个人所开发,使Palm Pilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在Windows 95/98/NT以及Macintosh下安装Palm Pilot Desktop。 Palm Pilot可以与流行的PC平台上的应用程序(如Word,Excel等)进行数据交换。
(4) Windows CEMicrosoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200KB的ROM。
(5) LynxOSLynx Real-time Systems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a,POSIX.1b和POSIX.1c标准。LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存, 一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。Motif 是开放软件基金(OSF)于1989年推出的一个图形用户界面系统。
由于它融合了多种图形用户界面产品中的优点,因此得到了 OSF 的所有成员及广大第三方厂商的广泛支持。
目前 Motif 已作为软件产品在 OS/2、Unix、Sys V、OSF/1、VMS、Macintosh OS、Ultrix 等48中操作系统平台上实现,并可在PC、工作站、小型机和大型机等各种计算机系统上运行。
为了讲清楚 Motif 是什么概念.先讲一下图形用户界面系统的层次结构(详细的知识大家查阅),一般的图形用户界面系统由六个层次构成:桌面管理系统、用户模型、窗口模型、显示模型、操作系统、硬件平台.Motif 位于用户模型层.它建立在 X Window 系统之上,也就是说它以 X Window 系统做显示模型的窗口模型。 Motif 由工具箱(Motif Toolkit)、用户界面语言(UI-L)、窗口管理程序(MWM)、风格指南文档(Style Guide)等四部分组成:
Motif Toolkit 是一个具体的 X Toolkit 产品,它包括 Xt Intrinsics、Motif 对象元类集合和操纵这个对象元类集合的简便函数等三个部分。
利用 Motif 开发的应用程序通常可分为两个部分:一部分是有关应用程序界面的代码;另一部分是关于应用程序具体功能的代码。一般来说,应用程序中这两个部分是不会相互干扰的。比如说菜单项位置的变动、标图的更换就都不会影响应用程序的功能。基于上述事实,Motif 引入了用户界面语言来解决用户界面的描述问题。
3.象其他窗口管理程序一样,Motif 的窗口管理程序提供了一个对屏幕上的窗口进行管理的手段,同时它页强化了用户界面视感的一致性.MWM 支持 Motif 风格指南所描述的各种窗口操作及显示窗口时的各种约定。
4.Motif 的风格指南以文档的形式说明了在 Motif 环境下开发应用程序时应遵守的规范。
(6) 嵌入式Linux
随着Linux的迅速发展,嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux)和一般的嵌入式Linux 版本(如uClinux和Pocket Linux等)。
其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务又保证强实时性能的目的。
另一种常用的嵌入式Linux是uClinux,它是针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,它对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。
由于嵌入式系统越来越追求数字化、网络化和智能化,因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,因为要达到上述要求,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。
Linux主要特点如下:
Linux是开放源码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾;
Linux的内核小、功能强大、运行稳定、系统健壮、效率高;
Linux易于定制裁剪,在价格上极具竞争力;
Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片;
有大量的且不断增加的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境;Linux沿用了Unix的发展方式,遵循国际标准,可以方便地获得众多第三方软硬件厂商的支持;Linux内核的结构在网络方面是非常完整的,它提供了对十兆/百兆/千兆以太网、无线网络、令牌网、光纤网、卫星网等多种联网方式的全面支持。
在图像处理、文件管理及多任务支持等诸多方面,Linux的表现也都非常出色,不仅可以充当嵌入式系统的开发平台,本身也是嵌入式系统应用开发的好工具。
(7) uC/OS
uC/OS是源码公开的实时嵌入式操作系统。
uC/OS-Ⅱ的主要特点如下:
公开源代码,系统透明,很容易就能把操作系统移植到各个不同的硬件平台上。
可移植性强,uC/OS-Ⅱ绝大部分源码是用ANSI C写的,可移植性 (Portable)较强。而与微处理器硬件相关的那部分是用汇编语言写的,已经压到最低限度,使得uC/OS-Ⅱ 便于移植到其他微处理器上。
可固化,uC/OS-Ⅱ是为嵌入式应用而设计的,这就意味着,只要开发者有固化(ROMable) 手段 (C编译、连接、下载和固化) ,uC/OS-Ⅱ可以嵌入到开发者的产品中成为产品的一部分。
可裁剪,通过条件编译可以只使用uC/OS-Ⅱ中应用程序需要的那些系统服务程序,以减少产品中的uC/OS-Ⅱ所需的存储器空间 (RAM和ROM) 。
占先式,uC/OS-Ⅱ完全是占先式 (Preemptive) 的实时内核,这意味着uC/OS-Ⅱ总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的,uC/OS-Ⅱ在性能上和它们类似。
实时多任务,uC/OS-Ⅱ不支持时间片轮转调度法 (Round-roblin Scheduling) 。 该调度法适用于调度优先级平等的任务。
可确定性,全部uC/OS-Ⅱ的函数调用与服务的执行时间具有可确定性。
由于uC/OS-II仅是一个实时内核,这就意味着它不像其他实时操作系统那样提供给用户的只是一些API函数接口,有很多工作往往需要用户自己去完成。
把uC/OS-Ⅱ移植到目标硬件平台上也只是系统设计工作的开始,后面还需要针对实际的应用需求对uC/OS-Ⅱ进行功能扩展,包括底层的硬件驱动、文件系统、用户图形接口 (GUI) 等,从而建立一个实用的RTOS。2. 国内著名的实时操作系统国内的实时操作系统研究开发有两种类型。一类是中国自主开发的实时操作系统,如电子科技大学嵌入式实时教研室和科银公司联合研制开发的实时操作系统Delta OS (道系统) 、凯思公司的Hopen OS (女娲计划) 、中科院北京软件工程研制中心开发的CASSPDA以及浙江大学自行研制开发的嵌入式操作系统HBOS等;另一类是基于国外操作系统二次开发完成的,这类操作系统大多是专用系统,在此就不对这类系统进行介绍了。
(1) DeltaOS
DeltaOS是电子科技大学嵌入式实时教研室和科银公司 (专门从事嵌入式开发) 联合研制开发的全中文的嵌入式操作系统,提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变,绝大部分的代码由C语言编写,具有很好的移植性。
它适用于内存要求较大、可靠性要求较高的嵌入式系统,主要包括嵌入式实时内核DeltaCORE、嵌入式TCP/IP组件DeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形接口DeltaGUI 等。
同时,它还提供了一整套的嵌入式开发套件LamdaTOOL,是国内嵌入式领域内不可多得的一整套嵌入式开发应用解决方案,已成功应用于通信、网络、信息家电等多个应用领域。
(2) Hopen OS
Hopen OS是凯思集团自主研制开发的实时操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心Hopen Kernel的规模一般为10KB左右,占用空间小,并具有实时、多任务、多线程的系统特征。
(3) EEOS
EEOS是中科院计算所组织开发的开放源码的实时操作系统。该实时操作系统重点支持p-Java,要求一方面小型化,一方面能重用Linux的驱动和其他模块。
中科院计算所将在2-3年内持续加大投资,以期将其扩展成能力强,功能完善,且稳定、可靠的嵌入式操作系统平台。这包含E2实时操作系统、E2工具链及E2仿真开发环境的完整环境。
(4) HBOS
HBOS系统是浙江大学自主研制开发的全中文实时操作系统。它具有实时、多任务等特征,能提供浏览器、网络通信和图形窗口等服务;可供进行一定的定制或二次开发;能为应用软件开发提供API接口支持;可用于信息家电、智能设备和仪器仪表等领域开发应用。
在HBOS系统平台下,已经成功地开发出机顶盒和数据采集等系统。

2、嵌入式优点

1. 是“专用”的计算机系统嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算机平台,是“专用”的计算机系统2. 运行环境差异大嵌入式系统无处不在,但运行环境差异很大,可运行在飞机上、冰天雪地的两极中、骄阳似火的汽车里、要求温度恒定的实验室等,特别是在恶劣的环境或突然断电的情况下,要求系统仍然能正常工作。3. 比通用PC系统资源少通用的PC系统有数不胜数的系统资源,可轻松的完成各种工作,嵌入式形系统由于是专用来执行很少的几个确定任务,它所能管理的资源比通用PC系统少很多4. 功耗低、体积小、集成度高、成本低嵌入式系统嵌入到对象体中,对对象环境和嵌入式系统自身具有严格的要求,一般嵌入式系统具有功耗低、体积小、集成度高、成本低等特点。5. 具有系统测试和可靠性评估体系建立完整的嵌入式系统的系统测试和可靠性评估体系、保证嵌入式系统高效、可靠稳定的工作。6. 具有较长的生命周期嵌入式系统是和实际具体应用有机结合的产物,它的升级换代也是和具体产品同步进行的,因此一旦定型进入市场,一般具有较长的生命周期。7. 具有固化在非易失性存储器中的代码嵌入式系统的目标代码通常是固化在非易失性存储器和芯片中,嵌入式系统开机后,必须有代码对系统进行初始化,以便其余代码能正常运行,为了系统初始化几乎所有系统都要在非易失性存储器中存放部分代码。8. 使用实时操作系统RTOS嵌入式系统使用的操作系统一般是实时操作系统RTOS,系统有实时结束。9.需要专用开发工具和方法进行设计从调试的观点看,代码在ROM中意味着调试器不能在ROM中设置断点,要设置断点,调试器必须能够用特殊指令取代用户指令,嵌入式调试已发展出支持嵌入式系统开发过程的专用工具套件。10.包含专用调试电路目前常用的嵌入式微处理器叫过去相比,最大区别是芯片上都包含专用调试电路,如ARM的Embedded ICE。芯片必须能够提供很好的嵌入式测试方案,解决嵌入式调试问题。这样才能使面临上市压力的应用开发者在考虑其嵌入式系统芯片时,采用这些厂商芯片。

3、嵌入式开发学习路线

嵌入式了解 以及学习路线相关推荐

  1. 嵌入式驱动工程师学习路线【建议收藏】

    网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生. 一口君曾经是某见的教学总监 ...

  2. ARM嵌入式开发板学习路线指引

    如何入门嵌入式?嵌入式开发学习方法步骤  如何入门嵌入式?嵌入式开发学习路线指引  嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android.  平台:Cortex-A9 ...

  3. 嵌入式系统开发-学习路线

    嵌入式系统开发 课程链接 随着嵌入式设备的普及,嵌入式应用的需求量也随之增大,本课程将重点培养基于linux系统下的嵌入式应用开发,包括5个阶段,其中课程涵盖了linux系统下的多进程.多线程嵌入式开 ...

  4. 嵌入式Linux学习路线

    最近比较忙,对于嵌入式的相关学习一直没有很好的开展.今天也看了不少的嵌入式Linux的学习路线,也和几个工作过的朋友聊了聊,想把之后的学习过程记录下来. 自己以后想从事驱动开发这方面的工作,因为大多数 ...

  5. 小智学长嵌入式入门学习路线_1 C语言基础

    原课程链接: 嵌入式开发系统学习路线 从基础到项目 精品教程 单片机工程师必备课程 物联网开发 c语言 2022追更 前言 在学习过程中,老师提到了一个很重要的思想:主要从学习嵌入式的角度学习各项技能 ...

  6. 嵌入式学习路线——解惑

    你是否在嵌入式学习过程中有很多疑惑,不知道从哪里开始,不知道怎么学一些列问题,在这里给了部分解答,一起去看看 问题一 初学者学习C语言什么时候才能写出像JAVA一样.WEB一样.QT C++一样.py ...

  7. 嵌入式Linux应用开发学习路线--自用

    嵌入式Linux应用开发学习路线–自用 嵌入式应用开发路线: 对于有简单的ST32基础和AD基础的人比较合适 个人理解: 先按照韦东山老师的思路,学下来,建议一个基本的框架,然后根据嵌入式Linux应 ...

  8. 【干货分享】嵌入式学习路线公开!(书籍推荐+视频推荐+练手项目)

    哈喽,大家好,我是仲一.最近有小伙伴在微信私信我,如何学习嵌入式.一直想写一篇学习路线的文章,由于各种原因拖到了现在.趁着国庆节在家,终于肝完了这篇文章. 我个人是从STM32转到驱动开发的,在研二的 ...

  9. 0. 嵌入式入门学习路线

    最近有好多同学在咨询嵌入式该怎么入门,应该怎么学习,有什么好的学习方法推荐,以及嵌入式入门的学习路线.今天我就带着大家的问题,一一为大家解决. STM32基础入门 uCOS-II基础入门 文末有相关学 ...

最新文章

  1. java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期...
  2. Java开发软件安装及配置
  3. UINavigationBar 上面添加多个按钮
  4. 终结“永恒之蓝”后,再战“永恒之黑”
  5. 2019年GitHub上最热门的Java开源项目
  6. 网页内置html5游戏,爽爆HTML5网页游戏!教你怎么精选浏览器
  7. 如何实现消息功能_如何实现微信小程序的轮盘抽奖功能
  8. python期望输出隐藏_【归纳综述】马尔可夫、隐马尔可夫 HMM 、条件随机场 CRF 全解析及其python实现...
  9. mysql 函数无法访问_mysql 中出现:不能打开到主机的连接,在端口3306: 连接失败...
  10. java证明角谷猜想_Java 代码界 3% 的王者?看我是如何解错这 5 道题的
  11. 第六章jQuery选择器
  12. listview刷新
  13. 需求分解与需求跟踪矩阵
  14. 中国移动校招面试( 计算机、大数据、通信专业相关岗位)一面
  15. 可变剪切的意义和重要性
  16. 基于AR眼镜有哪类功能可实现?
  17. 10分钟了解何为ECharts
  18. 【BZOJ 3894】 文理分科
  19. Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
  20. php 算生存曲线,生存曲线(三):统计分析方法这么多,到底选哪个?

热门文章

  1. macbook或mac Apple ID 更新提示连接服务器出错
  2. 华硕笔记本进入pe系统-华硕电脑从U盘启动-实测有效-转载--记录用
  3. Vue3+Naive踩坑
  4. mac无法连接手机进行调试解决方法
  5. CLIP改进工作串讲(上)
  6. P1359 租用游艇 洛谷
  7. 装完系统还要装什么_Win7安装完成之后需要优化什么?让win7更加轻快
  8. Ubuntu安装拼音输入法
  9. 卖NFT表情包赚上百万,区块链技术终于找到了真正价值?
  10. 从数字0~99999中,数字“8”一共出现了多少次