TI中文支持网
TI专业的中文技术问题搜集分享网站

请教:使用Ti tools dm8127 IPNC RDK DSP端内存划分

如题,往DSP端添加算法代码后,编译成功。

但是编译出来的文件obj文件过大。原有demo自带的oe674文件大约500k左右,而我的有1.25M。

导致连接出错(提示:error #10234-D:unresolved symbol remain)。

现在想尝试重新划分dsp的mem,linker.cmd中有说明:该文件系自动生成,编辑无效。

请问:

1、上述连接错误是由dsp内存配置引起的吗?

2、不使用CCS,现有RDK工具链下,如何能重新配置dsp端内存大小?

非常感谢。

Robin Edson:

ipnc_rdk\ipnc_mcfw\mcfw\src_bios6\cfg\ti814x文件夹下的config_XXXM.bld中就是你的内存分配。

unresolved symbol remain

意思是说有声明了但未定义的函数调用,你看下unresolved symbol remain下面的是什么函数,找到那个位置就知道你出了啥问题了。

Yuanwei:

Robin 说的不错。 

但我觉得你不像是内存问题,还是链接问题吧, 感觉有的文件或者函数链接时找不到。 

如果要改内存配置,不需要CCS,就是一个文本设置文件, 另外要注意对应的cache 设置。

simon blak:

回复 Yuanwei:

谢谢楼上的兄弟。

改了内存配置,让DSP_CODE_MEM变大后这个问题依然存在。

还得考虑别的原因,但是肯定不是函数申明后没定义这样的错误。

另外请TI 牛人冒个泡:

1、排除算法实现本身,如何开发出类似于demo中DMVAL这样的库出来?

2、在xdais这样的算法框架程序中为什么不能调用普通的C函数?

 

simon blak:

回复 simon blak:

undefined                              first referenced

symbol                                    in file

SELFALG_TI_IALG                /home/…/ipnc_rdk_bios6.ae674<SelfAlgLink_priv.oe674>

SELFALG_TI_process          /home/…/ipnc_rdk_bios6.ae674<SelfAlgLink_priv.oe674>

error #10234-D:unresolved symbol remain

错误信息类似这样的提示。。。。

补充一下,在没有调用普通C函数之前,算法框架能正常从link获取到yuv并进行简单的灰度统计处理。

调用普通C函数(自己添加的算法)之后,出现的上述错误。

Robin Edson:

回复 simon blak:

相信我说的,你这个就是

SELFALG_TI_IALG  

SELFALG_TI_process  

申明了但未定义,我在移植过程中经常碰到这种错误。

simon blak:

回复 Robin Edson:

呵呵,谢谢 Robin Edson 。

问题是经反复检查,这两个东东确实定义了,而且函数

SELFALG_TI_process  申明 定义 调用是一致的。。。

而且他不是报错自己定义的C函数申明未定义,报的是类似于****_TI_process这样的算法框架的错误。

我再检查一下。。。

Robin Edson:

回复 simon blak:

也有可能是你该包含的头文件没有包含,譬如ti的共用接口头文件。

Yuanwei:

回复 simon blak:

搜索路径加了吗? 

simon blak:

回复 Yuanwei:

谢谢关注。

实验好几次发现,该函数如果在调用它的同一文件中定义,就不会出错。

如果放到另外一个c文件中定义,声明放到头文件中,或者在调用它的文件中用extern声明,都会出现上述错误。

求解释。。。

Robin Edson:

回复 simon blak:

外部调用的时候包含你声明的那个头文件了吗?

赞(0)
未经允许不得转载:TI中文支持网 » 请教:使用Ti tools dm8127 IPNC RDK DSP端内存划分
分享到: 更多 (0)