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

TMS320C6678: 代码固化遇到的问题

Part Number:TMS320C6678

我是参考下面的方法进行操作的:

【Notice】本说明旨在快速实现基于SPI单核和多核boot例程,全部为操作指南,不含原理性解释

多核boot指南:(以4核boot为例)

1.打开spi_boot_suit\2_ledtestprj\LedTest\667x 下的4个测试工程,成功编译并生成4个.out文件,
生成.out 文件必须命名为simple0.out 、simple1.out、 simple2.out 以及simple3.out

2. 将4个.out文件拷贝到spi_boot_suit\1_utilities\multicore_boot_4cores路径下,双击spiboot_multi_4cores.bat批处理文件,开始生成文件,得到spirom_le.dat

3. 将evm板调成no-boot 模式,拨码开关对应 SW3~SW6 1000 0000 0000 1100 (0 对应on 1对应off)

4. 打开MCSDK自带的nor-writer工程,将工程bin文件夹下的nor_writer_input.txt 打开,修改输入文件名为spirom_le.dat 并将spirom_le.dat拷贝到mcsdk_xxxx\tools\writer\nor\evmc667xl\bin路径下

5. 链接工程,等PC指针停在main函数入口,打开view–memory browser,输入0x80000000,load memory 选择spirom_le.dat,(自动)勾上Use the header… 再次确认start address 为0x80000000,length为spirom_le.dat的长度(单位是word) 开始往DDR里灌数。
6. 烧写工程run,注意console输出 显示与length长度大小相同的文件烧入flash,则烧写成功,此时单位是字节。

[C66xx_0] Flashing sector 1 (65536 bytes of 121920)
[C66xx_0] Reading and verifying sector 0 (0 bytes of 121920)
[C66xx_0] Reading and verifying sector 1 (65536 bytes of 121920)
[C66xx_0] NOR programming completed successfully
7.将evm修改拨码开关为spi-boot模式,SW3~SW6:1011 0000 0010 1000 (0 对应on 1对应off)

单核boot 与4核boot 类似,将核0的.out文件更名为simple.out 拷贝到singlecore_boot 下即可,其他类似。

烧写工程run的时候进程会死在下面的循环里面(在evmc6678_phy.c中):

/* Setup the Advertised Ability register for this port:
* (1) Enable Full duplex mode
* (2) Enable Auto Negotiation
* (3) Enable the Link
*/
sgmiiCfg.linkSpeed = CSL_SGMII_1000_MBPS;
sgmiiCfg.duplexMode = CSL_SGMII_FULL_DUPLEX;
CSL_SGMII_setAdvAbility (macPortNum, &sgmiiCfg);

do
{
CSL_SGMII_getStatus(macPortNum, &sgmiiStatus);
} while (sgmiiStatus.bIsLinkUp != 1);

求大佬解答一下哪里存在问题?(另外现在图片应该怎么插入)

Nancy Wang:

请问是使用的mcsdk_2_01_02_06\tools\writer\nor\evmc6678l下的烧写例程吗?烧写的时候是否将板子设置成no boot模式?是自制板吗?因为该例程都在EVM板上测试过,程序不会有问题。

点击插入->图像->upload就可以了。

,

user6501245:

是自制板,也设成了no boot 模式了

,

Nancy Wang:

我搜了一下flash writer工程里面没有您贴出来的代码。请问您目前是烧写成功了吗?只是上电启动运行之后自己的工程卡死了?

看代码像是网口部分的问题,调试的时候没有出现该问题是吗?

,

user6501245:

代码在这个位置:

目前还没有烧写成功

,

Nancy Wang:

请问您的板子上使用的是mac0还是mac1,开发板上默认用的是mac1,如果不同,可能需要修改一下。

,

user6501245:

请问这个是什么?在哪里改?

,

Nancy Wang:

看一下platform_init的源码:

mcsdk_02_01_02_06\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\src\platform.c

其中有关于SGMII的初始化,看一下是否是这个原因导致的。

if (p_flags->phy) { configSerdes(); // Init_SGMII(0); Init_SGMII(1); }

,

user6501245:

实在抱歉隔这么久才回复,之前一直在忙别的东西。

这个地方我改过之后问题依旧没有得到解决,,,不知道是不是板子有什么问题

,

Nancy Wang:

卡住的这一行显示sgmii link不上,建议对比EVM板查看一下网口设计部分有什么差异。例如sgmii serdes参考时钟是否与EVM一直 312.5MHZ。

先单独调试一下网口。

,

user6501245:

您好,感谢您的回复。我重新跑了下工程,发现Init_SGMII(1)注释掉之后跑的还是这句,注释并没有生效,相关问题我已经重新开了个贴:

e2echina.ti.com/…/tms320c6678-norwriter_evmc6678l

,

Nancy Wang:

参考附件中的文件替换编译试一下。

8322.NIMU-EMAC0.zip

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 代码固化遇到的问题
分享到: 更多 (0)