[发明专利]一种支持多操作系统加载的方法及加载器在审
申请号: | 201611166728.7 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106598602A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 张尧学;郭慧;任炬;刘亚萍;陈娅芳;李政军 | 申请(专利权)人: | 中南大学;湖南提奥信息技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 赵洪,蒋维特 |
地址: | 410083 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 操作系统 加载 方法 | ||
技术领域
本发明涉及智能终端系统加载技术领域,尤其涉及一种支持多操作系统加载的方法及加载器。
背景技术
随着物联网技术的飞速发展,智能终端设备的种类越来越多,终端设备需求的功能也越来越丰富,目前适用于智能终端上的操作系统的种类和版本多种多样,例如FreeRTOS、uCOS、TinyOS等等。这些具有实时操作系统的智能终端设备,无论是可穿戴设备,还是物联网中的终端,其功能都是更加出色的,其扩展性更是那些无操作系统的终端所无法比拟的。
但是,在各种智能终端操作系统的发展过程中,由于不同操作系统之间的差异,使得它们的使用侧重点也越来越明显。而智能终端设备往往只能固定的加载一种操作系统,如果需要更换操作系统,只能通过刷机实现,无法根据用户的需求随时选择不同的操作系统。并且,由于智能终端设备的加载器只能提供一种操作系统的API接口,因此,即使通过刷机可以刷写不同的操作系统,但这些不同的操作系统只能是同一操作系统的不同版本,无法真正做到对任意操作系统的支持。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种不需要通过刷机,即可以实现对多种操作系统支持,可方便的实现不同类型操作系统在智能终端的部署,部署效率高,使用方便的支持多操作系统加载的方法及加载器。
为解决上述技术问题,本发明提出的技术方案为:一种支持多操作系统加载的方法,包括:
S1. 加载器获取底层硬件设备的API接口;
S2. 加载器在所述API接口的上层将所述API接口标准化为对应不同操作系统的操作系统API接口;
S3. 加载器将所述操作系统API接口提供给操作系统层,供操作系统直接调用。
作为本发明的进一步改进,在所述步骤S1中,还包括所述加载器对底层硬件设备的初始化。
作为本发明的进一步改进,所述底层硬件设备的API接口包括无线网络接口和透明计算协议接口。
一种支持多操作系统加载的加载器,包括底层接口获取层,中层接口转换层和顶层接口暴露层;所述底层接口获取层用于获取底层硬件设备的API接口,所述中层接口转换层用于将所述底层硬件设备的API接口标准化为对应不同操作系统的操作系统API接口,所述顶层接口暴露层用于将所述操作系统API接口提供给具体的操作系统直接调用。
作为本发明的进一步改进,所述底层接口获取层还用于对底层硬件设备的API接口进行初始化。
作为本发明的进一步改进,所述底层硬件设备的API接口包括无线网络接口和透明计算协议接口。
与现有技术相比,本发明的优点在于:本发明不需要通过刷机,即可以实现对多种操作系统支持,可方便的实现不同类型操作系统在智能终端的部署,具有部署效率高,使用方便等优点。
附图说明
图1为本发明具体实施例流程示意图。
图2为本发明具体实施例结构示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例的支持多操作系统加载的方法,包括:S1. 加载器获取底层硬件设备的API接口;S2. 加载器在API接口的上层将API接口标准化为对应不同操作系统的操作系统API接口;S3. 加载器将操作系统API接口提供给操作系统层,供操作系统直接调用。
在本实施例的步骤S1中,还包括加载器对底层硬件设备的初始化。底层硬件设备的API接口包括无线网络接口和透明计算协议接口。
在本实施例中,以内置Flash接口为例进行具体说明。位于底层的Flash设备需要通过底层的Flash读写驱动程序来实现对Flash设备的读写操作,同时Flash读写驱动将其API接口提供给上层操作系统,供上层操作系统进行调用。
在本实施例中,Flash读写驱动文件Flash.c中的读写函数如下所示:
void CMD_READ( uint32 flash_address, uint8 *target_address, uint32 byte_length )
{
while(IsFlashBusy());
SPI_CS_LOW;
SendByte(FLASH_CMD_READ);
SendFlashAddr(flash_address);
#if USE_SPI_BYTE
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学;湖南提奥信息技术有限公司,未经中南大学;湖南提奥信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611166728.7/2.html,转载请声明来源钻瓜专利网。