CN109375955A - 一种同种cpu适配不同操作系统的方法 - Google Patents
一种同种cpu适配不同操作系统的方法 Download PDFInfo
- Publication number
- CN109375955A CN109375955A CN201811294858.8A CN201811294858A CN109375955A CN 109375955 A CN109375955 A CN 109375955A CN 201811294858 A CN201811294858 A CN 201811294858A CN 109375955 A CN109375955 A CN 109375955A
- Authority
- CN
- China
- Prior art keywords
- cpu
- operating system
- different operating
- software
- same race
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Abstract
本发明公开一种同种CPU适配不同操作系统的方法,该方法通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能,实现了同种CPU适配不同操作系统。本发明以软件代替CPU相应的硬件设计,软件基础库可扩展,不仅减少了硬件成本,而且更加灵活。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及一种同种CPU适配不同操作系统的方法。
背景技术
在设计CPU(中央处理器)或为CPU适配不同操作系统时,需要考虑硬件实现的功能,而硬件功能依赖于硬件设计,但是硬件生产后就难以更改,因此在适配不同的操作系统时,需要针对相应的硬件修改或重新实现对应的代码,如果硬件设计出现问题,就会导致某些操作系统无法适配。
发明内容
本发明的目的在于通过一种同种CPU适配不同操作系统的方法,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种同种CPU适配不同操作系统的方法,其包括:设置一软件基础库;通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能。
特别地,所述软件基础库代码采用标准的CPU指令集以及其特定的扩展指令集。
特别地,所述特定的扩展指令集提供用于访问底层芯片的功能。
特别地,所述访问底层芯片的功能包括但不限于状态修改、控制寄存器的修更改和读写。
特别地,所述软件基础库代码通过标准的CPU指令集及其特定的扩展指令集为上层软件提供:一、内存管理功能;二、进程上下文切换功能;三、中断和异常处理功能;四、上电初始化功能;五、控制台功能;六、原子操作功能。
本发明提出的同种CPU适配不同操作系统的方法通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能,实现了同种CPU适配不同操作系统。本发明以软件代替CPU相应的硬件设计,软件基础库可扩展,不仅减少了硬件成本,而且更加灵活。
附图说明
图1A和图1B为本发明实施例提供的同种CPU适配不同操作系统的方法原理示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例,不是旨在于限制本发明。
请参照图1A和图1B所示,图1A和图1B为本发明实施例提供的同种CPU适配不同操作系统的方法原理示意图,图中的基础库即指下文的软件基础库;硬件平台指指包含CPU的硬件主板。
本实施例中同种CPU适配不同操作系统的方法具体括:设置一软件基础库;通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能,其中修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能的原理如下:BLCode固化在ROM中,在系统加电后,由初始化程序将BLCode加在到内存的固定区域,同时BLCode提供了统一调用接口由操作系统或嵌入式软件调用,操作系统和嵌入式软件不用关心接口是如何具体实现的。在本实施例中所述软件基础库代码(Basic Library Code,BLCode)采用标准的CPU指令集以及其特定的扩展指令集。所述特定的扩展指令集提供用于访问底层芯片的功能,其中,特定的扩展指令集是由具体CPU厂商提供。在本实施例中所述访问底层芯片的功能包括但不限于状态修改、控制寄存器的修更改和读写。
所述软件基础库代码通过标准的CPU指令集及其特定的扩展指令集为上层软件如操作系统、应用软件、嵌入式软件提供:一、内存管理功能;二、进程上下文切换功能;三、中断和异常处理功能;四、上电初始化功能;五、控制台功能;六、原子操作功能。
本发明的技术方案通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能,实现了同种CPU适配不同操作系统。本发明以软件代替CPU相应的硬件设计,软件基础库可扩展,不仅减少了硬件成本,而且更加灵活。其中,所述操作系统包括但不限于Linux、OpenBSD等。所述嵌入式软件特指没有运行在操作系统之上的软件。
本领域普通技术人员可以理解实现上述实施例中的全部部分是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (5)
1.一种同种CPU适配不同操作系统的方法,其特征在于,包括:设置一软件基础库;通过修改所述软件基础库为不同的操作系统或嵌入式软件提供不同的硬件功能。
2.根据权利要求1所述的同种CPU适配不同操作系统的方法,其特征在于,所述软件基础库代码采用标准的CPU指令集以及其特定的扩展指令集。
3.根据权利要求2所述的同种CPU适配不同操作系统的方法,其特征在于,所述特定的扩展指令集提供用于访问底层芯片的功能。
4.根据权利要求3所述的同种CPU适配不同操作系统的方法,其特征在于,所述访问底层芯片的功能包括但不限于状态修改、控制寄存器的修更改和读写。
5.根据权利要求4所述的同种CPU适配不同操作系统的方法,其特征在于,所述软件基础库代码通过标准的CPU指令集及其特定的扩展指令集为上层软件提供:一、内存管理功能;二、进程上下文切换功能;三、中断和异常处理功能;四、上电初始化功能;五、控制台功能;六、原子操作功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294858.8A CN109375955A (zh) | 2018-11-01 | 2018-11-01 | 一种同种cpu适配不同操作系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294858.8A CN109375955A (zh) | 2018-11-01 | 2018-11-01 | 一种同种cpu适配不同操作系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109375955A true CN109375955A (zh) | 2019-02-22 |
Family
ID=65396973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811294858.8A Pending CN109375955A (zh) | 2018-11-01 | 2018-11-01 | 一种同种cpu适配不同操作系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109375955A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142940A (zh) * | 2019-12-23 | 2020-05-12 | 成都海光微电子技术有限公司 | 处理器与软件的适配方法、装置、处理器、芯片和设备 |
CN111240752A (zh) * | 2019-12-31 | 2020-06-05 | 北京元心科技有限公司 | 操作系统自适配方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877521A (zh) * | 2006-06-30 | 2006-12-13 | 浙江大学 | 跨操作系统的嵌入式系统板级支持包的实现方法 |
US20070300238A1 (en) * | 2006-06-21 | 2007-12-27 | Leonidas Kontothanassis | Adapting software programs to operate in software transactional memory environments |
CN101551747A (zh) * | 2009-04-09 | 2009-10-07 | 怯肇乾 | Arm系列微处理器的软件体系架构工具 |
CN102207887A (zh) * | 2011-05-04 | 2011-10-05 | 中兴通讯股份有限公司 | 一种嵌入式操作系统快速移植方法及其装置 |
CN103282875A (zh) * | 2010-10-01 | 2013-09-04 | Flex Electronics ID Co.,Ltd. | 多操作系统 |
-
2018
- 2018-11-01 CN CN201811294858.8A patent/CN109375955A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300238A1 (en) * | 2006-06-21 | 2007-12-27 | Leonidas Kontothanassis | Adapting software programs to operate in software transactional memory environments |
CN1877521A (zh) * | 2006-06-30 | 2006-12-13 | 浙江大学 | 跨操作系统的嵌入式系统板级支持包的实现方法 |
CN101551747A (zh) * | 2009-04-09 | 2009-10-07 | 怯肇乾 | Arm系列微处理器的软件体系架构工具 |
CN103282875A (zh) * | 2010-10-01 | 2013-09-04 | Flex Electronics ID Co.,Ltd. | 多操作系统 |
CN102207887A (zh) * | 2011-05-04 | 2011-10-05 | 中兴通讯股份有限公司 | 一种嵌入式操作系统快速移植方法及其装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142940A (zh) * | 2019-12-23 | 2020-05-12 | 成都海光微电子技术有限公司 | 处理器与软件的适配方法、装置、处理器、芯片和设备 |
CN111240752A (zh) * | 2019-12-31 | 2020-06-05 | 北京元心科技有限公司 | 操作系统自适配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364189B (zh) | 在操作系统协助下实现运行时间处理器迁移的方法和装置 | |
CN108459898B (zh) | 一种资源回收方法及装置 | |
KR102047769B1 (ko) | 메모리 가상화 기반 스냅샷 부트 장치 및 방법 | |
US20090307292A1 (en) | Dynamically changing a garbage collector in a managed runtime system | |
CN109375955A (zh) | 一种同种cpu适配不同操作系统的方法 | |
US20140304497A1 (en) | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium | |
CN111033466A (zh) | 对闪存进行分区以及实现具有映像升级能力的灵活引导 | |
US20200097201A1 (en) | Dynamic configuration of memory timing parameters | |
CN102103555A (zh) | 一种usb设备的端口切换方法和系统 | |
CN112905365B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN104484289B (zh) | 一种基于扇区的嵌入式系统写保护的装置以及方法 | |
CN1225689C (zh) | 开放式结构机器人控制器 | |
CN102207905A (zh) | 系统恢复方法、存储媒体控制器及存储系统 | |
KR20080045833A (ko) | 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템 | |
CN104268097A (zh) | 一种元数据处理方法及系统 | |
CN102799490B (zh) | 一种实现一对多的进程间通信的系统和方法 | |
CN111797390B (zh) | 程序运行方法、装置、电子设备及计算机可读存储介质 | |
CN110244964B (zh) | 一种基于运维应用的运维方法、运维方法、装置及设备 | |
EP3028141A1 (en) | Generating a second code from a first code | |
CN102236615B (zh) | 用单个外围设备应用代码控制多个外围设备的系统和方法 | |
CN111399780B (zh) | 一种数据的写入方法、装置以及设备 | |
CN105760776A (zh) | 一种数据处理方法及电子设备 | |
CN101849214B (zh) | 用于操作自动化系统的方法和系统 | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN111506389A (zh) | 一种虚拟机启动方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190222 |
|
RJ01 | Rejection of invention patent application after publication |