Dsp芯片中实现运行代码加载的方法

文档序号:6613385阅读:236来源:国知局
专利名称:Dsp芯片中实现运行代码加载的方法
技术领域
本发明涉及数字信号处理(DSP)领域,特别涉及数字信号处理芯片运行控制技术领域, 具体是指一种DSP芯片中实现运行代码加载的方法。
背景技术
随着现代集成电5^支术的不断进步和集成电路产业的继续发展,越来越多的电子产品中 应用了DSP芯片,人们可以基于DSP芯片实现各种控制功能,大大增强了电子产品的应用 领域和范围。
其中,为了能够使得DSP芯片正常运行,其中的运行代码加栽是不可或缺的重要处理步 骤。现有技术中,DSP运行代码进行编译后的.out文件通常是通过上层微处理器单元(MPU) 进行加栽的, 一般是上电后直接将.out文件加栽(load)到DSP芯片中的代码存储空间内。
但是,通常的DSP芯片内的代码存储空间都有限,而随着各种控制功能的不断增强和完 善,.out文件会越来越大,经常会出现超过该DSP芯片内的存储空间的情况。在这种情况下, 通常的一个解决方法是更换DSP芯片,选取代码存储空间大的型号;另一个解决方法是对 DSP运行代码进行优化,减小文件大小。然而这两种方法都比i^寐烦,前者需要改动硬件设 计,增加了研发和生产成本,而后者则需要修改DSP代码,工作量大,也提高了研发和测试 的成本,这样就给DSP芯片控制技术的大自普及应用带来了一定的障碍。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够在有限的DSP芯片代码存 储空间中运行超大代码、无需改动硬件设计或者大量修改代码、简单快捷、工作性能稳定可 靠、适用范围较为广泛的DSP芯片中实现运行代码加载的方法。
为了实现上述的目的,本发明的DSP芯片中实现运行代码加载的方法如下 该DSP芯片中实现运行代码加载的方法,其中使用与DSP芯片相连接的微处理器单元, 其主要特点是,所述的方法包括以下步骤
(1)将DSP运行代码进行分割编译处理,得到初始运行代码和后续运行代码;(2)微处理器单元首先向DSP芯片中加栽该初始运行代码;
(3 ) DSP芯片执行该初始运行代码,并记录相应的初始化运行结果;
(4) 微处理器单元对所述的初始化运行结果进行判断;
(5) 如果初始化运行失败,则微处理器单元进行,处理;
(6) 如果初始化运行成功,则微处理器单元向DSP芯片中加载后续运行代码,执行后 续处理流程。
该DSP芯片中实现运行代码加载的方法中的对DSP运行代码进行分割编译处理,包括 以下步骤
(1) 将DSP运行代码中只需要执行一次的代码提取出来,并单独编译,得到初始运行
代码;
(2) 将DSP运行代码中的其余部分代码单独编译,得到后续运行代码。
该DSP芯片中实现运行代码加载的方法中的只需要执行一次的代码至少包括变量初始化 代码、表格赋值代码、内存清零代码和自检部分代码。
该DSP芯片中实现运行代码加载的方法中的DSP芯片执行该初始运行代码,包括以下 步骤
(1) DSP芯片根据该初始运行代码对变量进行初始化;
(2) DSP芯片根据该初始运行代码对表格进行初始化; (3 ) DSP芯片根据该初始运行代码对内存进行清零;
(4) DSP芯片根据该初始运行代码进行自检操作。
该DSP芯片中实现运行代码加栽的方法中的记录相应的初始化运行结果,包括以下步骤
(1) 如果执行该初始化运行代码成功,则DSP芯片在系统预设的地址写入预设的成功
信息;
(2) 如果执行该初始化运行代码失败,则DSP芯片在系统预设的地址写入预设的失败信息。
该DSP芯片中实现运行代码加栽的方法中的微处理器单元对初始化运行结果进行判断, 包括以下步骤
(1) 微处理器单元周期性的扫描所述系统预设的地址中的信息;
(2) 如果检测到该地址中的信息与预设的成功信息相一致,则返回初始化运行成功的结
果;
(3 )如果检测到该地址中的信息与预设的失败信息相一致,则返回初始化运行失败的结果。
该DSP芯片中实现运行代码加栽的方法中的微处理器单元进行错误处理,包括以下步骤
(1) 微处理器单元上报失败;
(2) 停止后续的运行代码的加载,并等待进一步指令。
采用了该发明的DSP芯片中实现运行代码加栽的方法,由于首先将变量初始化、表格赋 值、内存清零、自检等只需要执行一次的DSP运行代码提取出来单独编译生成初始化运行代 码文件,而将剩余的其它部分代码编译生成后续运行代码文件,而通常的初始化运行代码占 用了很大一部分代码空间,将这部分提取出来,便能够大大减小后续运行代码的大小;接着 MPU先加载初始化运行代码文件,再根据初始化运行结果加栽后续运行代码文件,此时,DSP 芯片即能够按照正常流程执行下去,从而巧妙实现了对运行代码的简单分割,并通过两步加 栽,有效的解决了 DSP运行代码超出存储空间的问题,既不需要改动硬件设计,也不需要大 量修改代码,简单快捷,工作性能稳定可靠,适用范围较为广泛,为DSP芯片控制技术的进 一步大规模普及应用奠定了坚实的基础。


图1为本发明的DSP芯片中实现运行代码加载的方法在初始化运行代码执行成功时的交 互流程示意图。
图2为本发明的DSP芯片中实现运行代码加栽的方法在初始化运行代码执行失败时的交 互流程示意图。
具体实施例方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。 请参阅图1和图2所示,该DSP芯片中实现运行代码加载的方法,其中使用与DSP芯 片相连接的微处理器单元,所迷的方法包括以下步骤
(1) 将DSP运行代码进行分割编译处理,得到初始运行代码和后续运行代码;该对DSP 运行代码进行分割编译处理,包括以下步骤
(a) 将DSP运行代码中只需要执行一次的代码提取出来,并单独编译,得到初始运 行代码,该只需要执行一次的代码至少包括变量初始化代码、表格赋值代码、内存清 零代码和自检部分代码;
(b) 将DSP运行代码中的其余部分代码单独编译,得到后续运行代码;
(2) 微处理器单元首先向DSP芯片中加栽该初始运行代码;(3) DSP芯片执行该初始运行代码,并记录相应的初始化运行结果;其中,该DSP芯 片执行该初始运行代码,包括以下步骤
(a) DSP芯片根据该初始运行代码对变量进行初始化;
(b) DSP芯片根据该初始运行代码对表格进行初始化;
(c) DSP芯片根据该初始运行代码对内存进行清零;
(d) DSP芯片根据该初始运行代码进行自检操作; 该记录相应的初始化运行结果,包括以下步骤
(a) 如果执行该初始化运行代码成功,则DSP芯片在系统预设的地址写入预设的成 功信息;
(b) 如果执行该初始化运行代码失败,则DSP芯片在系统预设的地址写入预设的失 败信息;
(4) 微处理器单元对所述的初始化运行结果进行判断,包括以下步骤
(a) 微处理器单元周期性的扫描所述系统预设的地址中的信息;
(b) 如果检测到该地址中的信息与预设的成功信息相一致,则返回初始化运行成功 的结果;
(c) 如果检测到该地址中的信息与预设的失败信息相一致,则返回初始化运行失败 的结果;
(5) 如果初始化运行失败,则微处理器单元进行错误处理,包括以下步骤
(a) 微处理器单元上报失败;
(b) 停止后续的运行代码的加载,并等待进一步指令;
(6) 如果初始化运行成功,则微处理器单元向DSP芯片中加载后续运行代码,执行后 续处理流程。
在实际使用当中,本发明的方法可以被称为两步加载法,该方法既不需要改动硬件设计, 也不需要大量修改代码,具体如下
首先,将变量初始化,表格赋值,内存清零,自检等只需要执行一次的DSP运行代码提 取出来,单独放到一个文件中,编译生成一个initial.out文件,将剩余的其他部分代码编译生 成一个文件main.out。通常初始化和自检等代码占用了很大一部分代码空间,将这部分提取 出来,可以大大减小mian.out的尺寸。
然后,MPU先加载initial.out文件,让DSP芯片进行初始化,自检等操作。
最后,再将mian.out文件加载,此时,DSP芯片便可以按照正常流程执行下去。其具体步骤如下 步骤一 ——代码分割
DSP运行代码中变量初始化、表格赋值、内存清零、自检部分等所有只需要执行一次的 代码提取出来,单独编译成为一个initial.out文件。其余部分代码编译为main.out文件。 步骤二——加栽initial.out
MPU側保存了 initial.out和main.out文件,先加栽initial.out文件,DSP芯片运4f该 initial.out,对变量、表格初始化,内存清零,自检,执行成功后,在系统预设的固定地址写 入预设的成功信息,比如0x55555555;如果自检不通过,或者初始化失败,在该固定地址 写入预设的失败信息,比如Oxaaaaaaaa。同时,MPU在加载intial.out文件后,周期扫描该 固定地址的数值信息,如果检测到DSP芯片初始化成功信息,可以进行下一步的操作。如果 检测到DSP芯片返回的失败信息,则上报失败,停止下一步的加栽,等待查明原因。
步骤三-加载main.out
MPU收到DSP芯片的初始化成功信息后,加栽main.out文件,覆盖initial.out占用的代 码空间,然后,main.out跳过初始化过程,按照正常流程执行。
采用了上述的DSP芯片中实现运行代码加栽的方法,由于首先将变量初始化、表格赋值、 内存清零、自检等只需要执行一次的DSP运行代码提取出来单独编译生成初始化运行代码文 件,而将剩余的其它部分代码编译生成后续运行代码文件,而通常的初始化运行代码占用了 很大一部分代码空间,将这部分提取出来,便能够大大减小后续运行代码的大小;接着MPU 先加载初始化运行代码文件,再才艮据初始化运行结果加栽后续运行代码文件,此时,DSP芯 片即能够按照正常流程执行下去,从而巧妙实现了对运行代码的简单分割,并通过两步加栽, 有效的解决了 DSP运行代码超出存储空间的问题,既不需要改动硬件设计,也不需要大量修 改代码,简单快捷,工作性能稳定可靠,适用范围较为广泛,为DSP芯片控制技术的进一步 大规^莫普及应用奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种 修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限 制性的。
权利要求
1、一种DSP芯片中实现运行代码加载的方法,其中使用与DSP芯片相连接的微处理器单元,其特征在于,所述的方法包括以下步骤(1)将DSP运行代码进行分割编译处理,得到初始运行代码和后续运行代码;(2)微处理器单元首先向DSP芯片中加载该初始运行代码;(3)DSP芯片执行该初始运行代码,并记录相应的初始化运行结果;(4)微处理器单元对所述的初始化运行结果进行判断;(5)如果初始化运行失败,则微处理器单元进行错误处理;(6)如果初始化运行成功,则微处理器单元向DSP芯片中加载后续运行代码,执行后续处理流程。
2、 根据权利要求1所述的DSP芯片中实现运行代码加栽的方法,其特征在于,所述的 对DSP运行代码进行分割编译处理,包括以下步骤(1) 将DSP运行代码中只需要执行一次的代码提取出来,并单独编译,得到初始运行代码;(2) 将DSP运行代码中的其余部分代码单独编译,得到后续运行代码。
3、 根据权利要求2所迷的DSP芯片中实现运行代码加栽的方法,其特征在于,所迷的 只需要执行一次的代码至少包括变量初始化代码、表格赋值代码、内存清零代码和自检部分 代码。
4、 根据权利要求3所述的DSP芯片中实现运行代码加栽的方法,其特征在于,所述的 DSP芯片执行该初始运行代码,包括以下步骤(1) DSP芯片根据该初始运行代码对变量进行初始化;(2) DSP芯片根据该初始运行代码对表格进行初始化; (3 ) DSP芯片根据该初始运行代码对内存进行清零;(4) DSP芯片根据该初始运行代码进行自检操作。
5、 根据权利要求1所述的DSP芯片中实现运行代码加载的方法,其特征在于,所述的 记录相应的初始化运行结果,包括以下步骤(1) 如果执行该初始化运行代码成功,则DSP芯片在系统预设的地址写入预设的成功信息;(2) 如果执行该初始化运行代码失败,则DSP芯片在系统预设的地址写入预设的失败信息。
6、 根据权利要求5所述的DSP芯片中实现运行代码加载的方法,其特征在于,所述的 微处理器单元对初始化运行结果进行判断,包括以下步骤(1) 微处理器单元周期性的扫描所述系统预设的地址中的信息;(2) 如果检测到该地址中的信息与预设的成功信息相一致,则返回初始化运行成功的结果;(3 )如果检测到该地址中的信息与预设的失败信息相一致,则返回初始化运行失败的结果。
7、 根据权利要求1所述的DSP芯片中实现运行代码加载的方法,其特征在于,所述的 微处理器单元进行错误处理,包括以下步骤(1) 微处理器单元上报失败;(2) 停止后续的运行代码的加载,并等待进一步指令。
全文摘要
本发明涉及一种DSP芯片中实现运行代码加载的方法,包括将DSP运行代码进行分割编译处理得到初始运行代码和后续运行代码、微处理器单元首先向DSP芯片中加载该初始运行代码、DSP芯片执行该初始运行代码并记录相应的初始化运行结果、微处理器单元对所述的初始化运行结果进行判断、根据判断结果微处理器单元进行错误处理或者向DSP芯片中加载后续运行代码执行后续处理流程。采用该种DSP芯片中实现运行代码加载的方法,巧妙实现了对运行代码的简单分割,并通过两步加载解决了DSP运行代码超出存储空间的问题,不需改动硬件设计和修改代码,简单快捷,工作性能稳定可靠,适用范围较为广泛,为DSP芯片控制技术的进一步大规模普及应用奠定了坚实的基础。
文档编号G06F9/445GK101441572SQ20071017073
公开日2009年5月27日 申请日期2007年11月21日 优先权日2007年11月21日
发明者曹海霞 申请人:上海摩波彼克半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1