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

6678 I2C启动请教!!!!!

我在板子上实现6678 I2C启动NAND,但是出现了一些问题,问题如下:

1、将IBL写入EEPROM,主程序写入NAND,配置启动方式后,启动连接JTAG发现DSP内核指针指向0x7开始的地址,而且启动配置寄存器值由0x0000082A变为0x00000020,请问什么原因造成的?附图如下

2、我改变boot启动寄存器值后,发现DSP核在IBL中循环。请问是什么原因。附图

Andy Yin1:

 你是在EVM测试还是在自制板子?板块默认配置为什么boot mode?可能是上电后在I2C boot下加载IBL后,在IBL中修改了DEVSTAT,修改了boot mode。

Yicheng Mei:

回复 Andy Yin1:

Andy Yin1 您好:

我现正通过IBL启动nand flash中应用程序。目前,可以通过IBL启动Nand Flash中的单核程序,启动之后核0能够正常工作,当通过IBL启动nand Flash中多核程序时,只有核0能够正常工作,其他7个核都没有反映。我的8个核使用的是相同的一个out文件,是在程序里面通过每个核的CoreID来决定程序执行哪个分支。现在有一下疑问:

(1) 单核启动过程中,是直接将out文件重命名为app.bin文件,通过TI提供的nand writer工程将程序烧写固化到Nand Flash中,这种情况下可正常启动。如果使用一些转换的工具,将out文件转成bin文件,在往Nand Flash 中烧写,程序不能够正常启动,这是为什么,原因何在?

(2) 如果多个核使用同一个out文件,怎么将out文件烧写如nand Flash中,我看到其他的启动方式如 SPI NorFlash启动时,需要通过一系列的工具链转换,配置参数表头等信息。那么在使用IBL Nand Boot过程中,是否也需要类似的工具,还是向处理单核烧写一样,直接将out文件重命名,然后烧写到Nand Flash中?

(3) 多核启动过程中,core0需要将其他核唤醒,从相关的资料中看到,核0给其他核的MagicAddr地址写入入口地址,并向相应核发送IPC中断,那么这个入口地址应该怎么给什么,还是直接去core0的MagicAddr地址空间,将其内容取出,赋给其他核的MagicAddr?

(4) 目前,我直接将out文件重命名成app.bin文件,并烧写。然后在核0中将核0的MagicAddr内容赋给了其他的核1,2,3。发现核0能够正常工作,但是其他核没有工作。然后我用仿真器去查看DSP各个核的PC指向位置,核0指向了代码段,但是核1,2,3的PC没有指向代码段,指向的位置很乱。核4 ,7,5, 6的PC都指向了RBL的位置。这中现象是因为在核0中没有给核1 2 3搬移程序到他的代码段,这个工作是在IBL二级启动程序中完成,还是需要用户来完成,或者是需要将out文件做转换,而不能直接重命名?

期待您的解疑,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 6678 I2C启动请教!!!!!
分享到: 更多 (0)