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

c6678 IBL 烧写问题

我按照论坛上给的一个6678 IBL boot的一个流程(如下所述),但试了好久都不成功,尝试中遇到一些问题,希望能得到好心的大牛们指导 C6678 boot from PCIe by DM8127(DMDM8127 RC,C6678 EP),想修改IBL,但是烧写IBL不成功,在IBL程序未修改下把原程序编译通过,烧写不成功

 烧写过程 (一)将IBL烧入EEPROM中 对I2C进行POR或IBL程序编程:(参见MCSDK的111页)

 (1) 将目标板(EVM或用户板)设置在no boot/EMIF16模式,连接Jtag并加电。

(2) 在CCS环境连接目标Core0:采用evmc66xxl.gel配置文件并初始化DDR。(对于2.0.8及这之前版本的MCSDK在初始化程序中使用了DDR)

(3) 调入在CCS环境下的编程工具:program writer \eeprom \evmc66xxl \bin \eepromwriter_evm66xxl.out。

 (4) 在CCS下打开内存观察窗口(view->Memory Browser):观察0x0C000000(这是共享MSM内存的首地址)下的地址。

 (5) 将IBL程序i2crom_0x51_c6670_le.bin copy到目录:writer\eeprom\evmc66xxl\bin 下,同时调入CCS的内存0x0C000000处。具体方法:在CCS的内存观察窗口中按鼠标右键→调入文件“load memory” →选择文件i2crom_0x51_c6670_le.bin→不需要使用选项:“Use the file header information to set the start address and size of the memory block to be loaded”(32位宽,无交换)→按“next”即可完成。

(6) 设置配置文件:writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt(注意:对这些参数进行修改时,字符的大小写,空格均不要改变原文件中的格式) ◦file_name = i2crom_0x51_c6670_le.bin (在烧录IBL时这个文件名是否需要同时改成App.bin?因而MCSDK文档上是这样的;而在烧录POST时,这两个文件名保持相同的原始文件。这儿需要注意的是,这个等烧录的文件已不是原始的*.out文件了!) ◦bus_addr = 0x51 ◦start_addr = 0 ◦swap_data = 0

 (7) 在CCS环境下运行:按F5。但编程正确结束,则console终端中显示“EEPROM programming completed successfully”,否则提示错误信息。

 (二)配置IBL

(8)、修改mcsdk_02_01_02_05\tools\boot_loader\ibl\src\make\bin\i2cConfig.gel的内容,将函数setConfig_c6678_main()的语句 ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB; 替换为 ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_ELF;

 (9)、运行程序mcsdk_2_00_04_16\tools\boot_loader\ibl\src\make\bin\i2cparam_0x51_c6678_le_0x500.out (10)、加载文件 i2cConfig.gel然后在CCS的DEBUG界面上点击,Srcipts->EVM c6678 IBL -> setConfig_c6678_main

 (11)、几秒钟以后,在console界面上敲击回车键

 

提示IBL下载成功,但是我的6678设备没有IBL初始化成功,没有做PCIE初始化 8127端lspci 不能识别6678

lucky2:

您好

我同样是显示了IBL下载成功。请问你怎么判断IBL初始化是否成功?

我做6678和PC PCIe通信,PC端的Windriver软件找不到6678这边的设备ID号。不知道是否是IBL初始化没有成功

谢谢

Peishu Yan:

你好  请问问题解决了吗 我也遇到了相同的问题?这是我的联系方式希望可以提供一些资料  多谢多谢!!819590597

赞(0)
未经允许不得转载:TI中文支持网 » c6678 IBL 烧写问题
分享到: 更多 (0)