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

6678 DSP EMAC boot 加入SRIO功能代码之后boot不起来

在6678DSP芯片上完成以太网程序自加载,现在测试工程可以通过以太网完成多核加载。但在测试工程中加入SRIO功能实现代码部分之后,自加载就boot不起来了。不知道是什么原因,希望熟悉这一块的朋友们工程师们帮帮忙~

我逐步调试时,发现,将涉及SRIO功能实现的那些代码一点一点的加到测试工程里面,有的加一部分可以boot,有的不行。如果加入的代码有函数调用之类的代码,很可能就boot不起来,请问函数的调用,涉及到堆栈,内存分配,这些需要修改对应的cmd文件吗,会对我的程序boot有影响吗?

Andy Yin1:

 需要为RBL预留LL2上起始地址为0x00872DC0的最后一段memory,在加载启动之前不能覆盖这段memory,其他的也没什么了。你这里不能boot起来,是还在执行boot过程,没有进入c_int00入口程序么。

zhonghong zhang:

回复 Andy Yin1:

我连上JTAG之后,观测PC指针不在L2空间,应该是没有跑起来程序

zhonghong zhang:

回复 Andy Yin1:

你好 Andy   我查看了一下PC指针的值,在boot rom空间20B00000—-20B1FFFF?

zhonghong zhang:

回复 Andy Yin1:

TI工程师还在吗?能否指点迷津?

Allen35065:

回复 zhonghong zhang:

启动跟你加入什么功能没有关系,因为emac boot会把所有的boot table加载完才开始从c_int0启动,所以你需要关注的是是否覆盖了保留内存段(看map文件即可),另外检查你的boot table做的是否有问题。

zhonghong zhang:

回复 Allen35065:

您好 最近做BOOT时,加入了一些keystone的代码,比如keystone_common.c   keystone_pcie_init_drv.c,加入这些代码之后,程序就boot不起来了,但是调用别的函数,自己编写的那种函数,就可以实现boot,这个跟keystone的库函数有关系吗?因为程序内容的不同,会导致boot出错?

Evan:

回复 Andy Yin1:

    我在用C6670实现EMAC多核启动 ,按照网上提供的例程通过PC向DSP发送以太包,EMAC启动成功。不过我想问下能不能像PCIe启动那样,通过将多套代码存放在DDR3中,根据PC发出的控制信号有选择地加载相应的一套代码。还请提供下EMAC启动下如何进行多模加载的思路!   谢谢

赞(0)
未经允许不得转载:TI中文支持网 » 6678 DSP EMAC boot 加入SRIO功能代码之后boot不起来
分享到: 更多 (0)