一种数字信号处理器版本的二次加载方法及系统的制作方法

文档序号:6579586阅读:186来源:国知局
专利名称:一种数字信号处理器版本的二次加载方法及系统的制作方法
技术领域
本发明涉及一种数字信号处理器(Digital Signal Processing,简称DSP)版本的 加载方法,尤其涉及DSP外挂随机存储器(Random Access Memory,简称RAM),DSP版本比 较大,需要同时加载到片内RAM和片外RAM的情况。
背景技术
数字信号处理器(Digital Signal Processing,简称DSP)在通信领域有着广泛的 应用,比如语音编解码方面,可以采用DSP芯片实现各种语音编解码算法。图1描述了一个 典型的DSP应用框图。在图中,主机(HOST)通过专用总线与DSP相连,驱动用于实现数据 的传输,电可编程逻辑器件(Electrically Programmable Logic Device,简称EPLD)用于 实现地址管理和逻辑控制,DSP芯片的片内随机存储器(Random Access Memory,简称RAM), 用来存放和运行下载的DSP版本,另外DSP芯片外接RAM,作为扩展使用。如果DSP版本比 较大,片内RAM不够存放和运行,就需要使用到片外RAM。在使用到片外RAM后,就牵涉到如 下的问题1,片外RAM如何检测;2,DSP版本如何在片内片外RAM中分别存放;3,若DSP版本同时存放于片内RAM和片外RAM,那么DSP版本的下载和运行流程又 如何制定。这些都是目前亟待解决的问题。

发明内容
本发明要解决的技术问题是,提出一种数字信号处理器版本的二次加载方法及系 统,针对在DSP片内RAM和片外RAM都要存放并运行DSP版本的情况,通过合理的下载和运 行流程,确保DSP版本下载和运行的成功。为解决上述技术问题,本发明提出一种数字信号处理器(DSP)版本的二次加载方 法,应用于DSP版本需要由DSP片内存储器和片外存储器共同存储的情景,包括步骤主机(HOST)解析DSP版本,根据DSP版本中代码和数据的加载位置信息,将应加 载到DSP片内存储器中的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活 DSP ;DSP在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储器进行 初始化;HOST在获知DSP片外存储器初始化成功后,将应加载到DSP片外存储器中的代码 和数据全部加载到DSP片外存储器中。进一步地,上述方法还可具有以下特点DSP在对DSP片外存储器初始化成功后,暂停运行;以及在获知应加载到DSP片外 存储器中的代码和数据已经全部加载到DSP片外存储器之后,继续启动,运行下载到DSP片内和片外存储器中的代码和数据。进一步地,上述方法还可具有以下特点该DSP版本中的代码和数据分为若干个段,每一段具有一指示该段加载到DSP存 储器中的位置的重定位地址;用以承载初始化片外存储器的代码和数据的段的重定位地址 指向DSP片内存储器;HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之 前,还获取DSP版本中各段的重定位地址,按照各段的重定位地址从小到大的顺序对各段 进行排序;HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中时, 是按照对段的排序结果顺序依次判断各段的重定位地址是否小于DSP片外存储器的起始 地址,如果判断结果为是,则认为该段应加载到DSP片内存储器中,根据该段的重定位地址 加载该段至DSP片内存储器;否则,认为该段应加载到DSP片外存储器中,停止加载,激活 DSP。进一步地,上述方法还可具有以下特点HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之 前,且在对DSP版本的若干个段进行排序之前或者之后,还获取并判断各段的重地位地址 和段的大小信息,如果判断两者都大于0,则判定该段为有效的加载段,否则判定该段为无 效的加载段,丢弃无效的加载段。进一步地,上述方法还可具有以下特点 DSP在对DSP片外存储器进行初始化成功后,还设置一握手标志为一表示DSP片外 存储器初始化成功的值,HOST通过判断该握手标志的值为一表示DSP片外存储器初始化成 功的值来获知DSP片外存储器初始化成功;HOST在将应加载到DSP片外存储器中的代码和数据全部加载到DSP片外存储器之 后,判断该握手标志的值,如果该值为一表示DSP片外存储器初始化成功的值,则将该握手 标志的值设置为一表示DSP版本全部下载完成的值;DSP通过判断该握手标志的值为一表 示DSP版本全部下载完成的值来获知应加载到DSP片外存储器中的代码和数据已经全部加 载到DSP片外存储器;DSP在运行下载到DSP片内和片外存储器中的代码和数据的同时,还将该握手标 志的值设置为一表示正在运行新下载的DSP版本的值。为解决上述技术问题,本发明还提出一种数字信号处理器(DSP)版本的二次加载 系统,包括DSP和主机(HOST),DSP包括片内存储器和片外存储器HOST,用以根据DSP版本中代码和数据的加载位置信息,将应加载到DSP片内存储 器中的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活DSP ;以及在获知DSP 片外存储器初始化成功后,将应加载到DSP片外存储器中的代码和数据全部加载到DSP片 外存储器中;DSP,用以在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储 器进行初始化。进一步地,上述系统还可具有以下特点DSP,用以在对DSP片外存储器初始化成功后,暂停运行;以及在获知应加载到DSP
5片外存储器中的代码和数据已经全部加载到DSP片外存储器之后,继续启动,运行下载到 DSP片内和片外存储器中的代码和数据。进一步地,上述系统还可具有以下特点该DSP版本中的代码和数据分为若干个段,每一段具有一指示该段加载到DSP存 储器中的位置的重定位地址;用以承载初始化片外存储器的代码和数据的段的重定位地址 指向DSP片内存储器;HOST,在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之 前,还获取DSP版本中各段的重定位地址,按照各段的重定位地址从小到大的顺序对各段 进行排序;以及在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中时, 是按照对段的排序结果顺序依次判断各段的重定位地址是否小于DSP片外存储器的起始 地址,如果判断结果为是,则认为该段应加载到DSP片内存储器中,根据该段的重定位地址 加载该段至DSP片内存储器;否则,认为该段应加载到DSP片外存储器中,然后停止加载,激 活 DSP。进一步地,上述系统还可具有以下特点HOST,在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之 前,且在对DSP版本的若干个段进行排序之前或者之后,还获取并判断各段的重地位地址 和段的大小信息,如果判断两者都大于0,则判定该段为有效的加载段,否则判定该段为无 效的加载段,丢弃无效的加载段。进一步地,上述系统还可具有以下特点DSP,在对DSP片外存储器进行初始化成功后,还设置一握手标志为一表示DSP片 外存储器初始化成功的值;判断该握手标志的值,在判断出该值为一表示DSP版本全部下 载完成的值时,判定应加载到DSP片外存储器中的代码和数据已经全部加载到DSP片外存 储器;以及在运行下载到DSP片内和片外存储器中的代码和数据的同时,将该握手标志的 值设置为一表示正在运行新下载的DSP版本的值;HOST,在激活DSP之后判断该握手标志的值,如果该值为一表示DSP片外存储器初 始化成功的值,则判定DSP片外存储器初始化成功;在将应加载到DSP片外存储器中的代码 和数据全部加载到DSP片外存储器之后,判断该握手标志的值,如果该值为一表示DSP片外 存储器初始化成功的值,则将该握手标志的值设置为一表示DSP版本全部下载完成的值。本发明提出的一种数字信号处理器版本的二次加载方法及系统,具有如下明显的 优点1,合理规划DSP版本加载和运行流程,流程易于控制,可有效避免出现DSP片内 RAM中DSP版本的程序和数据未完成加载就开始进行片外RAM中DSP版本的程序和数据的 加载可能导致的无法正常初始化片外RAM,继而导致加载失败的情况;2,通过握手标志的状态更加方便而准确地确认版本加载过程中DSP的状态;3,去除DSP版本中的冗余信息,能够减少DSP版本对FLASH资源的占用。


图1是一个典型的DSP应用框图;图2是本发明实施例DSP版本二次加载方法流程示意6
图3是本发明应用实例DSP版本二次加载方法流程示意图;图4是本发明实施例DSP版本二次加载握手状态变化示意图。
具体实施例方式本发明的基本构思是,在DSP版本制作时,规划DSP版本中哪些代码和数据是应加 载到DSP片内RAM中的,哪些是应加载到DSP片外RAM中的,至少将用以初始化片外RAM的 代码和数据的加载位置规划为DSP片内RAM中;HOST在加载DSP版本至DSP时,先将应加载 到DSP片内RAM中的代码和数据全部加载到DSP片内RAM中,然后激活DSP ;DSP在被激活 后,运行其片内RAM中加载的代码和数据,对DSP片外RAM进行初始化,然后暂停运行;HOST 在获知DSP片外RAM初始化成功后,将应加载到DSP片外RAM中的代码和数据全部加载到 DSP片外RAM中;DSP在DSP版本完全下载完毕后,再继续运行,如此,整个DSP版本二次加 载完成。下面将结合附图详细说明本发明实施方案。参考图2,该图示出了本发明实现DSP版本二次加载的流程,包括如下步骤步骤S201 制作DSP版本,将DSP版本中的代码和数据分为若干个段,每一段具有 一指示该段加载到DSP中位置的重定位地址,至少令承载用以初始化片外RAM的代码和数 据的段的重地位地址指向DSP片内RAM ;在制作DSP版本时,步骤S201是通过分段,以及以重定位地址指示各段加载到DSP 中的位置的方法来规划DSP版本中代码和数据的加载位置,考虑到DSP运行时,可能出现运 行所需的代码或数据位于片外RAM中,而这部分代码或数据尚未加载会导致运行异常的问 题,应确保至少将用以初始化片外RAM的代码和数据的加载位置规划为DSP片内RAM中。所谓“片内”和“片夕卜”是按照DSP地址来区分的。本发明实施例中可以采用类似COFF文件的格式实现DSP版本制作,但是对COFF 文件的格式进行简化,去除COFF文件格式中不必要的字段,本发明实施例制作出的DSP版 本结构可以是,包括文件的头结构和若干个段,其中,每一段又包括段的头结构和段体,段 的头结构中包括重定位地址、段的大小等,段体中包括DSP版本的代码或者数据,文件的头 结构可以包括版本信息、加载方式、段的总个数等,加载方式包括二次加载和一次加载。如 果加载方式为一次加载,则不涉及对片外RAM的加载,只需要将DSP版本加载到片内RAM 中,然后运行所加载的DSP版本即可;如果加载方式为二次加载,则执行本发明下述步骤。步骤S202 =HOST对DSP版本进行解析,按照解析出的各段的重定位地址从小到大 的顺序对各段进行排序;由于步骤S201中制作的DSP版本一般无法保证各段是按照各段的重定位地址从 小到大的顺序排好序的,即无法确保将携带应加载到DSP片内RAM中DSP版本的代码和数 据的段放在一起,以及将与携带应加载到DSP片外RAM中DSP版本的代码和数据的段放在 一起,因此执行步骤S202进行排序,从而确保后续分两次加载DSP版本中的代码和数据至 DSP能够顺利快速地执行。步骤S203 =HOST去除DSP版本中的冗余信息,将处理后得到的有效加载段按照步 骤S202中对段的排序顺序进行重组,从而重新构造一个最小化的DSP版本;在去除冗余信息的处理中,可以依次从各段的头结构中获取各段的重地位地址和段的大小信息,如果两者都大于0,表示该段包括DSP的代码或者数据,需要下载到DSP中, 认为是有效加载段,否则表示该段无代码数据。步骤S204 =HOST顺序依次判断步骤S203中重新构造的DSP版本中各段的重定位 地址是否小于DSP片外RAM的起始地址,如果判断结果为是,则认为该段应加载到DSP片内 RAM中,加载该段至DSP片内RAM,结束;否则,认为该段应加载到DSP片外RAM中,进入步骤 S205 ;通过步骤S204的判断和处理,将应加载到DSP片内RAM中的DSP版本的代码和数 据全部加载到DSP片内RAM中,实现了本发明实施例的一次加载;步骤S205 =HOST停止向DSP加载DSP版本,向DSP发起中断,激活DSP ;步骤S206 =DSP在被激活后,设置握手标志为一状态初值,运行DSP片内RAM中加 载的DSP版本的代码和数据,对DSP片外RAM进行初始化,初始化成功后,设置握手标志的 值为一表示DSP片外RAM初始化成功的值,然后DSP暂停运行,进入等待状态;本发明实施例中采用DSP设置握手标志的值来表示其状态,HOST根据握手标志的 值来获知DSP状态,继而执行相应的处理,从而实现DSP与HOST的握手交互,具体握手交互 过程如下述步骤所述;步骤S207 =HOST持续判断握手标志的值是否为一表示DSP片外RAM初始化成功的 值,如果判断结果为否,则重复步骤S207 ;如果判断为是,则进入步骤S208 ;步骤S208 =HOST顺序依次将步骤S203中重新构造的DSP版本中尚未加载到DSP 的各段,即承载应加载到DSP片外RAM中的DSP版本的代码和数据的各段,加载到DSP片外 RAM 中;HOST可以在步骤S203中获得有效加载段之后,记录有效加载段的总个数,并在加 载DSP版本至DSP的过程中,记录已经加载的段数,通过比较已经加载的段数和总共需要加 载的段数来判断是否已完成DSP版本的加载,从而结束加载流程;至步骤S208为止,HOST与DSP之间实现了第一次握手,将DSP版本分为2部分先 后加载到DSP片内RAM禾口 DSP片外RAM ;步骤S209 =HOST在将步骤S203中重新构造的DSP版本全部加载至DSP后,判断握 手标志的值是否为表示DSP片外RAM初始化成功完成的值,如果是,则认为DSP处于等待状 态,进入步骤S210 ;如果不是,则认为DSP已经提前运行,返回错误信息,结束;步骤S210 =HOST将该握手标志的值设置为一表示DSP版本全部下载完成的值;步骤S211 :DSP持续判断握手标志的值,当判断该值为一表示DSP版本全部下载完 成的值,则认为DSP版本已全部下载完毕,进入步骤S212 ;步骤S212 运行DSP中下载完毕的DSP版本,同时将握手标志的值设置为一表示 正在运行新下载的DSP版本的值,结束;至步骤S212,DSP将握手标志的值设置为一表示正在运行新下载的DSP版本的值, DSP与HOST完成了第二次握手,结束DSP版本的二次加载。DSP与HOST的两次握手交互过程正是通过对握手标志的值的设置和判断来巧妙 地实现的。下面结合本发明一应用实例来对本发明实施方式做详细描述以 Ti 的 C6482DSP 为例,DSP 外挂一个 DDR SDRAM。HOST 与 DSP 之间是通过 HPI连接的,HOST侧的LocalBus总线通过EPLD进行逻辑变换后与DSP的HPI接口进行对接, 通过HPI 口进而与DSP的片内片外内存进行交互。C6482的片内RAM大小2M,起始地址为 Intermenustartad(Irj)j^hDDR SDRAM 大小 128M,起始地址为 extrmem_startaddr。在本应用实例中可定义如下地址宏#define_intermem_startaddr 0x00800000 /* 内部 RAM 起始地址 */#define_extrmem_startaddr OxeOOOOOOO /* 外部 RAM 起始地址 */#define_shakehand_flagaddr 0x00820204 /* 握手标志地址 */首先,依照上述步骤S202制作DSP版本,具体制作方法可以根据需要规划并制作, 这里并不做限制,但是应确保至少将用以初始化片外RAM的代码和数据的加载位置规划为 DSP片内RAM中。然后参见图3,该图为本应用实例中DSP版本对制作好的DSP版本的二次加载过 程,包括步骤步骤S301 :H0ST从DSP版本文件的头结构中读取并检查版本号来确认该DSP版本 的合法性;步骤S302 :H0ST从DSP版本文件的头结构中读取段的总个数,如果大于0,表示包 括有段结构,进入步骤S303 ;否则,表示不包括段结构,结束;步骤S303 :H0ST根据步骤S302中读取的段的总个数,依次读取每个段的头结构, 检查段的头结构中指向重定位入口的指针和段的大小,如果两者都大于0,表示该段包括 DSP的代码或者数据,该段为有效加载段,否则表示该段无代码数据,可以直接进行下一个 段的头结构处理,最终获得全部有效的加载段;步骤S304 =HOST按照各段的重定位地址从小到大的顺序对步骤S303中判断出的 有效的加载段进行排序;步骤S305 =HOST按照对段的排序顺序依次对各段从指向重定位入口的指针指 向的文件位置读取该段大小的数据,写入解析文件中,有效加载段数减1,重复执行步骤 S305,直到将所有有效的加载段的代码和数据全部写入解析文件为止,结束;上述步骤S301 步骤S305为HOST对DSP版本的解析过程。步骤S306 :H0ST开始向DSP片内RAM中加载有效的加载段,在加载每一段至DSP片 内RAM之前,根据解析后的段信息,判断该段的重定位地址是否大于extrmenustartaddr, 如果小于该值,说明此段仍应加载到DSP片内RAM中,则继续加载;如果检测到待加载的段 的重定位地址大于或等于extrmem_startaddr,则进入步骤S307 ;该步骤S306完成了将应加载到DSP片内RAM中的DSP版本的代码和数据全部加 载到DSP片内RAM中;步骤S307 =HOST停止加载,向DSP发中断,激活DSP ;步骤S308 =DSP被激活后,向握手标志shakehancLfIagaddr地址处写状态初值,例 如OxFFFFFFFF,然后运行DSP片内SAM中加载的代码和数据,对DSP片外DDR SDRAM进行初 始化,然后在DSP初始化片外DDRSDRAM成功之后,设置shakehancLf Iagaddr的值为一表示 DSP片外RAM初始化成功的值,例如0x11111111,之后DSP暂停运行,进入等待状态;步骤S309 =HOST持续检测握手标志的值,在检测到握手标志的值为0x11111111之 后,继续将剩余的尚未加载到DSP的有效的加载段,即承载应加载到DSP片外DDR SDRAM中的DSP版本的代码和数据的有效加载段,按照对段的排序结果顺序依次全部加载到DSP片 外 DDR SDRAM 中;HOST可以在对DSP版本解析时,记录下需要加载的有效加载段的总个数,在加载 DSP版本至DSP的过程中,记录已经加载的段数,通过比较已经加载的段数和总共需要加载 的段数来判断是否已完成DSP版本的加载,从而结束加载流程;至该步骤S309,HOST与DSP之间实现了第一次握手,将DSP版本分为2部分先后 力口i^lj DSP 片内 RAM 禾口 DSP 片夕卜 DDR SDRAM ;步骤S310 =HOST在将剩余的DSP版本全部加载至DSP片外DDRSDRAM后,判断 shakehand_f Iagaddr地址中的值是否0x11111111,如果不是,则认为DSP出现提前运行的 状态,返回错误信息,结束;如果是,则立即将其设置为一表示DSP版本全部下载完成的值, 例如 0x22222222 ;步骤S311 =DSP持续判断握手标志的值,当判断该值为0x22222222,则认为DSP版 本已全部下载完毕,运行DSP中下载完毕的DSP版本,同时将握手标志的值设置为一表示正 在运行新下载的DSP版本的值,例如0x3333333,结束;至步骤S311,DSP将握手标志的值设置为一表示正在运行新下载的DSP版本的值, DSP与HOST完成了第二次握手,也意味着二次加载过程成功地结束。DSP与HOST的二次握手交互过程正是通过对握手标志的值的设置和判断来巧妙 地实现的,参见图4,该图为本发明应用实例中的二次握手交互过程示意。为了实现图2所示流程,本发明还提供了一种系统,包括DSP和主机(HOST),DSP 包括片内存储器和片外存储器,其中HOST,用以根据DSP版本中代码和数据的加载位置信息,将应加载到DSP片内存储 器中的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活DSP ;以及在获知DSP 片外存储器初始化成功后,将应加载到DSP片外存储器中的代码和数据全部加载到DSP片 外存储器中;DSP,用以在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储 器进行初始化。进一步地,DSP,用以在对DSP片外存储器初始化成功后,暂停运行;以及在获知应 加载到DSP片外存储器中的代码和数据已经全部加载到DSP片外存储器之后,继续启动,运 行下载到DSP片内和片外存储器中的代码和数据。进一步地,该DSP版本中的代码和数据分为若干个段,每一段具有一指示该段加 载到DSP存储器中的位置的重定位地址;用以承载初始化片外存储器的代码和数据的段的 重定位地址指向DSP片内存储器。HOST,在将应加载到DSP片内存储器中的代码和数据加 载到DSP片内存储器中之前,还获取DSP版本中各段的重定位地址,按照各段的重定位地址 从小到大的顺序对各段进行排序;以及在将应加载到DSP片内存储器中的代码和数据加载 到DSP片内存储器中时,是按照对段的排序结果顺序依次判断各段的重定位地址是否小于 DSP片外存储器的起始地址,如果判断结果为是,则认为该段应加载到DSP片内存储器中, 根据该段的重定位地址加载该段至DSP片内存储器;否则,认为该段应加载到DSP片外存储 器中,然后停止加载,激活DSP。进一步地,HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存
10储器中之前,且在对DSP版本的若干个段进行排序之前或者之后,还获取并判断各段的重 地位地址和段的大小信息,如果判断两者都大于0,则判定该段为有效的加载段,否则判定 该段为无效的加载段,丢弃无效的加载段。进一步地,DSP在对DSP片外存储器进行初始化成功后,还设置一握手标志为一表 示DSP片外存储器初始化成功的值;判断该握手标志的值,在判断出该值为一表示DSP版本 全部下载完成的值时,判定应加载到DSP片外存储器中的代码和数据已经全部加载到DSP 片外存储器;以及在运行下载到DSP片内和片外存储器中的代码和数据的同时,将该握手 标志的值设置为一表示正在运行新下载的DSP版本的值。HOST,在激活DSP之后判断该握 手标志的值,如果该值为一表示DSP片外存储器初始化成功的值,则判定DSP片外存储器 初始化成功;在将应加载到DSP片外存储器中的代码和数据全部加载到DSP片外存储器之 后,判断该握手标志的值,如果该值为一表示DSP片外存储器初始化成功的值,则将该握手 标志的值设置为一表示DSP版本全部下载完成的值。本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域 技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于 本发明所附的权利要求的保护范围。
权利要求
1. 一种数字信号处理器(DSP)版本的二次加载方法,应用于DSP版本需要由DSP片内 存储器和片外存储器共同存储的情景,其特征在于,包括步骤主机(HOST)解析DSP版本,根据DSP版本中代码和数据的加载位置信息,将应加载到 DSP片内存储器中的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活DSP ;DSP在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储器进行初始化;HOST在获知DSP片外存储器初始化成功后,将应加载到DSP片外存储器中的代码和数 据全部加载到DSP片外存储器中。
2.如权利要求1所述的方法,其特征在于DSP在对DSP片外存储器初始化成功后,暂停运行;以及在获知应加载到DSP片外存储 器中的代码和数据已经全部加载到DSP片外存储器之后,继续启动,运行下载到DSP片内和 片外存储器中的代码和数据。
3.如权利要求2所述的方法,其特征在于该DSP版本中的代码和数据分为若干个段,每一段具有一指示该段加载到DSP存储器 中的位置的重定位地址;用以承载初始化片外存储器的代码和数据的段的重定位地址指向 DSP片内存储器;HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之前,还 获取DSP版本中各段的重定位地址,按照各段的重定位地址从小到大的顺序对各段进行排 序;HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中时,是按 照对段的排序结果顺序依次判断各段的重定位地址是否小于DSP片外存储器的起始地址, 如果判断结果为是,则认为该段应加载到DSP片内存储器中,根据该段的重定位地址加载 该段至DSP片内存储器;否则,认为该段应加载到DSP片外存储器中,停止加载,激活DSP。
4.如权利要求3所述的方法,其特征在于HOST在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之前,且 在对DSP版本的若干个段进行排序之前或者之后,还获取并判断各段的重地位地址和段的 大小信息,如果判断两者都大于0,则判定该段为有效的加载段,否则判定该段为无效的加 载段,丢弃无效的加载段。
5.如权利要求2-4中任何一项所述的方法,其特征在于DSP在对DSP片外存储器进行初始化成功后,还设置一握手标志为一表示DSP片外存储 器初始化成功的值,HOST通过判断该握手标志的值为一表示DSP片外存储器初始化成功的 值来获知DSP片外存储器初始化成功;HOST在将应加载到DSP片外存储器中的代码和数据全部加载到DSP片外存储器之后, 判断该握手标志的值,如果该值为一表示DSP片外存储器初始化成功的值,则将该握手标 志的值设置为一表示DSP版本全部下载完成的值;DSP通过判断该握手标志的值为一表示 DSP版本全部下载完成的值来获知应加载到DSP片外存储器中的代码和数据已经全部加载 到DSP片外存储器;DSP在运行下载到DSP片内和片外存储器中的代码和数据的同时,还将该握手标志的 值设置为一表示正在运行新下载的DSP版本的值。
6.一种数字信号处理器(DSP)版本的二次加载系统,包括DSP和主机(HOST),DSP包 括片内存储器和片外存储器,其特征在于HOST,用以根据DSP版本中代码和数据的加载位置信息,将应加载到DSP片内存储器中 的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活DSP ;以及在获知DSP片 外存储器初始化成功后,将应加载到DSP片外存储器中的代码和数据全部加载到DSP片外 存储器中;DSP,用以在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储器进 行初始化。
7.如权利要求6所述的系统,其特征在于DSP,用以在对DSP片外存储器初始化成功后,暂停运行;以及在获知应加载到DSP片外 存储器中的代码和数据已经全部加载到DSP片外存储器之后,继续启动,运行下载到DSP片 内和片外存储器中的代码和数据。
8.如权利要求7所述的系统,其特征在于该DSP版本中的代码和数据分为若干个段,每一段具有一指示该段加载到DSP存储器 中的位置的重定位地址;用以承载初始化片外存储器的代码和数据的段的重定位地址指向 DSP片内存储器;HOST,在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之前,还 获取DSP版本中各段的重定位地址,按照各段的重定位地址从小到大的顺序对各段进行排 序;以及在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中时,是按 照对段的排序结果顺序依次判断各段的重定位地址是否小于DSP片外存储器的起始地址, 如果判断结果为是,则认为该段应加载到DSP片内存储器中,根据该段的重定位地址加载 该段至DSP片内存储器;否则,认为该段应加载到DSP片外存储器中,然后停止加载,激活 DSP。
9.如权利要求8所述的系统,其特征在于HOST,在将应加载到DSP片内存储器中的代码和数据加载到DSP片内存储器中之前,且 在对DSP版本的若干个段进行排序之前或者之后,还获取并判断各段的重地位地址和段的 大小信息,如果判断两者都大于0,则判定该段为有效的加载段,否则判定该段为无效的加 载段,丢弃无效的加载段。
10.如权利要求6-9中任何一项所述的系统,其特征在于DSP,在对DSP片外存储器进行初始化成功后,还设置一握手标志为一表示DSP片外存 储器初始化成功的值;判断该握手标志的值,在判断出该值为一表示DSP版本全部下载完 成的值时,判定应加载到DSP片外存储器中的代码和数据已经全部加载到DSP片外存储器; 以及在运行下载到DSP片内和片外存储器中的代码和数据的同时,将该握手标志的值设置 为一表示正在运行新下载的DSP版本的值;HOST,在激活DSP之后判断该握手标志的值,如果该值为一表示DSP片外存储器初始化 成功的值,则判定DSP片外存储器初始化成功;在将应加载到DSP片外存储器中的代码和数 据全部加载到DSP片外存储器之后,判断该握手标志的值,如果该值为一表示DSP片外存储 器初始化成功的值,则将该握手标志的值设置为一表示DSP版本全部下载完成的值。
全文摘要
本发明提供了一种数字信号处理器(DSP)版本的二次加载方法及系统,应用于DSP版本需要由DSP片内存储器和片外存储器共同存储的情景,该方法包括步骤主机(HOST)解析DSP版本,根据DSP版本中代码和数据的加载位置信息,将应加载到DSP片内存储器中的代码和数据全部加载到DSP片内存储器中,然后停止加载,激活DSP;DSP在被激活后,运行其片内存储器中加载的代码和数据,对DSP片外存储器进行初始化;HOST在获知DSP片外存储器初始化成功后,将应加载到DSP片外存储器中的代码和数据全部加载到DSP片外存储器中。该方法通过合理的下载和运行流程,确保DSP版本下载和运行的成功。
文档编号G06F9/445GK102004650SQ20091016192
公开日2011年4月6日 申请日期2009年9月1日 优先权日2009年9月1日
发明者张凯, 符冬阳 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1