System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 国产DSP的多核启动程序转换方法及装置制造方法及图纸_技高网

国产DSP的多核启动程序转换方法及装置制造方法及图纸

技术编号:40942851 阅读:4 留言:0更新日期:2024-04-18 14:59
本发明专利技术公开了一种国产DSP的多核启动程序转换方法及装置,属于国产芯片应用领域,包括:使用DSP芯片的私有地址编译程序得到out文件,复制多份后使用转换工具将多份out文件合并转换为dat文件;参考生成out文件时的map数据映射文件,根据map数据映射文件中每个数据段的内存首地址和长度,定位保存在dat文件中每个内核位于高速缓存上的全部数据段;S300,将定位到的数据段内存地址信息,依次由私有地址改为全局地址形式;依据map数据映射文件中的代码段地址和长度,找到dat文件中多个内核各自的代码段数据,且仅保留第1段。本发明专利技术克服了现有M6678多核程序转换方法的局限性,具有适用性强和效率高的优点。

【技术实现步骤摘要】

本专利技术涉及国产芯片应用领域,更为具体的,涉及一种国产dsp的多核启动程序转换方法及装置。


技术介绍

1、综合化电子系统的特点是系统中大部分功能都是通过对通用硬件模块加注不同的软件来实现。通用硬件模块常用的嵌入式处理器包括现场可编程门阵列fpga、数字信号处理器dsp、通用处理器gpp。fpga具有丰富输入输出管脚和任务并行执行性,dsp具有高效数据处理能力和方便灵活的调试开发环境,gpp能够有效支持这些非数字信号处理类的控制密集型应用,这三类嵌入式处理器各有优势,用于综合化系统中运行不同程序以处理不同类型的任务,其强大的性能通过运行在其中程序发挥出来。

2、目前综合化电子信息系统主要包括通用数据处理模块(dpm)、通用信号处理模块(spm)、网络交换模块(rcm)、系统控制模块(scm)和高速大规模存储模块(mmm)。模块在功能单元划分与设计上,遵循模块通用功能框架要求进行。模块通用功能框架要求为:每个模块由模块支持单元(msu)、处理单元(pu)、路由单元(ru)、网络接口单元(niu)、电源支持部件(pse)、模块物理接口(mpi)等单元组成,实现模块硬件电路的标准化通用化与综合化设计。其中,msu是每个硬件模块都具备的单元,通常通过控制总线与系统控制相连,用于接收系统控制指令完成上电控制、复位控制、程序加载、程序更新、电流采集、电压采集、温度采集、健康状态上报等板级管理。

3、飞腾m6678为国防科大完全自主研发的国产化dsp,单核心的浮点理论运算速度达到16gflops,具有功能强大的fft协处理器,是当前综合化电子系统主力dsp芯片,通常用于综合化电子系统通用信号处理硬件模块。飞腾m6678采用28nm工艺,内部集成8颗c66x处理器,单核主频1hz,具有ddr3控制器、dma控制器、srio接口、emif接口、gpio接口、uart接口、spi接口外设,其工作需要的内核、serdes内核、数字io、ddr、serdes io等多种供电电源。

4、m6678的flash启动模式下,待加载的程序将被固化在flash中,复位dsp后芯片rom中的rbl程序(出厂即被固化在rom中的加载启动程序,rom只读不可修改)会将程序搬移至指定内存地址并完成加载运行。在固化flash前,需先将待加载的程序转换成rbl可识别的文件格式后才可用于固化,国防科大提供的芯片手册中包含了8核分别加载8个不同程序和8核同时加载相同程序两种使用场景下的转换方法。

5、其中,8核加载相同程序的转换方法,要求分别使用核0~7的高速缓存l1、l2全局地址重新编译该程序得到8个out文件,再使用手册中转换工具将8个out文件转换成一个可加载程序文件后固化入flash中,dsp启动后rbl程序会通过核0分别将8核程序根据全局地址搬移至目的地址空间,再通过核间中断通知对应内核启动运行。本专利技术的专利技术人在试验中发现,此种方法仅适用于8核程序代码段存放地址不相同的使用场景,由于可加载文件是由相同程序在使用核0~7的l1、l2全局地址(各不相同)重新编译后得到的,而每个内核的私有数据为了保持独立会被置于私有的l1、l2空间上,代码段中又包括根据地址访问私有数据的操作,故此时得到的8个可执行程序代码段已不完全相同。此时若仍将代码段置于相同地址上,则在芯片的rbl搬移时,会依次将核0~7的代码段搬移至同一地址并覆盖上一次搬移的代码段,最终仅会保留最后搬移的核7的代码段,在运行时造成错误异常。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,提供一种国产dsp的多核启动程序转换方法及装置,具有适用性强和效率高的优点。

2、本专利技术的目的是通过以下方案实现的:

3、一种国产dsp的多核启动程序转换方法,包括以下步骤:

4、s100,使用dsp芯片的私有地址编译程序得到out文件,将该out文件复制多份后使用转换工具将多份out文件合并转换为dat文件;

5、s200,参考生成out文件时的map数据映射文件,根据map数据映射文件中每个数据段的内存首地址和长度,定位保存在dat文件中每个内核位于高速缓存上的全部数据段;

6、s300,将定位到的数据段内存地址信息,依次由私有地址改为全局地址形式;

7、s400,依据map数据映射文件中的代码段地址和长度,找到dat文件中多个内核各自的代码段数据,且仅保留第1段。

8、进一步地,所述dsp芯片包括飞腾m6678型号芯片。

9、进一步地,在步骤s100中,所述复制多份具体包括复制8份,且复制8份后再使用转换工具将8份out文件合并转换为dat文件。

10、进一步地,在步骤s100中,所述私有地址具体包括:m6678型号dsp芯片中的私有地址。

11、进一步地,在步骤s100中,所述芯片转换工具具体包括芯片使用手册中的转换工具。

12、进一步地,在步骤s200中,所述高速缓存具体包括m6678型号dsp芯片中的高速缓存l1和高速缓存l2。

13、进一步地,在步骤s200中,所述定位保存在dat文件中每个内核位于高速缓存上的全部数据段具体包括子步骤:定位修改dat文件中数据段地址信息的相关操作,通过编写简易脚本工具的方式来完成dat文件的快速修改。

14、进一步地,在步骤s300中,所述将定位到的数据段内存地址信息,依次由私有地址改为全局地址形式具体包括子步骤:将定位到的数据段内存地址信息,依次由私有地址改为核0~7的全局地址形式。

15、进一步地,在步骤s400中,所述多个内核各自的代码段数据具体包括8个内核各自的代码段数据,且仅保留第1段,删除之后7段。

16、一种国产dsp的多核启动程序转换装置,包括处理器和存储器,在存储器中存储有程序,当程序被处理器加载时执行如上任一项所述的国产dsp的多核启动程序转换方法。

17、本专利技术的有益效果包括:

18、本专利技术针对现有m6678多核程序转换方法的局限性,在m6678的启动流程的基础上,为本领域提供了一种国产dsp飞腾m6678的多核快速启动程序转换方案,该方案具有如下优点:

19、1)适用性强:针对m6678手册中多核加载同一程序的转换方法,在多核代码段置于同一地址不适用的情况,本专利技术方法首先使用私有地址的方式,使用于转换的多核程序仍保持代码段完全相同,再通过分别修改dat文件中数据段的地址信息,在数据本身不发生改变的前提保证了数据段的正确搬移,达到多核加载同一程序使用场景下的全适用性。

20、2)效率高:针对m6678手册中多核加载同一程序的转换方法,在程序相同的情况下,为便于转换而将程序用各内核的全局地址重新编译的方式会导致代码段不再相同,此时必须将8核代码段置于不同地址来保证数据的正确性;本专利技术提出的方法通过使用私有地址的方式来保证转换为dat文件后,各核程序的全部数据段仍完全相同,此本文档来自技高网...

【技术保护点】

1.一种国产DSP的多核启动程序转换方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的国产DSP的多核启动程序转换方法,其特征在于,所述DSP芯片包括飞腾M6678型号芯片。

3.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S100中,所述复制多份具体包括复制8份,且复制8份后再使用转换工具将8份out文件合并转换为dat文件。

4.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S100中,所述私有地址具体包括:M6678型号DSP芯片中的私有地址。

5.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S100中,所述芯片转换工具具体包括芯片使用手册中的转换工具。

6.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S200中,所述高速缓存具体包括M6678型号DSP芯片中的高速缓存L1和高速缓存L2。

7.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S200中,所述定位保存在dat文件中每个内核位于高速缓存上的全部数据段具体包括子步骤:定位修改dat文件中数据段地址信息的相关操作,通过编写简易脚本工具的方式来完成dat文件的快速修改。

8.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S300中,所述将定位到的数据段内存地址信息,依次由私有地址改为全局地址形式具体包括子步骤:将定位到的数据段内存地址信息,依次由私有地址改为核0~7的全局地址形式。

9.根据权利要求2所述的国产DSP的多核启动程序转换方法,其特征在于,在步骤S400中,所述多个内核各自的代码段数据具体包括8个内核各自的代码段数据,且仅保留第1段,删除之后7段。

10.一种国产DSP的多核启动程序转换装置,其特征在于,包括处理器和存储器,在存储器中存储有程序,当程序被处理器加载时执行如权利要求1~9任一项所述的国产DSP的多核启动程序转换方法。

...

【技术特征摘要】

1.一种国产dsp的多核启动程序转换方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的国产dsp的多核启动程序转换方法,其特征在于,所述dsp芯片包括飞腾m6678型号芯片。

3.根据权利要求2所述的国产dsp的多核启动程序转换方法,其特征在于,在步骤s100中,所述复制多份具体包括复制8份,且复制8份后再使用转换工具将8份out文件合并转换为dat文件。

4.根据权利要求2所述的国产dsp的多核启动程序转换方法,其特征在于,在步骤s100中,所述私有地址具体包括:m6678型号dsp芯片中的私有地址。

5.根据权利要求2所述的国产dsp的多核启动程序转换方法,其特征在于,在步骤s100中,所述芯片转换工具具体包括芯片使用手册中的转换工具。

6.根据权利要求2所述的国产dsp的多核启动程序转换方法,其特征在于,在步骤s200中,所述高速缓存具体包括m6678型号dsp芯片中的高速缓存l1和高速缓存l2。

7.根据...

【专利技术属性】
技术研发人员:张伟达邵龙叶晰鹏张旭刘浩伯张宇帆许虎
申请(专利权)人:中国电子科技集团公司第十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1