数字信号处理器可执行文件的加载方法与装置的制作方法

文档序号:6463199阅读:98来源:国知局
专利名称:数字信号处理器可执行文件的加载方法与装置的制作方法
技术领域
本发明涉及数字信号处理器(DSP, Digital Signal Processor)程序加载技术,
更确切地说是涉及数字信号处理器可执行文件的加载方法与装置。
背景技术
在进行DSP的程序编译时,编译链接后一般都会生成两个文件一个是可执 行文件xx.out文件(或者是elf格式文件)及链接后的符号表信息文件xx.map 文件。其中,xx.out文件是DSP加载文件,xx.map文件是供xx.out文件调试用 的, 一般仅供开发人员使用。在加载到DSP之前,现有技术通常将可执行文件 xx.out文件转换成DSP上存储器映像的二进制文件xx.bin,再将xx.bin文件的 内容加载到DSP的存储器中,具体步骤如下
a. 将针对DSP编译链接生成的可执行文件转换为DSP内存映像文件。该步 骤通过使用编译器的文件转换工具来完成的,内存映像文件中不包含符号表信 息。
b. 通过各种硬件接口例如HPI ( Host Port Interface ,主机接口 ) 、 DSI (Distributed System Interface,分布式系统接口 )、 sRIO ( serial Rapid 10,串行
快速总线接口 )或以太网(ETH)接口等将DSP内存映像文件加载到DSP的 存储器中。
加载完DSP内存映像文件,通过硬件接口触发DSP处理器运行即可。由 于xx.bin文件是不包含符号表信息的,因此DSP上的存储器中也不包含任何的 符号表信息。这导致了 DSP上的程序不能在线査询符号信息,很多需要符号表 查询功能支持的调试功能如远程登录DSP处理器对其指定变量值进行在线查 询、通过控制台进行命令输入等难于实现。在对DSP在线调试时,测试人员通常希望能够在程序运行过程中查询某些全局变量的值,或是通过命令的方式干 预程序的运行,要实现这些功能,需要有符号表功能的支持,这样才能通过调 试代理查询到测试人员指定的全局变量或是命令函数的地址并执行相应的变量 查询和命令函数调用功能。没有符号表功能的支持,这些调试功能都难于实现。 在对DSP程序离线调试分析时,符号信息文件和DSP存储器内容快照文件的
对应关系不能保证。需要将DSP存储器的内容存储到一个快照文件中,再査找 编译链接DSP程序时生成的映射(map)文件,从中查询符号信息,再到存储 器内容快照文件中去查询符号的值,进行离线分析。由于存储器内容快照文件 和符号信息文件的对应关系是人为维护的,其一一对应关系难以保证。同时由 于符号信息和存储器内容快照文件分离也不利于对DSP程序进行自动化分析。

发明内容
有鉴于此,本发明的主要目的在于提供一种数字信号处理器可执行文件的 加载方法与装置,使DSP支持在线调试,方便开发人员对DSP进行调试。
为达到上述目的,本发明的技术方案是这样实现的
一种数字信号处理器可执行文件的加载方法,包括
对数字信号处理器DSP程序编译后生成可执行文件;
将所述可执行文件转换为DSP内存映像文件并存储于模拟存储区,获取所 述内存映像文件中符号的地址信息并存储于所述模拟存储区的预留地址段;以 及
将所述模拟存储区中的内存映像文件及符号地址信息均加载到所述DSP存 储器中。
优选地,获取所述内存映像文件中符号的地址信息,具体为
编译DSP程序时还生成有map文件,所述map文件中记录有各符号在所
述内存映像文件中的地址信息。
优选地,所述内存映像文件及符号地址信息通过主机接口 HPI、分布式系
统接口 DSI、串行快速总线接口 sRIO或以太网ETH接口加载到DSP存储器中。优选地,所述符号地址信息加载到所述DSP存储器中指定的存储区。
优选地,所述指定存储区位于DSP外部存储器。
优选地,所述符号包括变量、函数及参数。
一种数字信号处理器可执行文件的加载装置,包括
可执行文件生成单元,用于对DSP程序编译后生成可执行文件;
内存映像文件转换单元,用于将所述可执行文件转换为DSP内存映像文件;
符号地址信息获取单元,用于获取所述内存映像文件中符号的地址信息;
存储单元,用于将内存映像文件存储于模拟存储区、将符号地址信息存储 于模拟存储区的预留地址段;以及
加载单元,用于将所述模拟存储区中的内存映像文件及符号地址信息均加 载到DSP存储器中。
优选地,所述可执行文件生成单元编译DSP程序时还生成有map文件,所 述map文件中记录有各符号在内存映像文件中的地址信息,所述符号地址信息 获取单元从所述map文件中获取符号的地址信息。
优选地,所述加载单元通过HPI、 DSI、 sRIO或ETH接口将所述内存映像 文件及符号地址信息加载到DSP存储器中。
优选地,所述加载单元将符号地址信息加载到所述DSP存储器中指定的存 储区。
优选地,所述指定存储区配置于DSP的外部存储器。 优选地,所述符号包括变量、函数及参数。
本发明在加载DSP内存映像文件之前,在DSP存储器中指定专用存储区, 用来存储DSP程序中符号地址信息,开发人员在对DSP进行调试时,可通过 符号地址信息与符号的对应关系查询到DSP程序中的变量值,在线查询某些函 数,在调试过程中开发人员可轻易通过控制台命令调用函数,查看符号变量等, 大大方便了调试工作。本发明的技术方案实现简单、实用。


图1为本发明数字信号处理器可执行文件的加载方法的流程图2为本发明数字信号处理器可执行文件的加载装置的组成结构示意图。
具体实施例方式
以下结合附图对本发明的技术方案进行详细说明。
图1为本发明数字信号处理器可执行文件的加载方法的流程图,如图1所
示,本发明数字信号处理器可执行文件的加载方法包括以下步骤
步骤101:对数字信号处理器DSP程序编译后生成可执行文件。DSP程序 开发人员通过DSP程序专用编译器在开发环境下进行DSP程序编译,编译链 接后得到可执行文件如xx.out文件(或者是df格式文件)及记录着符号地址信 息的map文件。在生成可执行文件时,编译器将自动生成map文件。
步骤102:将所述可执行文件转换为DSP内存映像文件并存储于模拟存储 区,获取所述内存映像文件中符号的地址信息并存储于所述模拟存储区的预留 地址段。
设置DSP程序的调试环境,设置模拟DSP内存环境的模拟存储区,以实 现对DSP程序的外部调试,将步骤101中生成的可执行文件转换为DSP内存 映像文件。编译器一般均支持可执行文件的转换,如将可执行文件为映像二进 制文件或十六进制文件等DSP支持的可执行指令模式。同时,在模拟存储区中 设置一部分专用存储区,以存储DSP内存映像文件中相应符号的地址信息,为 预留的存储地址段。map文件中记录有各符号在所述内存映像文件中的地址信 息,从map文件提取DSP内存映像文件中相应符号的地址信息。这里的符号主 要是DSP程序中的全局变量的符号、函数及一些重要的参数。符号的提取根据 调试需求决定,可仅提取全局变量的符号信息,也可仅提取函数的符号信息。 需要说明的是,在DSP存储器中,同样设置有存储DSP内存映像文件相应符 号地址信息的专用存储区,该区域不存储DSP程序数据。DSP存储器中的专用 存储区需要事先设置,其大小由待存储符号地址信息的大小而决定。步骤103:将所述模拟存储区中的内存映像文件及符号地址信息均加载到 所述DSP存储器中。
加载方式是通过硬件接口如HPI、 DSI、 sRIO或ETH接口等将模拟存储区 中的内存映像文件及符号地址信息加载到DSP存储器中。具体地,DSP内存映 像文件加载到DSP内存中,符号地址信息加载到DSP内存的指定存储区中或 外设的存储器中的指定存储区。
符号地址信息在DSP内存中或外设的存储器的指定存储区的存储方式如表 一所示,可将各符号的头信息和符号内容信息分别存储,通过符号的头信息可 迅速定位该符号的内容信息。本发明在DSP存储器中存储DSP内存映像文件 中相应符号的地址信息的目的是方便开发人员查找相应的符号,并不限定符号 和符号地址信息的存储方式。
符号首地址符号占用地址长度
符号1地址符号1的变量长度
符号2地址符号2的变量长度
符号n地址符号n的变量长度
符号1内容信息符号2内容信息
符号n-1内容信息符号n内容信息
表一
本发明在DSP存储器中添加了 DSP内存映像文件相关的符号表信息,保 证了 DSP程序加载后可以查询符号信息,DSP支持在线调试功能,DSP程序可 以在线查询全局变量、函数等。在此基础上,通过开发DSP程序上运行的调试 代理,即可支持调试人员在线查询变量值,以及通过控制台执行命令函数等能。 方便了DSP程序的调试。在进行离线调试时,由于符号表信息已经存储在DSP 的存储器中,离线调试所需的DSP快照文件中也包含了符号信息,不必再依赖 DSP程序的原map文件,不必维护map文件和存储器内容快照文件的 一一对应关系。
图2为本发明数字信号处理器可执行文件的加载装置的组成结构示意图, 如图2所示,本发明数字信号处理器可执行文件的加载装置包括可执行文件生
成单元20、内存映像文件转换单元21、符号地址信息获取单元22、存储单元 23和加载单元24,其中,可执行文件生成单元20用于对DSP程序编译后生成 可执行文件,同时还生成有map文件,map文件中记录有各符号在内存映像文 件中的地址信息。这里的符号主要是DSP程序中的全局变量的符号、函数及一 些重要的参数。内存映像文件转换单元21用于将所述可执行文件转换为DSP 内存映像文件。符号地址信息获取单元22用于获取所述内存映像文件中符号的 地址信息,具体是从所述map文件中获取的。存储单元23用于将内存映像文 件存储于模拟存储区、将符号地址信息存储于模拟存储区的预留地址段。加载 单元24用于将所述模拟存储区中的内存映像文件及符号地址信息均加载到 DSP存储器中。具体地,DSP内存映像文件加载到DSP内存中,符号地址信息 加载到DSP内存的指定存储区中或外设的存储器中的指定存储区。DSP存储器
中的专用存储区需要事先设置,其大小由待存储符号地址信息的大小而决定。 加载单元24具体通过HPI、 DSI、 sRIO或ETH接口等硬件接口将内存映像文 件及符号地址信息加载到DSP存储器中。
本领域技术人员应当理解,上述各单元可通过相应的软件来实现所描述的 功能,也可通过相应的电路来实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种数字信号处理器可执行文件的加载方法,其特征在于,该方法包括对数字信号处理器DSP程序编译后生成可执行文件;将所述可执行文件转换为DSP内存映像文件并存储于模拟存储区,获取所述内存映像文件中符号的地址信息并存储于所述模拟存储区的预留地址段;以及将所述模拟存储区中的内存映像文件及符号地址信息均加载到所述DSP存储器中。
2、 根据权利要求l所述的方法,其特征在于,获取所述内存映像文件中符 号的地址信息,具体为编译DSP程序时还生成有映射map文件,所述map文件中记录有各符号 在所述内存映像文件中的地址信息。
3、 根据权利要求l所述的方法,其特征在于,所述内存映像文件及符号地 址信息通过主机接口 HPI、分布式系统接口 DSI、串行快速总线接口 sRIO或以 太网ETH接口加载到DSP存储器中。
4、 根据权利要求l所述的方法,其特征在于,所述符号地址信息加载到所 述DSP存储器中指定的存储区。
5、 根据权利要求4所述的方法,其特征在于,所述指定存储区位于DSP 外部存储器。
6、 根据权利要求1至5中任一项所述的方法,其特征在于,所述符号包括 变量、函数及参数。
7、 一种数字信号处理器可执行文件的加载装置,其特征在于,该装置包括 可执行文件生成单元,用于对DSP程序编译后生成可执行文件; 内存映像文件转换单元,用于将所述可执行文件转换为DSP内存映像文件; 符号地址信息获取单元,用于获取所述内存映像文件中符号的地址信息; 存储单元,用于将内存映像文件存储于模拟存储区、将符号地址信息存储于模拟存储区的预留地址段;以及加载单元,用于将所述模拟存储区中的内存映像文件及符号地址信息均加 载到DSP存储器中。
8、 根据权利要求7所述的装置,其特征在于,所述可执行文件生成单元编译DSP程序时还生成有map文件,所述map文件中记录有各符号在内存映像 文件中的地址信息,所述符号地址信息获取单元从所述map文件中获取符号的 地址信息。
9、 根据权利要求7所述的装置,其特征在于,所述加载单元通过HPI、 DSI、 sRIO或ETH接口将所述内存映像文件及符号地址信息加载到DSP存储器中。
10、 根据权利要求7所述的装置,其特征在于,所述加载单元将符号地址 信息加载到所述DSP存储器中指定的存储区。
11、 根据权利要求10所述的装置,其特征在于,所述指定存储区配置于 DSP的外部存储器。
12、 根据权利要求7至11中任一项所述的装置,其特征在于,所述符号包 括变量、函数及参数。
全文摘要
本发明公开了一种数字信号处理器可执行文件的加载方法,涉及DSP程序加载技术,为解决目前DSP调试不便而提出,所采用的技术方案为对数字信号处理器DSP程序编译后生成可执行文件;将所述可执行文件转换为DSP内存映像文件并存储于模拟存储区,获取所述内存映像文件中符号的地址信息并存储于所述模拟存储区的预留地址段;以及将所述模拟存储区中的内存映像文件及符号地址信息均加载到所述DSP存储器中。本发明同时公开了一种实现上述方法的装置。采用本发明方案后,DSP支持在线查询某些函数,在调试过程中开发人员可轻易通过控制台输入命令实现函数调用,查看符号变量等功能,大大方便了调试工作。本发明的技术方案实现简单、实用。
文档编号G06F9/445GK101546268SQ20081010272
公开日2009年9月30日 申请日期2008年3月25日 优先权日2008年3月25日
发明者坤 李, 蒋石竹 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1