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

C6678 NAND&NOR boot 反复加载的问题

各位专家好!

我在做C6678的 NAND&NOR boot ,根据说明烧写完eeprom IBL和NOR、NAND flash代码后,选择NAND Boot:
   Set the dip switches (pin1, pin2, pin3, pin4) to:    SW3(off, off, on, off),    SW4(on, off, on, on),    SW5(on, on, on, off),
    SW6(on, on, on, on)

此时超级终端打印的信息如下:

IBL: PLL and DDR Initialization Complete                                       IBL Result code 00                 IBL: Booting from NAND                     IBL: Booting from NAND                     IBL: Booting from NAND                       IBL: Booting from NAND

……..(下面一直打印的是相同内容,而点灯的代码并没有执行)

选择NOR Boot:
   Set the dip switches (pin1, pin2, pin3, pin4) to:    SW3(off, off, on, off),    SW4(on, on, on, on),    SW5(on, on, on, off),
    SW6(on, on, on, on)

此时超级终端打印的信息如下:

IBL: PLL and DDR Initialization Complete                                       IBL Result code 00                 IBL: Booting from NOR                     IBL: Booting from NOR                     IBL: Booting from NOR                       IBL: Booting from NOR……..(仍然一直打印的是相同内容,真正要加载的代码并没执行)。

此处所有的烧写方法都是按照\Texas Instruments\mcsdk_2_00_05_17\tools..里面的说明进行的。只不过烧写的代码是我自己写的应用程序(点灯或者对内存赋值程序,烧写前直接把test.out命名为test.bin或者直接拿test.out来烧写),

而如果我在nor flash中烧写的不是自己的应用程序,采用TI提供的HUA例程时,boot代码就能顺利执行,请问这是什么原因?

我个人怀疑的是DSP core0的boot magic address一直存放的I2C boot后的入口地址,没有被更新为应用程序的入口地址,希望有过类似经验的人出来指导一下,不胜感激!

Andy Yin1:

您好,

请问您的程序直接在CCS中调试过么?

keke colin:

回复 tthnny:

你好!

我用的C6678 EMIF16的外挂一个NOR FLASH,16M x 16bit,NOR FLASH BOOT时,对EEPROM烧写IBL和参数配置成功,.out到.bin,烧写程序到flash后,重启后boot失败,

对于nor的烧写偏移地址是0x0吗?nand的地址是怎么算出来的?还有,sw3设置成1101,小端I2C启动后,读拨码值的寄存器DEVSTAT 0x02620020为FFFF,而设置成noboot或其他模式时则读值正确,对应为拨码开关的值0801.0803.0807等,为什么只有I2C模式读取错误呢?能看一下evm的值吗,

zhao maso:

回复 tthnny:

请问下面这段话的出处是那里?是那个文档?谢谢

“Note: It is IBL (in local L2) that monitors magic address and boots the DDR init (in local L2) or POST (in local L2) in those two demos. If one wants to load his/her own boot demo code, then it shouldn’t overlap with the IBL code. As a guideline, the IBL uses memory from 0x00800000 to 0x0081BDFF.”

Allen35065:

回复 zhao maso:

IBL需要占用0x00800000~0x0081FFFF作为运行空间,你的运行代码不应该把静态的段放在这里,比如.text, .const等,但是可以把运行后分配的段放到这块空间;文档我也不记得是在哪一篇了。

赞(0)
未经允许不得转载:TI中文支持网 » C6678 NAND&NOR boot 反复加载的问题
分享到: 更多 (0)