一种嵌入式平台系统抽象及标准接口的制作方法

文档序号:37493065发布日期:2024-04-01 14:01阅读:16来源:国知局
一种嵌入式平台系统抽象及标准接口的制作方法

本发明涉及一种嵌入式平台系统抽象及标准接口,属于嵌入式平台接口。


背景技术:

1、目前常见的嵌入式实时操作系统主要有freertos、uc/os-ii、uc/os-iii、rt-thread、vxworks、nucleus,qnx、rtems等,常见的嵌入式实时操作系统介绍如下:

2、1、vxworks

3、是美国windriver公司于1983年设计开发的高性能、可扩展的实时操作系统,具有嵌入实时应用中最新一代的开发和执行环境,支持市场上几平所有的处外理器,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演戏、弹道制导、飞机导航等

4、2、nucleus

5、是美国accelerated technology incorporated公司研发的产品,是世界上最受欢迎的嵌入式操作系统之一,其特点是约95%的代码用ansi c编写,因此非常便于移植并能够支持大多数类型的处理器,同时可提供网络、图形用户界面、文件系统等模块支持。

6、3、qnx

7、是加拿大qnx公司出品的一种商用的、遵从posix标准规范的类unix实时操作系统。qnx是最成功的微内核操作系统之一,在汽车领域得到了极为广泛的应用,如保时捷跑车的音乐和媒体控制系统和美国陆军无人驾驶crusher坦克的控制系统,还有rim公司的blackberryplaybook平板电脑。具有独一无二的微内核实时平台,实时、稳定、可靠、运行速度极快。

8、4、windows ce

9、是美国microsoft公司推出的嵌入式操作系统,支持众多的硬件平台,其最主要特点是拥有与桌上型windows家族一致的程序开发界面,因此,桌面操作系统windows家族开发的程序可以直接在windows ce上运行,主要应用于pda(个人数字助理)、平板电脑、智能手机等消费类电子产品。但嵌入式操作系统追求高效、节省,windows ce在这方便是笨拙的,它占用内存过大,应用程序庞大。

10、5、rt-linux

11、是美国墨西哥理工学院开发的基于linux的嵌入式实时操作系统,是一款提供源代码、开放式自由软件。rt-linux使用了精巧的内核,并把标准的linux核心作为实时核心的一个进程,同用户的实时进程一起调度。这样对linux内核的改动非常小,并且可以充分利用linux下现有的主富的软件资源。

12、6、uc/oc-ii

13、前身是uc/os,最早于1992年由美国嵌入式系统专家设计开发,目前uc/os-iii也已面世。uc/osii具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可以编译至2kb。uc/os-ii已经移植到了几乎所有知名的cpu上,uc/os-i也是在国内研究最为广泛的嵌入式实时操作系统之一。

14、7、freertos

15、是一个使用迷你内核的小型嵌入式实时操作系统。由于嵌入式实时操作系统需占用一定的系统资源(尤其是ram资源),只有qnx、uc/os-i、freertos等少数实时操作系统能在小ram单片机上运行,相对qnx、uc/os-i等商业操作系统,freertos操作系统是完全开源的操作系统,具有代码公开、可移植、可裁剪、调度策略灵活的特点,可以方便地移植到各种单片机上运行。

16、8、rt-thread

17、我国在对嵌入式实时操作系统的研发中也取得了一定的成果。由中国开源社区主导开发的rt-thread,不仅包含一个实时操作系统内核,更有完整的应用生态体系,包含了与嵌入式实时操作系统相关的各个组件:tcp/p协议栈,文件系统,libc接口,图形用户界面等,具有相当大的发展潜力。

18、9、mqx

19、最早源于位于加拿大渥太华市的一家公司。mqx在加载了系统内核、中断管理系统、信号量、队列及存储管理系统等基本服务的情况下,仅占用6kb的rom存储空间,硬件资源开销较小。mqx同uc/os-ii规模相近,但无论从用户体验上还是系统服务的丰富程度上都远超uc/os-i.

20、10、都江堰操作系统(diyos)

21、都江堰操作系统,简称diyos,得名于一个伟大的水利工程:都江堰

22、与传统操作系统不同,divos不是以线程而是以事件为调度核心,这种调度算法使程序员摆脱模拟计算机执行过程编写程序的思维方式,而是按人类认知世界的方式编写应用程序,就如同在嵌入式编程中引入了vc似的。dyos的调度算法使程序员可以摆脱线程和进程的束缚,djyos没有有关线程的api,一个完全不懂线程知识的程序员也可以顺利地在diyos下编写应用程序。djyos操作系统是以事件为核心进行调度的,这种调度策略使程序员可以按人类认知事物的习惯而不是计算机的习惯来编程。

23、各类操作系统有开源免费的,也有付费的,有功能强大的,也有功能简单灵巧的,开发人员需要根据不同的应用场景选择适合的系统,应用和驱动程序与操作系统存在着较强的依赖关系。

24、常见的嵌入式系统中存在这各种各样的、数量不一的设备,如rtc、tty、gpio、ad等等,每种设备都有自己的特点,访问形式多样,并且不同cpu的bsp提供的设备访问接口不统一。这样驱动程序针对不同的cpu,需要重复开发,增加了工作量。

25、另外嵌入式系统中可能使用的文件系统众多,如yaffs、ramfs、fatfs、nfs等,由于文件系统较多,操作系统往往不能很好支持多文件系统场景。

26、因此,常见的嵌入式系统存在以及技术问题:

27、1、应用和驱动程序不可移植。

28、应用、驱动程序与操作系统实体之间存在依赖性,更换操作系统时需重新开发相应的应用和驱动程序,时间周期长,开发成本高。

29、2、操作系统对多文件系统场景支持性待提高。

30、文件系统是指在一个物理设备上的任何文件组织和目录,它构成了操作系统上所有数据的基础,程序库、系统文件和用户文件都驻留其中,因此,它是系统中庞大复杂且又是最为基本和重要的资源。嵌入式系统中可能使用的文件系统众多,如yaffs、ramfs、fatfs、nfs等,不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。由于文件系统众多,实际运行过程操作系统存在出错的情况,如系统不能从指定设备上挂载根文件系统导致的启动失败等。保护装置对于可靠性要求极高,操作系统出错时如遇电网故障极易导致故障扩大,对社会造成不利影响。


技术实现思路

1、本发明要解决的技术问题是:提供一种嵌入式平台系统抽象及标准接口,以解决上述现有技术中存在的技术问题。

2、本发明采取的技术方案为:一种嵌入式平台系统抽象及标准接口,包括操作系统抽象接口、设备驱动及设备操作接口以及文件系统及文件操作接口,

3、所述操作系统抽象接口用于给应用程序、驱动模块与不同的操作系统之间提供通用抽象接口;

4、所述设备驱动及设备操作接口用于给不同的设备提供通用的设备操作标准接口;

5、所述文件系统及文件操作接口用于给应用程序与实际文件系统之间提供通用的抽象接口。

6、优选的,操作系统抽象接口包括任务管理接口、时钟管理接口、定时器管理接口、内存管理接口以及中断管理接口。

7、优选的,设备驱动及设备操作接口包括设备的注册接口、设备的打开接口、设备的关闭接口、设备的读写接口、设备的控制接口、设备状态获取接口。

8、优选的,通过对每类设备进行抽象,提取出一些共同的特性,依据这些共同特性设计每类设备的设备抽象层;对于标准设备,设备驱动及设备操作接口可以对设备直接进行管理;对于总线类设备,设备驱动及设备操作接口由使用总线的其他设备调用;对于不适合采用设备驱动及设备操作接口统一管理的,则直接使用设备抽象层提供的设备操作接口。

9、优选的,所述文件系统及文件操作接口包括fopen、fclose、fread、fwrtite、fioctl、fflush、fsync以及fseek。

10、优选的,文件系统包括yaffs、ramfs、fatfs以及nfs。

11、优选的,设备包括rtc、tty、gpio以及ad。

12、优选的,总线类设备包括iic、spi。

13、本发明的有益效果:

14、1、与现有技术相比,本发明应用和驱动程序可移植操作系统抽象接口可适应常见的freertos、uc/os-ii、uc/os-iii、rt-thread、vxworks、nucleus,qnx、rtems各类操作系统,当更换操作系统时,不会影响到应用和驱动模块等部分的代码,应用和驱动的模块代码直接依赖于这套通用的抽象接口。

15、2、现有技术相比,本发明操作系统对多文件系统场景支持性更强,mslfs虚拟文件系统为了能够支持各种实际文件系统,定义所有文件系统都支持的基本的、概念上的接口和数据结构;同时实际文件系统也提供mslfs所期望的抽象接口和数据结构,将自身的诸如文件、目录等概念在形式上与mslfs的定义保持一致。在mslfs层、系统的其他部分和应用看来,所有文件系统都是相同的。

16、3、现有技术相比,本发明标准设备操作接口,通过对每类设备接口进行抽象,提取出一些共同的特性,依据这些共同特性设计每类设备的设备抽象层。通用的标准设备操作接口主要包括:设备的注册接口、设备的打开接口、设备的关闭接口、设备的读写接口、设备的控制接口、设备状态获取接口等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1