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

【急求解答】在C6657时遇到烧写NAND FLASH后怎么运行NAND里面的程序?

我参考C6678帖子的叙述和bootloader以及writer里面的readme,分别进行了如下步骤:

(1)将IBL烧入EEPROM

1、将i2crom_0x51_c6657_le.bin文件从"mcsdk_2_00_04_16\tools\boot_loader\ibl \src\make\bin"拷贝到"mcsdk_2_00_04_16\tools\writer\eeprom\evmc6657l\bin"

2、使用mcsdk_2_00_04_16\tools\writer\eeprom\evmc6657l\bin\eepromwriter_evm6657l.out进行烧写

     其中eepromwriter_input.txt的内容为:

file_name  =  i2crom_0x51_c6657_le.bin
    bus_addr   = 0x51
    start_addr = 0
    swap_data  = 0

3、手动载入文件i2crom_0x51_c6657_le.bin加载到0x80000000

(2)配置IBL

1、修改mcsdk_2_00_04_16\tools\boot_loader\ibl\src\make\bin\i2cConfig.gel的内容,将函数setConfig_c6657_main()的语句

     ibl.bootModes[1].u.nandBoot.bootFormat        = ibl_BOOT_FORMAT_BBLOB;   替换为

     ibl.bootModes[1].u.nandBoot.bootFormat        = ibl_BOOT_FORMAT_ELF;    

 2、运行程序mcsdk_2_00_04_16\tools\boot_loader\ibl\src\make\bin\i2cparam_0x51_c6657_le_0x500.out

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

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

(3)生成应用程序的二进制文件,烧入NAND中。

1、将LedTest.out重新命名为LedTest.bin(有人说直接改为.bin,不需要转换内容)

2、将LedTest.bin文件写入NAND中。

     使用mcsdk_2_00_04_16\tools\writer\nand\evmc6678l\bin\nandwriter_evm6657l.out

     其中nand_writer_input.txt文件的内容为

     file_name  = LedTest.bin
     start_addr = 16384

测试是否成功

 1、首先修改板子的启动模式

Boot Mode

DIP SW3

(Pin1, 2, 3, 4, 5, 6, 7, 8)

DIP SW5

(Pin1, 2, 3, 4, 5, 6, 7, 8)

IBL NAND boot on image 0

(off, off, on, off, on, off, on, on)

(on, on, on, off, on, on, on, on)

IBL NAND boot on image 1

(off, off, on, off, off, off, on, on)

(on, on, on, off, on, on, on, on)

两种都尝试了,并没有启动?

有如下几个问题:

1、在操作的时候发现nand_writer_input.txt里面的start_addr为什么默认不是16384地址而是131072,readme说明上应该是16384。

疑问:为什么默认不是16384地址而是131072呢?如果起始地址不是0的话IBL启动会不会找不到程序入口呢?为什么烧写相同的LED闪烁到NOR可以成功,到NAND却不能成功闪烁呢?

2、之前在烧写NOR flash的时候操作步骤差不多,烧写LED程序配置为 NOR boot on image 0 (default)确实成功启动了,但是当我烧写一个6M左右程序时提示程序过大,那说明书上的NOR 大小为16M是什么意思呢?

Allen35065:

start_addr是16384还是131072取决于你板上使用的NAND一个block的大小,6657EVM对应的一个block的大小是131072,6678是16384;

IBL NAND启动时可以指定NAND启动是从某个block开始,默认是从block 1开始;

6657 EVM外接的SPI NOR 是32Mb(4MB)

赞(0)
未经允许不得转载:TI中文支持网 » 【急求解答】在C6657时遇到烧写NAND FLASH后怎么运行NAND里面的程序?
分享到: 更多 (0)