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

C6678 EMIF16 Nand FLASH 引导模式 ,遇到问题。

C6678 EMIF16 Nand FLASH  boot的帖子在论坛里面很多,我都一一看过了,有的人实验可以成功,有的人也是死活都不行

我在这里对C6678 EMIF16 Nand FLASH  boot的通用做法做了一个总结,主要还是参考mcsnk下面的文档,和对比了论坛中的帖子,总结如下:

我也是按照下面的方法一步一步做的,最终也没有成功。不知道是为什么? 希望高人能够解答。

CCS版本:CCS5.4

开发板:TMS320C6678L

使用的库:mcsdk_2_01_02_06 ,pdk_C6678_1_1_2_6

 

步骤:

 

(一)将生成程序的二进制文件烧入nand flash

1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.

2. Copy the binary file to writer\nand\evmc66xxl\bin directory, and rename it to app.bin.

3. Change the file_name and start_addr in writer\nand\evmc66xxl\bin\nandwriter_input.txt if necessary. By default the NAND writer will load app.bin to DSP memory and write the data to NAND device start byte address 16384 (start address of block 1). The start_addr should always be set to the start byte addess of a block.

4. Open CCSv5 and launch the evmc66xx emulator target configuration and connect to core 0.

5. Load the program writer\nand\evmc66xxl\bin\nandwriter_evm66xxl.out to CCS, be sure evmc66xxl.gel is used in CCS and DDR is intialized.

6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x80000000.

7. Load app.bin to 0x80000000:

 * In CCSv5, right click mouse in memory window, select "load memory".

 * Browse and select writer\nand\evmc66xxl\bin\app.bin (raw data format), click "next"

 * Set the Start Address to "0x80000000", Type-size to 32-bits, leave swap unchecked, click "finish"

8. After the data file is loaded into the memory, run the program (in CCSv5, press F8), it will start to program the NAND.

9. When programming is completed, the console will print "NAND programming completed successfully", if there is any error, the console will show the error message.

(二) IBL烧入EEPROM

1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.

2. Copy the binary file to writer\eeprom\evmc66xxl\bin directory.

3.Change the file_name, bus_addr, start_addr and swap_data in writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt if necessary. Make sure that file_name is set to the name of your binary file.

  *By default the EEPROM writer will load app.dat to DSP memory and write the data to I2C slave bus address 81 (0x51) at EEPROM device start byte address 0 with data swap disabled (0).

4. Open CCSv5 and launch the evmc66xx emulator target configuration and connect to core 0.

5. Load the program writer\eeprom\evmc66xxl\bin\eepromwriter_evm66xxl.out to CCS, be sure evmc66xxl.gel is used in CCS and DDR is intialized.

6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x0C000000.

7. Load your .bin file from step 3 to 0x0C000000:

     * In CCSv5, right click mouse in memory window, select "load memory".

     * Browse and select your binary file.

       – By default, the browse menu only displays .dat files. You will have to change the option

      TI Data Format (*.dat) to Raw Data Format (*.bin) to find your binary file.

     * Click "Next".

     * Change the Start Address to "0x0C000000" if it is not 0x0C000000.

     * Change the Type-size to 32 bits if it is not 32 bits.

        * Make sure the swap checkbox is unchecked.

     * click "Finish".

8.After the data file is loaded into the memory, run the program (in CCSv5, press F8), it will start to program the EEPROM.

9.When programming is completed, the console will print "EEPROM programming completed successfully", if there is any error, the console will show the error message.

(三) 配置IBL

1.修改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;

2.运行程序tools\boot_loader\ibl\src\make\bin\i2cparam_0x51_c6678_le_0x500.out

3.加载文件 i2cConfig.gel然后在CCS的DEBUG界面上点击,Srcipts->EVM c6678 IBL -> setConfig_c6678_main

4.几秒钟以后,在console界面上敲击回车键

(四) 测试

修改板卡的启动模式:

(pin1,pin2,pin3,pin4)

SW3 (off, off,on,off)

SW4 (on, off,on, on)

SW5 (on, on,on,off)

SW6 (on, on,on, on)

现象:led没有像正常调试的时候闪烁。不知道原因在什么地方?(调试的程序是可以正常闪烁的)

nancy peng1:

回复 Wenguo Li1:

代码段指定的有问题具体是什么意思?cmd文件有问题吗?具体该怎么改?

Ting Zheng1:

多谢

gaoyang9992006:

楼主可以提供一下硬件连接图吗?emif 接nand Flash的。谢谢。

Jellal Fernandez:

回复 nancy peng1:

我也遇到这样的问题,很是好奇,能说明解决的方法吗

赞(0)
未经允许不得转载:TI中文支持网 » C6678 EMIF16 Nand FLASH 引导模式 ,遇到问题。
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1