This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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