CN100405325C - 一种嵌入式软件装载调试方法及其系统 - Google Patents

一种嵌入式软件装载调试方法及其系统 Download PDF

Info

Publication number
CN100405325C
CN100405325C CNB2006101112813A CN200610111281A CN100405325C CN 100405325 C CN100405325 C CN 100405325C CN B2006101112813 A CNB2006101112813 A CN B2006101112813A CN 200610111281 A CN200610111281 A CN 200610111281A CN 100405325 C CN100405325 C CN 100405325C
Authority
CN
China
Prior art keywords
file
source code
boot
code
executable image
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
Application number
CNB2006101112813A
Other languages
English (en)
Other versions
CN1904853A (zh
Inventor
高占东
边恩超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CNB2006101112813A priority Critical patent/CN100405325C/zh
Publication of CN1904853A publication Critical patent/CN1904853A/zh
Application granted granted Critical
Publication of CN100405325C publication Critical patent/CN100405325C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种嵌入式软件装载调试方法,包括:编译嵌入式系统软件源代码生成目标文件;确定需要修改和不需要修改的源代码,编辑地址映射描述文件,将存储空间划分为两部分;根据地址映射描述文件链接目标文件,生成包含不需要修改的源代码的可执行映象文件一和包含需要修改的源代码的可执行映像文件二;根据用户指令将生成的两个可执行映像文件中修改的部分转换为可装载文件,将其下载到目标嵌入式系统,并存储到存储空间的相应位置,引导嵌入式系统软件运行进行调试。本发明同时还公开了一种嵌入式软件装载调试系统,该系统包括能够控制目标嵌入式系统的计算机系统以及目标嵌入式系统。上述方法和系统可以提高嵌入式系统软件装载调试的效率。

Description

一种嵌入式软件装载调试方法及其系统
技术领域
本发明涉及嵌入式系统技术,特别涉及一种嵌入式软件装载调试方法及其系统。
背景技术
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、成本、可靠性、体积以及功耗等有严格要求的专用计算机系统。嵌入式系统已经在各种通讯设备中大量使用。由于各种嵌入式系统定制的功能、采用的存储介质及控制器,以及运行环境各不相同,因此,不同的嵌入式系统在嵌入式通讯设备中的性能表现各不相同,对于不同的嵌入式系统需要进行调试,以验证嵌入式系统的各种定制功能,保证嵌入式系统的可靠性。
现有技术中存在两种嵌入式系统调试方法及其系统:
图1为现有技术第一种嵌入式系统调试系统的结构示意图。如图1所示,该系统包括:桌面计算机、硬件仿真器103以及目标嵌入式系统。其中,桌面计算机包括:编译链接器101和调试器102,硬件仿真器103用于连接调试器102和目标嵌入式系统。
利用图1所示调试系统进行嵌入式系统调试的实现过程为:桌面计算机通过编译连接器101编译链接嵌入式系统软件源代码,生成完整的带有调试信息的可执行映像文件,再通过调试器102将生成的带有调试信息的可执行映像文件传输给硬件仿真器103,由硬件仿真器103将接收到的带有调试信息的可执行映像文件下载到目标嵌入式系统,再通过调试器102进行在线调试。
利用图1所示系统进行嵌入式系统调试的优点是:能够在线调试单线程可执行代码;可以通过调试器102单步执行或设置断点,因此,可以非常方便地查看和修改系统中的变量。但实际应用中,该方法并不常用,主要的原因是:使用该方法需要购买价格昂贵的硬件仿真器;代码装载时间随着软件源代码量的增加而增加,所以,当嵌入式系统的软件源代码量较大时,代码装载时间会很长。另外,该方法不适合调试多线程可执行源代码,而实际应用中,带有操作系统的嵌入式系统通常都需要多线程调试。
图2为现有技术第二种嵌入式系统调试系统的结构示意图。如图2所示,该系统包括:桌面计算机和目标嵌入式系统。其中,桌面计算机包括:编译链接器201和下载器202,嵌入式系统包括:可引导程序单元203和存储单元204。
利用图2所示调试系统进行嵌入式系统调试的实现过程为:桌面计算机通过编译链接器201编译链接嵌入式系统软件源代码,生成完整的可执行映像文件,并通过下载器201和可引导程序单元203之间的通讯端口将生成的可执行映像文件下载并存储到目标嵌入式系统的存储单元204。然后,目标嵌入式系统中的可引导程序引导存储单元204中的可执行映像文件进行嵌入式系统调试,并通过下载器201和可引导程序单元203之间的通讯端口向桌面计算机控制台发送嵌入式系统调试结果的打印信息。这里,所述的通讯端口可以根据系统配置确定,可以是串行接口、并行接口或者USB通用串行接口。
利用图2所示系统进行嵌入式系统调试可以通过普通的串行端口线连接桌面计算机和目标嵌入式硬件系统,使用方便,成本低廉,单线程和多线程可执行源代码都可以调试。目前,大多数软件工程师和系统工程师都使用该方法和系统进行嵌入式系统调试。但由于串行端口的特性,下载可执行映像文件的速度受到一定限制,无法达到很高的速度,尤其在软件代码量很大时,调试人员的很多时间都是在等待桌面计算机向目标嵌入式系统下载可执行映像文件,因此造成大量时间的浪费。
发明内容
本发明的主要目的在于提供一种嵌入式软件装载调试方法,提高嵌入式系统软件装载调试的效率。
本发明的另一主要目的在于提供一种嵌入式软件装载调试系统,在低成本的基础上提高嵌入式软件装载调试的效率。
为了实现上述目的的第一方面,本发明提供了一种嵌入式软件装载调试方法,该方法编译嵌入式系统软件源代码生成目标文件后,还包括以下步骤:
A、确定需要修改和不需要修改的源代码,编辑地址映射描述文件,将目标嵌入式系统的存储空间划分为两个部分;
B、根据步骤A的地址映射描述文件链接目标文件,生成包含不需要修改的源代码的可执行映像文件一和包含需要修改的源代码的可执行映像文件二;
C、根据用户指令将步骤B生成的两个可执行映像文件中修改的部分转换为可装载文件,并将转换的可装载文件下载到目标嵌入式系统,存储到存储空间的相应位置,引导嵌入式系统软件运行进行调试。
所述生成目标文件时,进一步包括:记录每一段源代码对应的代码段和数据段的大小;
步骤A所述确定需要修改和不需要修改的源代码后,进一步包括:根据记录的每一段源代码对应的代码段和数据段的大小,分别计算需要修改和不需要修改的源代码对应的代码段和数据段的大小;
步骤A所述将存储空间划分为两个部分为:根据目标嵌入式系统的硬件存储器配置以及需要修改的源代码和不需要修改的源代码对应的代码段和数据段的大小将存储空间分为两个部分。
步骤C所述根据用户指令将步骤B生成的两个可执行映像文件中修改的部分转换为可装载文件为:
根据用户指令将两个可执行映像文件全部转换为可装载文件;或
根据用户指令提取可执行映像文件一中由于重新编译链接导致的部分指令修改的代码,并将可执行映像文件一中修改的代码与可执行映像文件二合并后转换为可装载文件;或
根据用户指令将可执行映像文件二转换为可装载文件;
步骤C所述的将可装载文件存储到存储空间的相应位置为:根据可装载文件中携带的数据块在存储空间的存储位置信息,将可装载文件中的数据块存储到存储空间的相应位置。
所述可装载文件中携带的数据块在存储空间的存储位置信息为:可装载文件中每一个数据块的偏移量信息。
步骤A所述需要修改的源代码包括:目标嵌入式系统中的未经调试的应用软件代码、目标嵌入式系统外设的驱动代码、以及目标嵌入式系统外设的功能代码;
所述不需要修改的源代码包括:已经过调试的稳定的目标嵌入式系统代码。
为了实现上述目的的第二方面,本发明提供了一种嵌入式软件装载调试系统,该系统包括:
能够控制目标嵌入式系统的计算机系统和目标嵌入式系统,其中,
能够控制目标嵌入式系统的计算机系统包括:编译链接器、装载文件生成器以及引导装载器部件一;目标嵌入式系统包括:引导装载器部件二和存储单元;
引导装载器部件一与引导装载器部件二相连进行信息交互,
编译链接器,用于将目标嵌入式系统的软件源代码编译生成目标文件后,根据用户编辑的执行地址映射描述文件链接目标文件,生成包含不需要修改的源代码的可执行映像文件一和包含需要修改的源代码的可执行映像文件二;
装载文件生成器,用于根据用户指令,将编译链接器生成的两个可执行映像文件中修改的部分转换为可装载文件,并将转换的可装载文件发送给引导装载器部件一;
引导装载器部件一与引导装载器部件二通过信息交互,将可装载文件下载到引导装载器部件二;
引导装载器部件二将可装载文件存储到存储单元的相应位置,并引导嵌入式系统软件运行进行调试。
所述引导装载器部件二包括:数据块存储模块,用于根据可装载文件携带的数据块在存储单元的存储位置信息,将可装载文件中的数据块存储到存储单元的相应位置。
所述目标嵌入式系统进一步包括:存储单元二,用于存储目标嵌入式系统从所述存储单元拷贝的嵌入式系统软件;
所述引导装载器部件二进一步用于引导存储单元二中的嵌入式系统软件运行。
所述引导装载器部件一与引导装载器部件二通过通讯端口相连;
所述的通讯端口为串行接口、并行接口或USB通用串行接口。
所述能够控制目标嵌入式系统的计算机系统为:桌面计算机、或笔记本电脑。
本发明提供的嵌入式软件装载调试方法,根据嵌入式系统调试中绝大部分源代码不需要修改,只需修改部分源代码的特点,通过分解可执行映像文件,将源代码不需要修改和需要修改部分的可执行映像文件分离,调试中只需要将源代码修改部分的可执行映像文件装载到目标嵌入式系统,减少了下载文件的长度,缩短了下载时间,从而达到提高工作效率的目的。
本发明提供的嵌入式软件装载调试系统,通过编译链接器根据用户编辑的执行地址映射描述文件链接目标文件,生成两个分别包含不需要修改和需要修改的源代码的可执行映像文件;通过装载文件生成器根据用户指令,将编译链接器生成的可执行映像文件中修改的部分转换为可装载文件;通过引导装载器部件将转换的可装载文件下载到目标嵌入式系统中,并引导嵌入式系统软件运行进行调试。
因此,利用本发明提供的嵌入式软件装载调试方法及其系统,不仅可以避免现有技术中第一种嵌入式系统调试系统的高成本、代码装载时间长以及不适于调试多线程可执行源代码的问题,而且与现有技术的第二种嵌入式系统调试方法和系统相比,具有更高的调试效率,实现了在低成本的基础上提高嵌入式软件装载调试效率的目的。
附图说明
图1为现有技术第一种嵌入式系统调试系统的结构示意图;
图2为现有技术第二种嵌入式系统调试系统的结构示意图;
图3为本发明的嵌入式系统调试方法的流程示意图;
图4为本发明的嵌入式系统的调试系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和有益效果更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明提供的嵌入式软件装载调试方法及其系统的核心思想是:将可执行映像文件分解为两个可执行映像文件,分别包含不需要修改和需要修改的源代码,并在目标嵌入式系统中为两个可执行映像文件分配不同的存储空间,从而在目标嵌入式系统调试中,只需要将源代码修改部分的可执行映像文件下载到目标嵌入式系统中相应的存储空间,然后引导嵌入式系统软件运行,进行调试。
参见图3,图3为本发明的嵌入式系统调试方法的流程示意图。如图3所示,该流程包括以下步骤:
步骤301,使用编译链接器编译嵌入式系统软件源代码,生成目标文件。
在编译链接器编译源代码生成目标文件的时候,会指示出每一段源代码对应的代码段和数据段的大小,该步骤可以进一步包括:记录每一段源代码对应的代码段和数据段的大小。
步骤302,确定需要修改的源代码和不需要修改的源代码,编辑地址映射描述文件,将存储空间划分为两个部分。
用户确定需要修改的源代码和不需要修改的源代码,并根据步骤301记录的每一段源代码对应的代码段和数据段的大小,确定需要修改的源代码和不需要修改的源代码对应的代码段和数据段的大小。
然后,用户根据嵌入式系统的硬件存储器配置以及步骤302确定的需要修改和不需要修改的源代码分别对应的代码段和数据段大小,将存储空间分为两个部分:一部分用于存储不需要修改的源代码所对应的代码段和数据段,空间大小与这部分的代码段及数据段的大小相等或稍大几个字节;另一部分用于存储需要修改的源代码所对应的代码段和数据段,由于这部分的源代码在调试中会不断地修改,对应的代码段和数据段在每次编译调试中都会有差异,因此需要为这部分代码段和数据段分配尽可能多的存储空间。当然,两部分存储空间的总和不能超过嵌入式系统存储器的可访问地址长度。
这里,所述需要修改的源代码包括:目标嵌入式系统中的未经调试的应用软件代码、目标嵌入式系统外设的驱动代码、以及目标嵌入式系统外设的功能代码等;所述不需要修改的源代码包括:已经过调试的稳定可靠的嵌入式系统代码,如操作系统代码等。
嵌入式系统的硬件存储器配置包括:存储器的起始地址、可访问地址长度。
可以采用如下格式编辑地址映射描述文件:
[装载段1][起始地址][长度]
{
    [代码段起始地址][代码段长度]
    [数据段起始地址][数据段长度]
    {
        目标文件名字
    }
}
[装载段2][起始地址][长度]
{
    [代码段起始地址][代码段长度]
    [数据段起始地址][数据段长度]
    {
        目标文件名字
    }
}
其中,如果装载段1描述的地址映射空间存储对应不需要修改的源代码的可执行映像文件,则与装载段1相关的各个参数的确定原则或取值范围为:
起始地址根据目标嵌入式系统的存储器配置确定,长度应不小于不需修改的源代码的对应代码段长度与数据段长度之和;
代码段起始地址等于装载段1的起始地址,代码段长度应等于不需修改源代码的对应代码段长度;
数据段起始地址等于代码段起始地址加上代码段长度,数据段长度应等于不需修改源代码的对应数据段长度。
装载段2描述的地址映射空间存储对应需要修改的源代码的可执行映像文件,其中与装载段2相关的各个参数的确定原则或取值范围为:
起始地址等于装载段1起始地址加上装载段1的长度,长度应不小于需修改源代码的对应代码段长度与数据段长度之和;
代码段起始地址等于装载段2的起始地址,代码段长度应大于或等于需修改源代码的对应代码段长度;
数据段起始地址等于代码段起始地址加上代码段长度,数据段长度应大于或等于需修改源代码的对应数据段长度。
步骤303,根据步骤302编辑的地址映射描述文件链接目标文件,生成两个可执行映像文件,可执行映像文件一包含不需要修改的源代码的可执行代码段和数据段;可执行映像文件二包含需要修改的源代码的可执行代码段和数据段。
步骤304,根据用户指令,将步骤303生成的两个可执行映像文件中修改的部分转换为可装载文件。
所述的用户指令包括三种情况:一种是用户指令要求完整装载,即将两个可执行映像文件全部转换为可装载文件,这种指令用于嵌入式系统调试过程中的第一次装载或可执行映像文件一和二的源代码都进行了修改的情况。这里,也可以将第一次装载的情况看作可执行映像文件一和二的源代码都进行了修改的一种特殊情况;
第二种用户指令要求部分装载,即提取可执行映像文件一中由于重新编译链接导致部分指令改变的代码,将可执行映像文件一中改变的部分与可执行映像文件二转换为可装载文件;
第三种用户指令要求只装载可执行映像文件二,这种指令用于可执行映像文件一没有进行任何修改,只有可执行映像文件二的源代码修改的情况。
这里,可装载文件可以采用如下所示的数据格式:
组成                代表符号       长度
文件头数据组成
文件标记            File_Mark      4字节
文件数据长度        File_Length    4字节
数据区数据组成
数据块1头信息
数据块1标记        DB1_Mark        4字节
数据块1偏移量      DB1_Offset      4字节
数据块1长度        DB1_Length      4字节
数据块1数据        DB1_Data        DB1_Length字节
数据块2头信息
数据块2标记        DB2_Mark      4字节
数据块2偏移量      DB2_Offset    4字节
数据块2长度        DB2_Length    4字节
数据块2数据        DB2_Data      DB2_Length字节
数据块n头信息
数据块n标记        DBn_Mark      4字节
数据块n偏移量      DBn_Offset    4字节
数据块n长度        DBn_Length    4字节
数据块n数据        DBn_Data      DBn_Length  字节
文件结尾数据块头信息
文件结束标记       File_Tail     4字节
上述文件格式中的n为大于0的整数。每一个数据块的偏移量表征了该数据块在存储单元的起始位置。
步骤305,将步骤304转换的可装载文件下载到目标嵌入式系统,并存储到存储单元的相应位置后,引导嵌入式系统软件运行进行调试。
这里,目标嵌入式系统根据可装载文件携带的数据块在存储空间的存储位置信息,将可装载文件中的数据块存储到存储空间的相应位置。
如果采用步骤304所述的可装载文件格式,则目标嵌入式系统根据接收到的可装载文件的每一个数据块的偏移量信息,将每一个数据块存储到存储单元的相应位置。
具体而言,将可装载文件下载到目标嵌入式系统,并存储到存储单元的相应位置包括以下过程:
A1、根据目标嵌入式系统发送的等待下载的提示,向目标嵌入式系统发送可装载文件的文件头数据。
A2、在目标嵌入式系统返回成功接收文件头数据的握手消息后,向目标嵌入式系统发送可装载文件的数据区数据。
A3、目标嵌入式系统接收到下载的数据区数据后,根据接收的每一个数据块的偏移量信息,将接收到的数据块写入存储单元的相应位置。
A3、在目标嵌入式系统返回成功接收数据区数据的握手消息后,装载成功。
图4为本发明的嵌入式系统的调试系统的结构示意图,如图4所示,该调试系统包括:能够控制目标嵌入式系统的计算机系统和目标嵌入式系统,其中,
能够控制目标嵌入式系统的计算机系统包括:编译链接器401、装载文件生成器402、引导装载器部件一403。目标嵌入式系统包括:引导装载器部件二404、存储单元405。这里,所述的能够控制目标嵌入式系统的计算机系统可以是桌面计算机、笔记本电脑等具有控制嵌入式系统的功能的计算机系统。
引导装载器部件一403与引导装载器部件二404相连,二者可以通过通讯端口相连,进行信息交互。这里,所述的通讯端口可以是串行接口、并行接口或USB通用串行接口。
编译链接器401,用于将目标嵌入式系统的软件源代码编译生成目标文件后,根据用户编辑的执行地址映射描述文件链接目标文件生成包含不需要修改源代码的可执行代码段和数据段的可执行映像文件一和包含需要修改的调试源代码的可执行代码段和数据段的可执行映像文件二。
装载文件生成器402,用于根据用户指令,将编译链接器401生成的可执行映像文件一和二的中修改的部分转换为可装载文件,并将生成的可装载文件发送给引导装载器部件一403。
引导装载器部件一403与引导装载器部件二404通过信息交互,将可装载文件下载到引导装载器部件二404。
引导装载器部件二404将接收到的可装载文件存储到存储单元405的相应位置。
这里,引导装载器部件二404根据可装载文件携带的数据块在存储空间的存储位置信息,将可装载文件中的数据块下载到存储空间405的相应位置。
引导装载器部件一403与引导装载器部件二404通过信息交互,将可装载文件下载到引导装载器部件二404,包括:
a、引导装载器部件一403根据引导装载器部件二404发送的等待下载的提示,向引导装载器部件二404发送可装载文件的文件头数据;
b、引导装载器部件一403接收到引导装载器部件二404返回的成功接收文件头数据的握手消息后,向引导装载器部件二404发送可装载文件的数据区数据;
c、引导装载器部件一403接收到引导装载器部件二404返回的成功接收数据区数据的握手消息后,向能够控制嵌入式系统的计算机系统的控制台提示装载成功。
引导装载器部件二404还用于引导完整的嵌入式系统软件运行,进行嵌入式软件和系统调试。
引导装载器部件二404通过与引导装载器部件一403之间的通讯端口向能够控制嵌入式系统的计算机系统控制台发送嵌入式系统调试结果的打印信息。
本发明所述的引导装载器部件二404可以直接引导存储单元405中的嵌入式系统软件运行,所述的嵌入式系统软件即下载到存储单元中的所有可装载文件;也可以先将存储单元405中的嵌入式系统软件拷贝到嵌入式系统的其它存储单元中后,再引导嵌入式系统软件运行,进行调试。
由以上实施例可见,本发明的嵌入式软件装载调试方法及其系统,通过分离不需要修改和需要修改的源代码的可执行映像文件,调试中只需要将源代码修改部分的可执行映像文件装载到目标嵌入式系统,实现了在低成本的基础上提高嵌入式软件装载调试效率的目的。

Claims (10)

1.一种嵌入式软件装载调试方法,编译嵌入式系统软件源代码生成目标文件,其特征在于,该方法还包括以下步骤:
A、确定需要修改和不需要修改的源代码,编辑地址映射描述文件,将目标嵌入式系统的存储空间划分为两个部分;
B、根据步骤A的地址映射描述文件链接目标文件,生成包含不需要修改的源代码的可执行映像文件一和包含需要修改的源代码的可执行映像文件二;
C、根据用户指令将步骤B生成的两个可执行映像文件中修改的部分转换为可装载文件,并将转换的可装载文件下载到目标嵌入式系统,存储到存储空间的相应位置,引导嵌入式系统软件运行进行调试。
2.如权利要求1所述的方法,其特征在于,所述生成目标文件时,进一步包括:记录每一段源代码对应的代码段和数据段的大小;
步骤A所述确定需要修改和不需要修改的源代码后,进一步包括:根据记录的每一段源代码对应的代码段和数据段的大小,分别计算需要修改和不需要修改的源代码对应的代码段和数据段的大小;
步骤A所述将存储空间划分为两个部分为:根据目标嵌入式系统的硬件存储器配置以及需要修改的源代码和不需要修改的源代码对应的代码段和数据段的大小将存储空间分为两个部分。
3.如权利要求1或2所述的方法,其特征在于,步骤C所述根据用户指令将步骤B生成的两个可执行映像文件中修改的部分转换为可装载文件为:
根据用户指令将两个可执行映像文件全部转换为可装载文件;或
根据用户指令提取可执行映像文件一中由于重新编译链接导致的部分指令修改的代码,并将可执行映像文件一中修改的代码与可执行映像文件二合并后转换为可装载文件;或
根据用户指令将可执行映像文件二转换为可装载文件;
步骤C所述的将可装载文件存储到存储空间的相应位置为:根据可装载文件中携带的数据块在存储空间的存储位置信息,将可装载文件中的数据块存储到存储空间的相应位置。
4.如权利要求3所述的方法,其特征在于,所述可装载文件中携带的数据块在存储空间的存储位置信息为:可装载文件中每一个数据块的偏移量信息。
5.如权利要求1或2所述的方法,其特征在于,步骤A所述需要修改的源代码包括:目标嵌入式系统中的未经调试的应用软件代码、目标嵌入式系统外设的驱动代码、以及目标嵌入式系统外设的功能代码;
所述不需要修改的源代码包括:已经过调试的稳定的目标嵌入式系统代码。
6.一种嵌入式软件装载调试系统,该系统包括:能够控制目标嵌入式系统的计算机系统和目标嵌入式系统,其特征在于,能够控制目标嵌入式系统的计算机系统包括:编译链接器、装载文件生成器以及引导装载器部件一;目标嵌入式系统包括:引导装载器部件二和存储单元;
引导装载器部件一与引导装载器部件二相连进行信息交互,
编译链接器,用于将目标嵌入式系统的软件源代码编译生成目标文件后,根据用户编辑的执行地址映射描述文件链接目标文件,生成包含不需要修改的源代码的可执行映像文件一和包含需要修改的源代码的可执行映像文件二;
装载文件生成器,用于根据用户指令,将编译链接器生成的两个可执行映像文件中修改的部分转换为可装载文件,并将转换的可装载文件发送给引导装载器部件一;
引导装载器部件一与引导装载器部件二通过信息交互,将可装载文件下载到引导装载器部件二;
引导装载器部件二将可装载文件存储到存储单元的相应位置,并引导嵌入式系统软件运行进行调试。
7.如权利要求6所述的系统,其特征在于,所述引导装载器部件二包括:数据块存储模块,用于根据可装载文件携带的数据块在存储单元的存储位置信息,将可装载文件中的数据块存储到存储单元的相应位置。
8.如权利要求6或7所述的系统,其特征在于,所述目标嵌入式系统进一步包括:存储单元二,用于存储目标嵌入式系统从所述存储单元拷贝的嵌入式系统软件;
所述引导装载器部件二进一步用于引导存储单元二中的嵌入式系统软件运行。
9.如权利要求6或7所述的系统,其特征在于,所述引导装载器部件一与引导装载器部件二通过通讯端口相连;
所述的通讯端口为串行接口、并行接口或USB通用串行接口。
10.如权利要求6或7所述的系统,其特征在于,所述能够控制目标嵌入式系统的计算机系统为:桌面计算机、或笔记本电脑。
CNB2006101112813A 2006-08-21 2006-08-21 一种嵌入式软件装载调试方法及其系统 Expired - Fee Related CN100405325C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101112813A CN100405325C (zh) 2006-08-21 2006-08-21 一种嵌入式软件装载调试方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101112813A CN100405325C (zh) 2006-08-21 2006-08-21 一种嵌入式软件装载调试方法及其系统

Publications (2)

Publication Number Publication Date
CN1904853A CN1904853A (zh) 2007-01-31
CN100405325C true CN100405325C (zh) 2008-07-23

Family

ID=37674123

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101112813A Expired - Fee Related CN100405325C (zh) 2006-08-21 2006-08-21 一种嵌入式软件装载调试方法及其系统

Country Status (1)

Country Link
CN (1) CN100405325C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392895B2 (en) 2009-01-13 2013-03-05 Mediatek Inc. Firmware extension method and firmware builder
CN101894069B (zh) * 2010-06-10 2015-04-01 中兴通讯股份有限公司 Linux中的早期串口打印调试方法及装置
CN102486840A (zh) * 2010-12-03 2012-06-06 上海华虹集成电路有限责任公司 采用非rom方式引导程序的智能卡及其程序引导方法
CN102147758A (zh) * 2011-03-16 2011-08-10 深圳创维数字技术股份有限公司 一种待测设备自动编译及配置方法、装置、系统
CN103135997A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 实现嵌入式设备引导程序通用性的方法及装置
CN104657175B (zh) * 2015-02-06 2018-07-03 西安电子科技大学 利用配置芯片实现启动引导和数据的读写系统及方法
CN105260184B (zh) * 2015-10-15 2019-02-19 Oppo广东移动通信有限公司 一种恢复镜像文件的调试方法及装置
CN108446214B (zh) * 2018-01-31 2021-02-05 浙江理工大学 基于dbn的测试用例进化生成方法
CN113885917A (zh) * 2021-10-18 2022-01-04 中国第一汽车股份有限公司 控制器的程序刷写方法、装置、控制器和存储介质
CN117591193A (zh) * 2023-07-27 2024-02-23 北京智芯微电子科技有限公司 应用后下载方法、装置、片上系统、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
CN1286431A (zh) * 1999-11-30 2001-03-07 深圳市中兴通讯股份有限公司 嵌入式软件辅助调试方法
CN1567232A (zh) * 2003-07-10 2005-01-19 华为技术有限公司 嵌入式系统的测试装置及测试方法
CN1591334A (zh) * 2003-09-05 2005-03-09 英业达股份有限公司 嵌入式系统程序精简处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
CN1286431A (zh) * 1999-11-30 2001-03-07 深圳市中兴通讯股份有限公司 嵌入式软件辅助调试方法
CN1567232A (zh) * 2003-07-10 2005-01-19 华为技术有限公司 嵌入式系统的测试装置及测试方法
CN1591334A (zh) * 2003-09-05 2005-03-09 英业达股份有限公司 嵌入式系统程序精简处理方法及系统

Also Published As

Publication number Publication date
CN1904853A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
CN100405325C (zh) 一种嵌入式软件装载调试方法及其系统
TWI439931B (zh) 用於增加三角差動效能之目的碼之產生
JP4183399B2 (ja) 複数言語のコンパイル方法及びシステム
US6795963B1 (en) Method and system for optimizing systems with enhanced debugging information
US6874140B1 (en) Debug annotations
CN109783081A (zh) 一种应用程序的开发方法、装置及集成开发工具
US6934940B2 (en) Source code transformation-temporary object reduction
US20050065953A1 (en) System and method for changing defined elements in a previously compiled program using a description file
CN105164641A (zh) 扩展开发环境
US8776024B2 (en) Software application fine-tuning method, system, and corresponding computer program product
CN102298518B (zh) 从技术未知的管理命令到多个管理协议的转换
CN116627429B (zh) 一种汇编代码生成方法、装置及电子设备和存储介质
CN103077038A (zh) 动态生成和编译.net项目的方法
Hermenegildo A documentation generator for (C) LP systems
Strumpen Compiler technology for portable checkpoints
CN110275706A (zh) 程序发布和加载方法、装置、计算机系统及可读存储介质
US20010042241A1 (en) Apparatus and method for executing program using just-in time-compiler system
JP2002032321A (ja) 汎用ドライバ・サーバ
Sparud et al. Complete and partial redex trails of functional computations
CN101256499B (zh) 一种下载目标文件的方法及系统
Cifuentes Partial automation of an integrated reverse engineering environment of binary code
CN113157329A (zh) 启动应用的方法、系统、服务器和存储介质
CN113835686A (zh) 代码处理方法和装置
CN111880803A (zh) 一种应用于多平台的软件构建方法及装置
CN101436190A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080723

Termination date: 20120821