工具/软件:TI-RTOS
当我们使用 J6 DSP 时、我们无法在 DSP2上正确加载 dspdce 固件。 谢谢!
我们在 ti-processor-sdk-linux-Automotive ra7xx-evm-03_01_00_03上编译最原始的 dspdce_1_00_00_08、并生成 dra7xx-c66x-dsp.xe66。
使用以下命令将固件加载到 DSP1,我们可以找到设备节点 rpmsg-dce-dsp,并且可以正常运行。
echo 40800000.dsp >解除绑定
LN -s /opt/demos/sv/dra7xx-c66x-dsp.xe66 /lib/firmware/dra7-dsp1-fw.xe66
echo 40800000.dsp >绑定
但是、当我们更改 CONFIG.Bld 和 dce_dsp.cfg 文件(请参阅附录)相关设置时、重新编译 dspdce_1_00_00_08以生成 dra7xx-c66x-dsp.xe66、然后、
使用以下命令将固件加载到 DSP2,它无法生成设备节点 rpmsg-dce-dsp,并且无法正常运行。
echo 41000000.dsp >解除绑定;
LN -s /opt/demos/sv/dra7xx-c66x-dsp.xe66 /lib/firmware/dra7-dsp2-fw.xe66
echo 41000000.dsp >绑定
我们还在 ti-processor-sdk-linux-Automotive ra7xx-evm-03_02_00_03中遇到同样的问题。
CONFIG.BLD
===========================================================================================================================================
VAR Build = xdc.useModule('xdc.bld.BuildEnvironment');
var commonbld = xdc.loadCapsule ("../build/common.bld);
VAR commonOpts ="-g";
VAR HW_VAYU = 2;
VAR ES10 = 1;
对于(x = 0;x <参数长度;x++)
{
if (参数[x].match (/^trace_level=/))
{
//[1]运算用于 split()的返回值,该值是
//数组。
var trace_level =参数[x].split("=")[1];
}
}
/********
*内存映射信息
(二 /
ti.platforms.evmDRA7XX:dsp1的/*内存映射
*
*--外部存储器--
*虚拟物理大小注释
*******************************************************************************************************
* 9500_0000????????? 20_0000 (~2MB) EXT_CODE
* 9520_0000????????? 20_0000 (2MB) EXT_DATA
* 9540_0000????????? 280_0000 (40MB) EXT_HEAP
* 9F00_0000 9F00_0000 6_0000 (384KB) TRACE_BUF
* 9F06_0000 9F06_0000 1_0000 (64KB) EXC_DATA
* 9F07_0000 9F07_0000 2_0000 (128KB) PM_DATA (电源管理)
*
var evmDRA7XX_ExtMemMapDsp1 ={
EXT_CODE:{name:"EXT_CODE"、base:0x95000000、len:0x200000、space:"code"、access:"rwx"}、
EXT_DATA:{name:"EXT_DATA"、base:0x95200000、len:0x00200000、space:"data"、access:"rw"}、
EXT_HEAP:{name:"EXT_HEAL"、base:0x95400000、len:0x02800000、space:"data"、access:"rw"}、
trace_BUF:{name:"trace_BUF"、base:0x9F000000、len:0x00060000、space:"data"、access:"rw"}、
EXC_DATA:{name:"EXC_DATA"、base:0x9F060000、len:0x00010000、space:"data"、access:"rw"}、
PM_DATA:{name:"PM_DATA"、base:0x9F070000、len:0x00020000、space:"data"、access:"rwx"}
};
Build.platformTable["ti.platforms.evmDRA7XX:dsp1"]={
externalMemoryMap:[
["EXT_CODE"、evmDRA7XX_ExtMemMapDsp1.EXT_CODE ]、
["EXT_DATA"、evmDRA7XX_ExtMemMapDsp1.EXT_DATA ]、
["EXT_HEAP "、evmDRA7XX_ExtMemMapDsp1.EXT_HEAP ]、
["trace_BUF"、evmDRA7XX_ExtMemMapDsp1.trace_BUF ]、
["EXC_DATA"、evmDRA7XX_ExtMemMapDsp1.EXC_DATA ]、
["PM_DATA"、evmDRA7XX_ExtMemMapDsp1.PM_DATA]
]、
代码内存:"EXT_CODE"、
dataMemory:"EXT_DATA"、
stackMemory:"EXT_DATA"、
//由 baron 20170425修改
L1PMode:"32K"、
L1DMode:"32K"、
L2模式: "256K"
};
Build.platformTable["ti.platforms.evmDRA7XX:dsp2"]= Build.platformTable["ti.platforms.evmDRA7XX:dsp1"];
VAR TargetBuild = commonBld.getTargetBuild (参数);
commonOpts +="-DHOST_type=host_unknown "
/********
* DSP 目标的设置
(二 /
var dsp_tgt = xdc.useModule('ti.targets.elf.C66');
dsp_tgt.rootdir = java.lang.System.getenv ("C66XCGTOOLSPATH");
dsp_tgt.ccopts.suffix +="--gcc -D__DSPBIOS__-DDSP";
dsp_tgt.ccopts.suffix +="-ms ";
//dsp_tgt.ccopts.suffix +="-pden -pds=48 ";
//dsp_tgt.ccopts.suffix +="-pd露";//将警告转换为错误;在4.9版本中受支持
dsp_tgt.ccopts.suffix += commonOpts;
dsp_tgt.lnkopts.suffix +="-x ";
dsp_tgt.lnkopts.prefix +="--retain=.resource_table";
//dsp_tgt.lnkopts.prefix +="--zero_init=off ";
//dsp_tgt.lnkopts.prefix +="-cinit_compression=off";
dsp_tgt.platforms =[
" ti.platforms.evmDRA7XX:dsp2"、//0
];
/***** 追踪**** /
if (trace_level = 0){
dsp_tgt.ccopts.suffix +="-dcpe_debug_level=0;
}否则、如果(trace_level = 1){
dsp_tgt.ccopts.suffix +="-dcpe_debug_enable";
dsp_tgt.ccopts.suffix +="-dcpe_debug_level=1";
}否则、如果(trace_level = 2){
dsp_tgt.ccopts.suffix +="-dcpe_debug_enable";
dsp_tgt.ccopts.suffix +="-dcpe_debug_level=2";
}否则、如果(trace_level = 3){
dsp_tgt.ccopts.suffix +="-dcpe_debug_enable";
dsp_tgt.ccopts.suffix +="-dcpe_debug_level=3";
}否则、如果(trace_level >= 4){
dsp_tgt.ccopts.suffix +="-dcpe_debug_enable";
dsp_tgt.ccopts.suffix +="-dcpe_debug_level=4";
}
/***** 追踪**** /
{
HwType = HW_VAYU;
HwVer = ES10;
var build_vayu = true;
print("Selected Vayu for ES10");
dsp_tgt.ccopts.suffix +="-DBUILD_for_VAYU";
dsp_tgt.ccopts.suffix +="-DVAYU_ES10";
dsp_tgt.platform = dsp_tgt.platforms[0];
}
build.targets =[
DSP_tgt、
];
VAR 封装= XDC.MODULE ("XDC.BLD.PackageContents");
===========================================================================================================================================
dce_dsp.cfg
===================================================================================================================================================
/*------------------------ DSP --------------------------- *
MultiProc.setConfig("DSP2"、["host"、"IPU2"、"IPU1"、"DSP2"、 "DSP1"]);
===================================================================================================================================================