CN101894028B - Linux内核镜像数据支持多种CPU的实现方法及装置 - Google Patents
Linux内核镜像数据支持多种CPU的实现方法及装置 Download PDFInfo
- Publication number
- CN101894028B CN101894028B CN200910039620.5A CN200910039620A CN101894028B CN 101894028 B CN101894028 B CN 101894028B CN 200910039620 A CN200910039620 A CN 200910039620A CN 101894028 B CN101894028 B CN 101894028B
- Authority
- CN
- China
- Prior art keywords
- cpu
- arm
- mirror image
- linux kernel
- image data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种Linux内核镜像数据支持多种CPU的实现方法及装置,其中方法包括:预先设置存储索引信息,所述存储索引信息用于查找到多种CPU能够共用的Linux内核镜像数据;预设每种CPU的识别信息;读取待运行的CPU的识别信息,对该CPU做识别处理;并根据所述存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。本发明提供的技术方案有效解决现有技术中存在的Linux内核镜像数据难以支持多种CPU,难以适应嵌入式设备硬件差异的多样性和复杂性的技术问题,让ARM平台的Linux嵌入式系统具有更好的移植性和硬件兼容性。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种Linux内核镜像支持多种CPU的实现方法及装置。
背景技术
通常,ARM(Advanced RISC Machines)平台的嵌入式Linux内核(Kernel)数据在编译完成后,得到的Linux内核镜象数据只适用于一种CPU硬件平台,难以适用于多种CPU。
发明人发现:
现有Linux内核镜象数据难以适用于硬件平台的接口电路及外围器件的不同的应用场景;
对于具有相同ARM核的CPU,不同厂商制造的ARM CPU,其初始化过程不同,现有Linux内核镜象同样难以适用。
因此,现有Linux内核镜象数据由于通常针对特定的CPU设置而成,而难以应对嵌入式设备硬件差异的多样性和复杂性,也使得现有ARM Linux嵌入式设备如智能手机、个人数码助理(PDA)等,难以像个人计算机(PC机)一样,为用户提高统一的用户操作系统,一些情况下给用户造成不便,用户体验不高。并且若该CPU相关环境如硬件电路或外围器件发生改变,则该Linux内核镜像数据将不再适用。
发明内容
本发明提供一种Linux内核镜像数据支持多种CPU的实现方法,解决现有技术中存在的Linux内核镜像数据难以支持多种CPU的技术问题。
为解决上述技术问题,本发明提供一种ARM Linux支持多种CPU的实现方法,包括:
预先设置存储索引信息,所述存储索引信息用于查找到多种CPU能够共用的Linux内核镜像数据;预设每种CPU的识别信息;
读取待运行的CPU的识别信息,对该CPU做识别处理;并根据所述存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。
其中,所述对该CPU做识别处理可包括:
根据该CPU的识别信息,确定用于存放待运行于该CPU上的Linux内核镜像数据的解压目标地址;
根据该CPU的识别信息,获取与所运行的该CPU相匹配的初始化数据。
其中,所述Linux内核镜像数据携带CPU驱动模块;所述对该CPU做识别处理还包括:
所述CPU驱动模块根据该CPU的识别信息,判断是否与该CPU相匹配,,若是,则执行在该CPU上运行所述Linux内核镜像数据的操作,否则,结束流程。
其中,所述预先设置存储索引信息可包括:
在Linux内核源代码树中包含各个独立ARM硬件平台的代码目录区设置通用ARM平台目录;所述通用ARM硬件平台目录用于存放通用ARM硬件平台所需要的Linux内核镜像数据;
在Linux内核源代码树中包含各独立ARM CPU平台头文件的目录区设置通用ARM平台头文件目录;所述ARM平台头文件目录用于存放所有需要支持的ARM CPU通用头文件;
在所述通用ARM平台头文件目录中,根据不同的ARM CPU设置用于存放该ARM CPU的头文件的目录。
其中,所述预设存储索引信息还包括:
在所述通用ARM平台目录中,根据不同的CPU设置用于保存与各ARMCPU相关的初始化及核心代码的目录;设置各ARM CPU平台都需要使用且与各ARM CPU平台相关的公用变量、函数及宏定义等指针化或变量化。
为解决上述技术问题,本发明还提供一种Linux内核镜像数据支持多种CPU的实现装置,其包括:
存储单元,用于存储多种CPU能够共用的Linux内核镜像数据;
识别处理单元,用于读取待运行的CPU的识别信息,对该CPU做识别处理;并根据预设的用于查找存储单元内的所述Linux内核镜像数据的存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。
其中,所述识别处理单元包括:地址选择单元和初始化单元;
所述地址选择单元,用于根据该CPU的识别信息,确定用于存放待运行于该CPU上的Linux内核镜像数据的解压目标地址;
所述存储单元,还存储与各种CPU相关的初始化数据;
所述初始化单元,根据该CPU的识别信息以及所述存储索引信息,从所述存储单元内获取与所运行的该CPU相匹配的初始化数据。
优选地,所述识别处理单元还包括:CPU驱动模块;用于根据该CPU的识别信息,判断是否与该CPU相匹配,得到判断结果;
执行单元,用于根据所述判断结果为是,执行在该CPU上运行所述Linux内核镜像数据的操作,否则,结束操作。
相比较现有技术,本发明提供的技术方案存在以下有益技术效果:
本发明提供的技术方案,通过设置存储索引信息,提供多种CPU能够共用的Linux内核镜像数据;并且通过对不同的CPU做识别处理,获取到适用于该CPU的Linux内核镜像数据,从而实现ARM平台的Linux内核镜像数据对多种CPU的支持,有效解决现有技术中存在的Linux内核镜像数据难以支持多种CPU,难以适应嵌入式设备硬件差异的多样性和复杂性的技术问题,让ARM平台的Linux嵌入式系统具有更好的移植性和硬件兼容性;并能够实现为用户提供统一的操作系统,提高用户体验。
本发明提供ARM Linux内核的平台移植技术,移植完成的Linux内核实用于以ARM9及更高版本的ARM核的CPU嵌入式Linux(非uCLinux)系统应用设备,如PDA、智能手机及其它各种应用Linux系统的设备。
附图说明
图1是现有Linux内核源代码树与各ARM CPU平台之间的关系示意图;
图2是本发明的实施例中ARM Linux支持多种CPU的实现方法流程图;
图3是本发明的实施例中Linux内核源代码树与各ARM CPU平台之间的关系示意图;
图4是本发明的实施例中对CPU的识别处理流程图;
图5是本发明的实施例中ARM Linux支持多种CPU的实现装置。
具体实施方式
本发明提供使ARM Linux能够适用于多种CPU的技术方案,从而有效提高Linux内核镜像的兼容性。
发明人首先分析现有Linux内核镜像技术如下:
现有ARM Linux源代码以开发板为依据组织,不同开发板在Linux内核源代码树中有相对独立的源代码支持,在将Linux源代码编译成二进制内核镜象时,只有与该开发板相关的代码参与编译,而其它ARM平台的代码并不参与编译过程。每种开发板一般是为某一型号的CPU而专门开发的,它保证编译得到的内核镜像在该开发板上的正常工作,但不保证该内核镜象能在其它的硬件平台上也能正常工作,甚至不保证为这套开发板维护的内核代码树能成功编译出其它开发板的内核镜像。
与开发板相关的头文件及部分关健的公用代码也以开发板为依据分类,不同的开发板为内核环境定义不同的参数值,使编译得到的内核镜象只适用于该开发板。参见图1,图1是现有Linux内核源代码树与各ARM CPU平台之间的关系示意图。图1中,Linux内核支持的ARM开发板与ARM CPU成一一对应关系,这样的结构使得编译出的内核镜象与ARM CPU也是成一一对应关系,难以达到同一内核镜象同时支持多种CPU的目的。
下面结合附图对本发明的技术方案做详细说明。
参见图2,图2是本发明的实施例中ARM Linux支持多种CPU的实现方法流程图,该流程可包括步骤:
步骤201、预先设置存储索引信息,所述存储索引信息用于查找到多种CPU能够共用的Linux内核镜像数据;预设每种CPU的识别信息。
本发明的实施例中,设置存储索引信息主要包括:
在Linux内核源代码树中包含各个独立ARM硬件平台的C代码目录区设置新的目录,作为新的通用ARM平台目录,比如在arch/arm/目录下添加类似于mach-generic的目录,在此新的通用ARM硬件平台目录中存放通用ARM硬件平台所需要的公用代码即Linux内核镜像数据;
在Linux内核源代码树中包含各独立ARM CPU平台头文件的目录区设置新的通用ARM平台头文件目录,比如在include/asm-arm/目录中增加arch-generic目录,该目录作为通用ARM平台的头文件目录区,其中存放所有需要支持的ARM CPU通用头文件;
在新增的通用ARM平台头文件目录中,以不同的ARM CPU设置新的目录,如pxa270,omap34xx等,其中包含有关该ARM CPU的头文件。
本发明的实施例中,设置存储索引信息还包括:
在新增的通用ARM平台目录中,根据不同的CPU增加新的目录,如pxa270,omap34xx等,这些目录中保存与各ARM CPU相关的初始化及核心代码;设置各ARM CPU平台都需要使用但又与各ARM CPU平台密切相关的公用变量、函数及宏定义等指针化或变量化,以便针对不同的ARM CPU选择不同的函数或变量值。
参见图3,图3是本发明的实施例中Linux内核源代码树与各ARM CPU平台之间的关系示意图。本发明的实施例对Linux源代码结构进行了扩展,以支持新的ARM硬件平台,该硬件平台不同于现有的某一特定ARM CPU平台只是支持某一种ARM CPU,而是同时容纳多种不同ARM CPU,并能根据需要选择Linux内核镜象是同时支持所有CPU还是只支持其中的某几种,设置灵活,方便实用。
步骤202、读取待运行的CPU的识别信息,对该CPU做识别处理;并根据所述存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。
本发明的实施例中,由于期望Linux内核镜像数据能够适用于多种CPU,因此需要对CPU做识别处理,如上所述,预先设置每种CPU的识别信息,如为不同的ARM CPU设置唯一的架构识别号(Architecture ID)。并且在终端设备的启动过程(BootLoader)即对CPU做识别处理,该识别处理主要包括:
BootLoader将Architecture ID号传递给压缩的内核镜象最前端的解压缩代码,在解压缩过程中对不同CPU的正确识别是让内核镜象能运行于不同ARM CPU平台上的关键。原因是不同的ARM CPU其SDRAM的片选地址是不同的,这也导致内核代码在不同的CPU平台上要求被加载到不同的物理内存目标地址,正确的目标地址是内核可以运行的关键。因此,在解压过程中需要根据不同的ARM CPU平台动态确定内核镜象解压的目标内存地址。解压过程中需要根据BootLoader传入的Architecture ID来识别ARMCPU,以此来确定内核的加载内存目标地址。
进一步,内核运行过程中的CPU识别分为三个阶段:启用内存管理单元(MMU)之前、启用MMU之后和驱动模块对CPU的识别:
启用MMU之前:代码运行进入内核后,在启动MMU功能之前,需要进行CPU及MMU的初始化。该过程与特定ARM CPU密切相关,不同的ARM CPU需要完全不同的初始化代码,因此,需要根据Architecture ID正确识别CPU,以便动态选择正确的初始化代码,并将部分与CPU密切相关的参数传递给MMU启动后的内核代码;
启用MMU之后:内核代码在启动MMU之后,还需要对内存、时钟、中断、外设接口等做很多初始化操作,对不同的ARM CPU来说,这些过程也需要完全不同的代码执行,因此需要根据不同的CPU动态选择不同的初始化代码。另外,在这一阶段,还要根据不同的CPU初始化不同的环境参数值和函数指针等;
驱动模块:驱动模块通常只是为某一种ARM CPU平台编写,为了不使驱动模块在不适当的CPU平台上加载时产生错误操作而导致内核崩溃,驱动模块首先需要做的是识别CPU平台,只有适合的CPU平台上运行时才继续加载,否则安全退出。
由于驱动模块一般只是为某一种ARM CPU平台开发,不需要保证能在多个ARM CPU平台上正常运行,但由于本发明的实施例中,通用ARM Linux内核镜象可以运行在不同的ARM CPU平台上,因此本发明的实施例中提供驱动模块对CPU的识别处理机制,使得携带该驱动的通用ARM Linux内核镜象运行在某一ARM CPU平台上时,驱动模块可以根据内核提供的相关信息来识别该ARM CPU平台是不是该驱动模块所针对的可以正常工作的平台,避免因驱动模块难以匹配CPU而引发的问题,如内核的崩溃,等。
驱动模块在被加载初始化的最起始部分就需要通过内核提供的信息判断当前运行的ARM CPU平台是不是合适的平台,以此决定是否应该被继续加载。为保证驱动模块实现上述机制,在Linux内核驱动模块标准开发规范基础上,针对该通用ARM CPU平台环境扩展了以下形式的驱动模块开发规范,列举实例如下:
指定驱动模块适用的ARM CPU平台:在驱动模块源文件中,在开始包含任何头文件之前以下面的语句形式定义形如以下的合适的宏来表明该驱动模块适用于哪一种ARM CPU平台:
#define__ONLY_GENERIC_xxx__1
其中的“xxx”部分是所匹配的CPU平台名称,如OMAP3、PXA27X等。这样可以使源代码能包含正确的适合该平台的头文件。
包含正确的头文件:驱动模块在包含与平台硬件相关的头文件时的某些方法可能不再适用,需要根据对通用ARM平台头文件目录结构的扩展做适当调整。如,原来在驱动模块源文件中使用的类似于“asm/arch/xxx.h”包含头文件“xxx.h”的方式需要更改为类似于“asm/arch/yyyy/xxx.h”的形式,其中yyyy表示相对应的ARM CPU平台目录名称,如pxa27x,omap34xx等。
识别CPU以确定是否加载:首先需要在驱动模块的源文件中包含定义各ARM CPU平台的Architecture ID的头文件(例如Linux kernel2.6.25内核中的“asm/mach-types.h”),然后对驱动模块的入口函数及出口函数(如Linux kernel2.6中的用module_init和module_exit声明过的函数)进行如下修改:
入口函数(如module_init声明函数)最开始开始加入类似以下功能的判断:
if(__machine_arch_type!=MACH_TYPE_GENERIC_XXX){
return-EINVAL;
}
其中“__machine_arch_type”代表存储于内核环境中的由BootLoader传入的该ARMCPU平台的Archtitecture ID值,“MACH_TYPE_GENERIC_XXX”用mach_types.h中定义的代表特定ARMCPU平台的名称代替。这样就可以保证该驱动模块在不适合的平台上不被加载。对于可以同时适合多种ARM CPU平台的驱动模块,可以在上述条件判断中用“&&”连接类似对其它平台的不等式条件判断语句。
为安全起见,在出口函数(如使用module_exit声明的函数)的最开始增加类似以下功能的判断:
if(__machine_arch_type !=MACH_TYPE_GENERIC_XXX){
return;
}
其识别符代表的意义与驱动模块入口函数中的相同。
参见图4,图4是本发明的实施例中对CPU的识别处理流程图,该流程中,BootLoader根据读取到的Architecture ID,选择用于加载Linux内核镜像数据的目标地址,并选择正确的串口输出Linux内核镜像数据;之后,根据Architecture ID选择适用于CPU的初始化代码、核心代码、内核环境参数等;之后,不同的驱动模块根据读取到的Architecture ID,确定是否能够与该CPU相匹配,若匹配则加载Linux内核镜像数据;否则,可选择退出流程。
参见图5,图5是本发明的实施例中ARM Linux支持多种CPU的实现装置,该装置500可设置于终端设备内。装置500可包括:
存储单元501,用于存储多种CPU能够共用的Linux内核镜像数据;
识别处理单元502,用于读取待运行的CPU的识别信息,对该CPU做识别处理;并根据预设的用于查找存储单元501内的所述Linux内核镜像数据的存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。
具体地,识别处理单元502包括:地址选择单元和初始化单元;
所述地址选择单元,用于根据该CPU的识别信息,确定用于存放待运行于该CPU上的Linux内核镜像数据的解压目标地址;
所述存储单元501,还存储与各种CPU相关的初始化数据;
所述初始化单元,根据该CPU的识别信息以及所述存储索引信息,从所述存储单元501内获取与所运行的该CPU相匹配的初始化数据。
识别处理单元502还包括:CPU驱动模块;用于根据该CPU的识别信息,判断是否与该CPU相匹配,得到判断结果;
执行单元,用于根据所述判断结果为是,执行在该CPU上运行所述Linux内核镜像数据的操作,否则,结束操作。
综上所述,本发明提供的技术方案,通过设置存储索引信息,提供多种CPU能够共用的Linux内核镜像数据;并且通过对不同的CPU做识别处理,获取到适用于该CPU的Linux内核镜像数据,从而实现ARM Linux对多种CPU的支持,有效解决现有技术中存在的Linux内核镜像数据难以支持多种CPU,难以适应嵌入式设备硬件差异的多样性和复杂性的技术问题,让ARM平台的Linux嵌入式系统具有更好的移植性和硬件兼容性;并能够实现为用户提供统一的操作系统,提高用户体验。
本发明提供ARM Linux内核的平台移植技术,移植完成的Linux内核实用于以ARM9及更高版本的ARM核的CPU嵌入式Linux(非uCLinux)系统应用设备,如PDA、智能手机及其它各种应用Linux系统的设备。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种Linux内核镜像数据支持多种CPU的实现方法,其特征在于,包括:
预先设置存储索引信息,所述存储索引信息用于查找到多种CPU能够共用的Linux内核镜像数据;其中,所述预先设置存储索引信息包括:
在Linux内核源代码树中包含各个独立ARM CPU平台的代码目录区以设置通用ARM平台目录;所述通用ARM平台目录用于存放通用ARM CPU平台所需要的Linux内核镜像数据;
在Linux内核源代码树中包含各独立ARM CPU平台头文件的目录区以设置通用ARM平台头文件目录;所述通用ARM平台头文件目录用于存放所有需要支持的ARM CPU通用头文件;
在所述通用ARM平台头文件目录中,根据不同的ARM CPU设置用于存放该ARM CPU的头文件的目录;
预设每种CPU的识别信息;
读取待运行的CPU的识别信息,对该CPU做识别处理;并根据所述存储索引信息,查找到适用于该CPU的Linux内核镜像数据,且在该CPU上运行所述Linux内核镜像数据。
2.根据权利要求1所述的方法,其特征在于,所述对该CPU做识别处理包括:
根据该CPU的识别信息,确定用于存放待运行于该CPU上的Linux内核镜像数据的解压目标地址;
根据该CPU的识别信息,获取与所运行的该CPU相匹配的初始化数据。
3.根据权利要求2所述的方法,其特征在于,所述Linux内核镜像数据携带CPU驱动模块;所述对该CPU做识别处理还包括:
所述CPU驱动模块根据该CPU的识别信息,判断本CPU驱动模块是否与该CPU相匹配,若是,则执行在该CPU上运行所述Linux内核镜像数据的操作,否则,结束流程。
4.根据权利要求1所述的方法,其特征在于,所述预先设置存储索引信息还包括:
在所述通用ARM平台目录中,根据不同的CPU设置用于保存与各ARMCPU平台相关的初始化及核心代码的目录;设置各ARM CPU平台都需要使用且与各ARM CPU平台相关的公用变量、函数及宏定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910039620.5A CN101894028B (zh) | 2009-05-20 | 2009-05-20 | Linux内核镜像数据支持多种CPU的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910039620.5A CN101894028B (zh) | 2009-05-20 | 2009-05-20 | Linux内核镜像数据支持多种CPU的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101894028A CN101894028A (zh) | 2010-11-24 |
CN101894028B true CN101894028B (zh) | 2015-01-14 |
Family
ID=43103226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910039620.5A Expired - Fee Related CN101894028B (zh) | 2009-05-20 | 2009-05-20 | Linux内核镜像数据支持多种CPU的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894028B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520990A (zh) * | 2011-12-01 | 2012-06-27 | 太仓市同维电子有限公司 | 支持嵌入式系统跨平台兼容的通用应用装置及其载入方法 |
CN102707957A (zh) * | 2012-05-25 | 2012-10-03 | 深圳市共进电子股份有限公司 | 一种无线ap中兼容不同天线数的硬件的处理方法 |
CN104407887A (zh) * | 2014-11-06 | 2015-03-11 | 航天科工深圳(集团)有限公司 | 一种嵌入式系统内核模块动态加载程序的方法及装置 |
CN106066789A (zh) * | 2016-05-24 | 2016-11-02 | 乐视控股(北京)有限公司 | 一种对摄像头驱动程序进行编译的方法和装置 |
CN107632828B (zh) * | 2016-07-18 | 2020-04-07 | 迈普通信技术股份有限公司 | 多dts文件支持方法、编译装置及嵌入式设备 |
CN107729071B (zh) * | 2016-08-09 | 2019-10-22 | 华为技术有限公司 | 一种初始化网卡的方法及装置 |
CN112486570B (zh) * | 2020-11-06 | 2023-06-02 | 麒麟软件有限公司 | 一种不同类型CPU的Glibc兼容方法 |
CN112905522A (zh) * | 2021-02-22 | 2021-06-04 | 深圳市显控科技股份有限公司 | 多核共享启动系统及其控制方法、存储介质 |
CN117667236A (zh) * | 2023-12-19 | 2024-03-08 | 合芯科技有限公司 | 一种混合内核镜像的加载方法、系统、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1308288A (zh) * | 2000-02-07 | 2001-08-15 | 国际商业机器公司 | 支持多个操作系统的方法和系统 |
CN101178653A (zh) * | 2007-12-03 | 2008-05-14 | 北京中星微电子有限公司 | 一种支持多种处理器的嵌入式系统及方法 |
CN101281464A (zh) * | 2008-05-07 | 2008-10-08 | 裴亚军 | 通用嵌入式Linux OS系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177829A1 (en) * | 2003-10-10 | 2005-08-11 | Vipul Vishwanath | Method of applying constraints against discovered attributes in provisioning computers |
-
2009
- 2009-05-20 CN CN200910039620.5A patent/CN101894028B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1308288A (zh) * | 2000-02-07 | 2001-08-15 | 国际商业机器公司 | 支持多个操作系统的方法和系统 |
CN101178653A (zh) * | 2007-12-03 | 2008-05-14 | 北京中星微电子有限公司 | 一种支持多种处理器的嵌入式系统及方法 |
CN101281464A (zh) * | 2008-05-07 | 2008-10-08 | 裴亚军 | 通用嵌入式Linux OS系统 |
Non-Patent Citations (1)
Title |
---|
嵌入式操作系统对多处理器的支持;鲍峥 等;《计算机应用与软件》;20040731;第21卷(第7期);29-30、51 * |
Also Published As
Publication number | Publication date |
---|---|
CN101894028A (zh) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101894028B (zh) | Linux内核镜像数据支持多种CPU的实现方法及装置 | |
CN100377085C (zh) | 嵌入式操作系统硬件镜像启动优化的实现方法 | |
CN100549957C (zh) | 一种类装载隔离的方法及一种类装载隔离的装置 | |
WO2018040270A1 (zh) | 在Windows系统中加载Linux系统ELF文件的方法及装置 | |
CN102314364A (zh) | 一种自动适配移动终端的方法 | |
US12008171B2 (en) | Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier | |
CN105653330A (zh) | 一种基于SD卡的NorFlash烧写系统和方法 | |
CN103593281A (zh) | 测试系统及测试方法 | |
CN101533355A (zh) | 一种启动多操作系统的方法和装置 | |
CN106484719B (zh) | 一种扩展手机存储的方法及终端 | |
CN103678053A (zh) | 计算机自检方法和系统 | |
CN101403972A (zh) | 嵌入式系统的存储卡引导方法及装置 | |
US7197600B2 (en) | Transferring data along with code for program overlays | |
CN102520981A (zh) | 一种基于inand/nand的多分区存储设备的生产方法 | |
CN101251799A (zh) | 管理实现的方法和装置 | |
JP2012516483A (ja) | クラスファイル内にネイティブコードを埋め込むことによる仮想メカニズム内でのプラットフォーム依存ルーチンの適用 | |
US20100115004A1 (en) | Backup system that stores boot data file of embedded system in different strorage sections and method thereof | |
CN114706533A (zh) | 一种基于gpt分区表的多文件多级启动加载方法及装置 | |
CN117149292B (zh) | 电子设备的启动方法、装置、服务器、计算机设备及介质 | |
CN100465894C (zh) | 一种Java Processor启动时类装载方法 | |
CN102184115B (zh) | 升级系统软件的方法及终端设备 | |
US6625060B2 (en) | Microcomputer with efficient program storage | |
CN110347444A (zh) | 一种ssd多状态切换的启动方法及其系统 | |
CN1295603C (zh) | 加载升级单板启动程序的方法 | |
CN104978221A (zh) | 实现程序的下载删除的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150114 Termination date: 20160520 |