您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> LDF文件问题
本帖共有5640个阅读者
发表帖子 发表投票 回复主题
LDF文件问题
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
LDF文件问题
现在用的BF54X的开发板,用了ADI的图像处理包跑中值滤波,然后显示在液晶屏上,用了PIXEL COMPOSITOR的功能,现在由于内存不够,在project option里使能了instruction cache 和data cache(bank A and bank B),结果原来的LDF文件就报错了,想请教一下是不是需要修改LDF里面的一些东西呢,麻烦了,谢谢

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/12 16:04:55
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

传个报错的图看看


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/12 22:57:02
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线


上传的图片
  2013313937074.png [ 14.03 KB 431×512 ] (缩略时请点击查看原图)

 



「该帖子被 acc700 在 2013-03-13 09:37:02 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/13 9:34:05
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

DDR和EBIU这样配置是对的吗

void Init_DDR(void)
{
    *pEBIU_RSTCTL |= 0x0001;
    ssync();
*pEBIU_AMGCTL = 0x0009;
*pEBIU_DDRCTL0 = 0x218A8411L;

*pEBIU_DDRCTL1 = 0x20022222L;//64MB,16Bit
*pEBIU_DDRCTL2 = 0x00000021L;
    ssync();
}


void Init_EBIU(void)
{
*pEBIU_AMBCTL0 = 0x7bb07bb0;
*pEBIU_AMBCTL1 = 0x7bb07bb0;
*pEBIU_AMGCTL = 0x000f;
}


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/13 10:27:31
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线


上传的附件
   201331316444118.rar [ 221.42 KB ]

这是我的代码,,调试好多天了,找不到问题,呼唤andy,谢谢了


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/13 16:46:11
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你的代码设置的内存为32MB的,是否和你的硬件上焊接的内存相符?
你的代码在编译时会有较长的内存初始化时间,可能内存加载了数据,请检查XML文件是否进行内存初始化。
运行你的代码,PLL初始化后代码跑飞,可能和我使用的板卡内存为64MB有关,做了以下修改:



(如果你的板卡内存为32MB,忽略以下建议)

我采用64MB内存的54板子,在工程选项中修改完内存容量后,提示:
Warning li2060]  The following input section(s) that contain program code
        and/or data have not been placed into the executable for processor 'p0'
        as there are no relevant commands specified in the LDF:

        .\libadi_image_tool_box.dlb[image_filters.doj](adi_fast_prio0_code)


[Error li1060]  The following symbols are referenced, but not mapped:
        '_adi_median_i8' referenced from .\Debug\adi_median.doj(program)

从警告上看,你的库中使用了一个内存映射,这个映射片段在新生成的内存中没有映射,你可以比较一下修改完内存容量的LDF文件和之前的有何不同。将不同部分复制到新的LDF中试试。
另外不清楚你的库中是否包含LDF文件的配置,如果包含,则可能无法消除这个错误。




这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/14 10:34:00
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

谢谢回复。

我的板子也是64M的内存,还有怎么检查XML文件是否进行内存初始化呢,初学不太懂。

另外,上面这个错误以前出现过,修改了LDF文件在内存中映射了这个片段,错误就消除了,现在就是出现代码跑飞的问题,跑完PLL初始化就进入fatal exception了,编译之后虽然成功,硬件错误HWERRCAUSE一直显示03。


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/14 13:36:03
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我是将这个文件image_tool_box_bf548.ldf直接加到Linker Files里面,而不是用自动生成的LDF文件,这样就没有报错了

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/14 13:57:15
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

xml文件在软件安装路径Analog Devices\VisualDSP 5.0 \System\ArchDef\ADSP-BF548-proc.xml,你可以i找到BF533的同名文件,用记事本打开,找到最下面,你会找到SDRAM寄存器配置相关的一段描述,按这种格式将其改为BF54上的寄存器名和配置值。

从工程选项上看,以前的LDF文件是32MB的内存,很有可能因为内存不同导致运行错误。所以需要先将使用的内存在LDF文件中映射正确,你可以重新生成LDF文件,比较你原始的LDF文件,看多了哪些配置而消除了报错。



这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/15 10:42:33
acc700(论坛新手)
acc700
头衔:社区公民
帮派:无帮无派
帖数:37
金钱:463
积分:47
注册时间:2012/12/18
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

还有个疑问,BF54上的寄存器名和BF53不是一样的吗,XML文件中寄存器配置BF53是

<register name="EBIU_RSTCTL" reset-value="0x0003" core="Common" />
<register name="EBIU_DDRCTL0" reset-value="0x218A8287" core="Common" />
<register name="EBIU_DDRCTL1" reset-value="0x20022222" core="Common" />
<register name="EBIU_DDRCTL2" reset-value="0x00000021" core="Common" />

BF54则是这几个

<register name="EBIU_SDRRC" reset-value="0x01A0" core="Common" />

<register name="EBIU_SDBCTL" reset-value="0x25" core="Common" />

<register name="EBIU_SDGCTL" reset-value="0x0091998D" core="Common" />

这该怎么改啊


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/15 16:28:23
16
1
1/2
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154245 Call, 1 Queries, Processed in 0.109375 second(s),