CN100414501C - 一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 - Google Patents
一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 Download PDFInfo
- Publication number
- CN100414501C CN100414501C CNB2006100617312A CN200610061731A CN100414501C CN 100414501 C CN100414501 C CN 100414501C CN B2006100617312 A CNB2006100617312 A CN B2006100617312A CN 200610061731 A CN200610061731 A CN 200610061731A CN 100414501 C CN100414501 C CN 100414501C
- Authority
- CN
- China
- Prior art keywords
- file
- embedded
- logical
- assembling
- loading
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种嵌入式操作系统加载逻辑文件的方法,首先,嵌入式操作系统将逻辑文件转换为自身数据的一部分,然后以调用自身数据的方式来加载所述逻辑文件。本发明还提供一种应用上述方法加载逻辑文件的嵌入式操作系统。本发明将逻辑文件添加到嵌入式操作系统自身的数据中,使嵌入式操作系统可以通过调用自身数据来加载逻辑文件,这样一来便解决了因嵌入式操作系统和逻辑文件存放位置不同而可能造成的无法获取逻辑文件进而无法加载等问题,并解决了嵌入式操作系统与逻辑文件之间版本不匹配的问题,提高了逻辑文件加载的效率和可靠性。
Description
技术领域
本发明涉及数据处理,更具体地说,涉及一种嵌入式操作系统加载逻辑文件的方法和应用该方法加载逻辑文件的嵌入式操作系统。
背景技术
对于嵌入式操作系统如何加载逻辑文件,业界目前普遍采用的做法是将逻辑文件当作一个独立于嵌入式操作系统的文件来加载。根据逻辑文件存放位置的不同,又具体分为以下两种方法。
第一种方法是将逻辑文件存放在Flash(闪存)等存储设备中。嵌入式操作系统启动后,通过读取Flash等存储设备,将逻辑文件加载到嵌入式操作系统中。这种方法的缺陷主要表现在:
1、开发人员需要提供包括嵌入式操作系统和逻辑文件在内的多个文件,缺少其中的任何一个,系统都不能正常运行;
2、逻辑文件在Flash中的存放地址必须准确,如果地址不正确,就会出现系统数据读取错误,逻辑文件不能够正常加载,系统也就不能正常运行;
3、存在逻辑文件和嵌入式操作系统版本的配套问题,如果逻辑文件被错误的加载到不配套的嵌入式操作系统上,就有可能造成系统运行异常。
第二种方法是将逻辑文件存放在专门的服务器中。嵌入式操作系统启动后,通过FTP(文件传输协议)或TFTP(简单文件传输协议)等方式从服务器上下载逻辑文件,将逻辑文件加载到嵌入式操作系统中。在这种方法中,第一种方法存在的问题仍未得到解决,此外,还存在以下其他问题:
1、必须事先在嵌入式操作系统的配置中添加存放逻辑文件的服务器的IP地址,一旦服务器的IP地址发生改变或服务器不可用,就需要修改添加在嵌入式操作系统中的服务器的IP地址;
2、逻辑文件的下载速度依赖于下载时网络的状态,如果网络发生拥塞,就有可能导致逻辑文件下载失败,逻辑文件不能正常加载,系统就不能正常工作;
3、需要维护服务器,增加了维护的工作量,同时还需保证服务器上存在相关的逻辑文件,如果逻辑文件不存在,或者服务器出现故障,逻辑文件就不能保证正常下载,系统也就不能正常工作。
产生上述问题的主要原因在于嵌入式操作系统和逻辑文件的存储位置不同,在运行过程中,嵌入式操作系统在加载逻辑文件之前都需要先从逻辑文件的存储位置读取该文件,因此,如果存储位置不准确或者传输过程发生错误,都无法读取、进而无法加载逻辑文件。
发明内容
本发明所要解决的技术问题在于,针对现有技术中从Flash或服务器中加载逻辑文件时可能遇到的版本不匹配、文件缺失或受网络条件影响较大等缺陷,提供一种嵌入式操作系统加载逻辑文件的方法和应用该方法加载逻辑文件的嵌入式操作系统。
本发明解决其技术问题所采用的技术方案是:构造一种嵌入式操作系统加载逻辑文件的方法,嵌入式操作系统将逻辑文件转换为自身数据的一部分,然后以调用自身数据的方式来加载所述逻辑文件。
在本发明所述的方法中,所述方法进一步包括如下步骤:
S1.所述嵌入式操作系统将所述逻辑文件转换为汇编文件;
S2.所述嵌入式操作系统将所述汇编文件写入所述嵌入式操作系统的编译规则文件中;
S3.所述嵌入式操作系统对所述汇编文件进行编译;
S4.所述嵌入式操作系统使用逻辑文件加载模块调用所述汇编文件。
在本发明所述的方法中,在所述步骤S1中,所述嵌入式操作系统调用文件转换模块将所述逻辑文件转换为所述汇编文件。
在本发明所述的方法中,所述步骤S1还包括,所述嵌入式操作系统为所述汇编文件添加文件头标签和文件尾标签。
在本发明所述的方法中,在所述步骤S4中,所述逻辑文件加载模块通过识别所述文件头标签和所述文件尾标签来调用所述汇编文件。
本发明还提供了一种嵌入式操作系统,包括存储系统代码的代码存储模块和存储系统数据的数据存储模块,所述代码存储模块包括编译模块,所述代码存储模块还包括文件转换模块和逻辑文件加载模块,所述数据存储模块还包括逻辑文件存储模块;
所述文件转换模块用于将输入的逻辑文件转换为汇编文件,并发送给所述编译模块;
所述编译模块对所述汇编文件进行编译;
所述逻辑文件存储模块与所述编译模块相连,用于存储所述编译后的汇编文件;
所述逻辑文件加载模块与所述逻辑文件存储模块相连,用于加载所述逻辑文件存储模块中存储的汇编文件。
在本发明所述的系统中,所述汇编文件包括文件头标签和文件尾标签。
在本发明所述的系统中,所述逻辑文件加载模块通过识别所述文件头标签和所述文件尾标签参数来调用所述汇编文件。
本发明将逻辑文件添加到嵌入式操作系统自身的数据中,使嵌入式操作系统可以通过调用自身数据来加载逻辑文件,这样一来便解决了因嵌入式操作系统和逻辑文件存放位置不同而可能造成的无法获取逻辑文件进而无法加载等问题,并解决了嵌入式操作系统与逻辑文件之间版本不匹配的问题,提高了逻辑文件加载的效率和可靠性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明技术方案的方法流程图;
图2是本发明实施例中添加逻辑文件后的系统文件的结构示意图。
图3是本发明技术方案的系统结构示意图。
具体实施方式
本发明提供的技术方案是将逻辑文件转换为嵌入式操作系统的一部分,这样一来,嵌入式操作系统就可通过简单的调用自身数据来加载逻辑文件。
图1是本发明技术方案的方法流程图。如图1所示,在步骤100,嵌入式操作系统首先将所述逻辑文件转换为汇编文件,并为所述汇编文件添加文件头标签和文件尾标签;随后,在步骤102,嵌入式操作系统将所述汇编文件写入所述嵌入式操作系统的编译规则文件中;接下来,在步骤104,嵌入式操作系统执行所述编译规则文件,对所述汇编文件进行编译;最后,在步骤106,嵌入式操作系统使用自身的逻辑文件加载函数通过由文件头标签和文件尾标签构造的参数来调用编译后的汇编文件。
为详细解释本发明的创新之处,以下以当前广泛应用的vxworks系统为例讲述本发明的技术方案。
在vxworks系统中,系统共分为文本段和数据段两个部分;文本段用于存放系统代码,数据段用于存放所述系统代码需要操作的数据。本发明提供的方法是将逻辑文件作为整个嵌入式操作系统的一部分,直接存放到所述嵌入式操作系统的数据段中。在vxworks系统中,完成这一过程需要用到两个系统工具程序binToAsm.exe和rpls.exe,系统工具程序binToAsm.exe把二进制文件转化为汇编文件,并且在所述汇编文件的头部加上文件头标签_binArrayStart,在所述汇编文件的尾部加上文件尾标签_binArrayEnd,用于标识所述汇编文件加入嵌入式操作系统的数据段后在所述嵌入式操作系统中的位置;系统工具程序rpls.exe在所述汇编文件中搜索指定的字符串,然后使用指定的另外一个字符串替换搜索到的字符串,例如rpls.exe fpga.1 fpga.2_binArrayStart_urcuFpgaStart就是把文件fpga.1中查找到的字符串_binArrayStart替换为字符串_urcuFpgaStart,生成一个新的文件fpga.2;
通过这两个系统工具程序,vxworks系统把逻辑文件转化为一个带标号_urcuFpgaStart和_urcuFpgaEnd的汇编文件,然后把所述带标号_urcuFpgaStart和_urcuFpgaEnd的汇编文件写入vxworks系统的编译规则文件makefile中,这样一来,就可对所述汇编文件进行正常的编译处理了。这样,所述逻辑文件就已添加到嵌入式操作系统的数据段中了,vxworks系统的文本段1,vxworks系统的数据段2,所述添加到嵌入式操作系统数据段2中的逻辑文件3,其分别在嵌入式操作系统中的位置如图2所示。
此后,vxworks系统使用自身逻辑文件加载函数来加载逻辑文件,如函数BSP_DownBinToFPGA(UCHAR*pucFpgaFile,ULONG ulFpgaDataLen),所述函数BSP_DownBinToFPGA(UCHAR*pucFpgaFile,ULONG ulFpgaDataLen)有两个参数,即参数UCHAR*pucFpgaFile和参数UCHAR*pucFpgaFile,其中,参数UCHAR*pucFpgaFile为即将调用的FPGA文件所在数组的指针,参数ULONGulFpgaDataLen为即将调用的FPGA文件的大小。在加载逻辑文件时,所述参数UCHAR*pucFpgaFile和参数ULONG ulFpgaDataLen的值分别对应于文件头标签_urcuFpgaStart和(UINT32)(_urcuFpgaEnd)-(UINT32)(_urcuFpgaStart)。这样一来,所述逻辑文件加载函数BSP_DownBinToFPGA(UCHAR*pucFpgaFile,ULONG ulFpgaDataLen)就变成BSP_DownBinToFPGA(_urcuFpgaStart,(UINT32)(_urcuFpgaEnd)-(UINT32)(_urcuFpgaStart)。vxworks系统由此实现了以调用自身数据的方式来调用逻辑文件。
以上就是以vxworks系统为例的本发明逻辑文件加载的全过程。需要注意的是,虽然本发明是借助vxworks系统进行描述的,但本发明的技术方案并非仅限于vxworks系统。事实上,本领域的技术人员应当明白,可应用本发明介绍的逻辑文件加载方法的系统可概括为下面图3中展示的嵌入式操作系统。
图3是本发明技术方案的系统结构示意图。如图3所示,该系统共包括代码存储模块和数据存储模块两部分,其中,代码存储模块用于存放系统代码,包括文件转换模块、编译模块和逻辑文件加载模块;数据存储模块用于存放代码需要操作的数据,包括专门用于存放逻辑文件的逻辑文件存储模块。代码存储模块中的文件转换模块用于将收到的逻辑文件转换为汇编文件,并为该汇编文件添加文件头标签和文件尾标签,然后发往编译模块,由所述编译模块对所述汇编文件进行编译,并在编译过程完成后,统一存储到数据存储模块中的逻辑文件存储模块中。当需要调用逻辑文件时,代码存储模块中的逻辑文件加载模块在数据存储模块中通过识别所述文件头标签和所述文件尾标签参数来调用相应的逻辑文件。
本发明将逻辑文件添加到嵌入式操作系统自身的数据中,使嵌入式操作系统可以通过调用自身数据来加载逻辑文件,这样一来便解决了因嵌入式操作系统和逻辑文件存放位置不同而可能造成的无法获取逻辑文件进而无法加载等问题,并解决了嵌入式操作系统与逻辑文件之间版本不匹配的问题,提高了逻辑文件加载的效率和可靠性。
Claims (8)
1. 一种嵌入式操作系统加载逻辑文件的方法,其特征在于,包括如下步骤:
S1.所述嵌入式操作系统将逻辑文件转换为汇编文件;
S2.所述嵌入式操作系统将所述汇编文件写入所述嵌入式操作系统的编译规则文件中;
S3.所述嵌入式操作系统对所述汇编文件进行编译;
S4.所述嵌入式操作系统调用所述汇编文件来加载所述逻辑文件。
2. 根据权利要求1所述的方法,其特征在于,在所述步骤S4中,所述嵌入式操作系统使用逻辑文件加载模块调用所述汇编文件。
3. 根据权利要求1所述的方法,其特征在于,在所述步骤S1中,所述嵌入式操作系统调用文件转换模块将所述逻辑文件转换为所述汇编文件。
4. 根据权利要求2所述的方法,其特征在于,所述步骤S1还包括,所述嵌入式操作系统为所述汇编文件添加文件头标签和文件尾标签。
5. 根据权利要求4所述的方法,其特征在于,在所述步骤S4中,所述逻辑文件加载模块通过识别所述文件头标签和所述文件尾标签来调用所述汇编文件。
6. 一种嵌入式操作系统,包括存储系统代码的代码存储模块和存储系统数据的数据存储模块,所述代码存储模块包括编译模块,其特征在于,所述代码存储模块还包括文件转换模块和逻辑文件加载模块,所述数据存储模块还包括逻辑文件存储模块;
所述文件转换模块用于将输入的逻辑文件转换为汇编文件,并发送给所述编译模块;
所述编译模块对所述汇编文件进行编译;
所述逻辑文件存储模块与所述编译模块相连,用于存储所述编译后的汇编文件;
所述逻辑文件加载模块与所述逻辑文件存储模块相连,用于加载所述逻辑文件存储模块中存储的汇编文件。
7. 根据权利要求6所述的系统,其特征在于,所述汇编文件包括文件头标签和文件尾标签。
8. 根据权利要求7所述的系统,其特征在于,所述逻辑文件加载模块通过识别所述文件头标签和所述文件尾标签来调用所述汇编文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100617312A CN100414501C (zh) | 2006-07-18 | 2006-07-18 | 一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100617312A CN100414501C (zh) | 2006-07-18 | 2006-07-18 | 一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1900909A CN1900909A (zh) | 2007-01-24 |
CN100414501C true CN100414501C (zh) | 2008-08-27 |
Family
ID=37656798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100617312A Expired - Fee Related CN100414501C (zh) | 2006-07-18 | 2006-07-18 | 一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100414501C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702130B (zh) * | 2009-11-12 | 2012-12-26 | 深圳市五巨科技有限公司 | 一种移动终端加载共享函数库的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202237A (ja) * | 2000-01-20 | 2001-07-27 | Sharp Corp | プログラム変換装置およびその機能を実現するためのプログラムを記録した記憶媒体 |
CN1502075A (zh) * | 2001-03-16 | 2004-06-02 | Ħ��������˾ | 在嵌入式环境中加载和执行应用程序的方法 |
CN1555015A (zh) * | 2003-12-26 | 2004-12-15 | 中兴通讯股份有限公司 | 一种数字信号处理系统的调试方法 |
US20050086201A1 (en) * | 2003-10-15 | 2005-04-21 | Peter Weddeling | Converting user interface panels |
CN1949168A (zh) * | 2005-10-14 | 2007-04-18 | 英业达股份有限公司 | 面板程序转换系统以及方法 |
-
2006
- 2006-07-18 CN CNB2006100617312A patent/CN100414501C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202237A (ja) * | 2000-01-20 | 2001-07-27 | Sharp Corp | プログラム変換装置およびその機能を実現するためのプログラムを記録した記憶媒体 |
CN1502075A (zh) * | 2001-03-16 | 2004-06-02 | Ħ��������˾ | 在嵌入式环境中加载和执行应用程序的方法 |
US20050086201A1 (en) * | 2003-10-15 | 2005-04-21 | Peter Weddeling | Converting user interface panels |
CN1555015A (zh) * | 2003-12-26 | 2004-12-15 | 中兴通讯股份有限公司 | 一种数字信号处理系统的调试方法 |
CN1949168A (zh) * | 2005-10-14 | 2007-04-18 | 英业达股份有限公司 | 面板程序转换系统以及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1900909A (zh) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210124573A1 (en) | Firmware upgrade method and apparatus, and terminal | |
US6405361B1 (en) | Automatically generating a program | |
JP4878715B2 (ja) | オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体 | |
US20050086640A1 (en) | Initiating execution of application programs on a data processing arrangement | |
CN111966366A (zh) | 一种多cpu架构的集群部署的方法和设备 | |
CN101894028A (zh) | Linux内核镜像数据支持多种CPU的实现方法及装置 | |
CN110888652A (zh) | 基于jenkins插件的多版本构建方法及终端 | |
CN111857801A (zh) | 一种移动应用的构建方法 | |
CN111178833A (zh) | 一种基于工作流引擎的动态子流程实现方法 | |
CN105224309A (zh) | 一种调取函数的方法和装置 | |
CN100414501C (zh) | 一种嵌入式操作系统加载逻辑文件的方法和嵌入式系统 | |
CN109388406A (zh) | 转换java代码的方法及装置、存储介质、电子装置 | |
US20150055169A1 (en) | Extendable system for preprocessing print document and method for the same | |
US7353323B2 (en) | Method, system, and computer-readable medium for updating memory devices in a computer system | |
CN108196912B (zh) | 一种基于热插拔组件式数据集成方法 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN115687338A (zh) | 项目批量添加标识信息方法和装置、终端 | |
CN104978216A (zh) | 应用确定方法和应用确定装置 | |
CN101499060B (zh) | 固件更新系统及方法 | |
CN113485795B (zh) | 一种基于多种类型项目的自动化容器启动方法 | |
CN115904431A (zh) | 智能卡更新方法、装置、电子设备及可读存储介质 | |
CN115202649A (zh) | 一种多种软件运行环境的兼容方法 | |
CN103970531A (zh) | 中心管理服务器及其管理app的方法 | |
CN101604262A (zh) | 一种获得程序模块间调用关系的方法及装置 | |
CN115658099A (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 |
Granted publication date: 20080827 Termination date: 20150718 |
|
EXPY | Termination of patent right or utility model |