Hi,
Now I have some troubles with the nandboot of EVM6670l.
Please check my operations carefully and help me to get the issues. Thanks.
Setup software:
setup_CCS_5.0.3.00028.zip bios_mcsdk_02_00_01_12_setup.exe
NAND boot over I2C example
A simple hua_evmc6670l example demonstrating NAND boot over I2C.
Steps to build the example:
1.Import the hua_evmc6670l CCS project from C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\demos\hua\evmc6670l directory. (in CCSv5, Project->Import Existing CCS/CCE Eclipse Projects)
2.Clean the hua_evmc6670l project and re-build the project, after build is completed, hua_evmc6670l.out and hua_evmc6670l.map will be generated under C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\demos\hua\evmc6670l \bin directory.
Steps to run hua_evmc6670l in CCSv5:
1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
"No Boot" mode is:
SW6 [position 4, 3, 2, 1] = On, On, On, On = 4b0000
SW5 [position 4, 3, 2, 1] = Off, On, On, On = 4b1000
SW4 [position 4, 3, 2, 1] = On, On, On, On = 4b0000
SW3 [position 4, 3, 2, 1] = On, On, On, Application specific Endianess = 4b000x (where x = off for little endian and on for big endian)
2. Make sure the pin2 of SW9 on evm6670l board is off.And setting the IP of PC as 192.168.2.101,then connecting the reticle between the board and PC .
3.Load the program C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\demos\hua\evmc6670l \bin\ hua_evmc6670l.out to CCS.
4. Run the program in CCS.After that ,you can scan the Internet address of 192.168.2.100 on PC.
Steps to program hua_evmc6670l to NAND:
1.Configure GEL
Change C:\ProgramFiles\TexasInstruments\mcsdk_2_00_01_12\tools\boot_loader\ibl\src\make\bin\i2cConfig.gel to read:
replace
ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB;
with
ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_ELF;
2. Load IBL
Programing "IBL" on the EEPROM at bus address 0x51
Use the I2C EEPROM writer for c6670 EVM from the MCSDK distribution.
Program C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\boot_loader\ibl\src\make\bin\i2crom_0x51_c6670_le.dat (IBL image) to the EEPROM at I2C BUS address 0x51 following the EEPROM writer's procedure.
Rename file to app.dat
Make sure eepromwriter_input.txt is set to load app.dat to I2C address 81 (0x51)
Other parameters not changed:
start_addr = 0
swap_data = 0
Power-down EVM
Set boot pins to little endian "No Boot"
Launch the EVM6670 target configuration
Load the evm6670l.gel file that accompanied the CCSv5 patch
Wait for memory map setup to complete
Connect to Core 0
Wait for GEL initialization sequence to finish
Load Core 0 with writer\eeprom\evmc66xxl\bin\eepromwriter_evm6670l.out
Load memory location 0x80000000 with the app.dat file, making sure to use the header information to set the size of the memory block
Run the EEPROM writer program
===Everything runs successfully
3.Configure IBL
Terminate previous debug session (load IBL session)
Power-down EVM
Power-up EVM
Boot pins still set to little endian "No Boot"
Launch the EVM6670 target configuration
Load the evm6670l.gel file that accompanied the CCSv5 patch
Wait for memory map setup to complete
Connect to Core 0
Wait for GEL initialization sequence to finish
Load Core 0 with C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\boot_loader\ibl\src\make\bin\i2cparam_0x51_c6670_le_0x500.out
Load GEL file C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\boot_loader\ibl\src\make\bin \i2cConfig.gel
Run the i2cparam_0x51_c6670_le_0x500.out program
Run the EVM c6670 IBL -> setConfig_c6670_main GEL script
Press "Enter"
===Program states that the I2C table write completed
4.Program NAND
Terminate previous debug session (configure IBL session)
Power-down EVM
Copy C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\demos\hua\evmc6670l \bin\ hua_evmc6670l.out and rename it to app.bin.
Power-up EVM
Boot pins still set to little endian "No Boot"
Launch the EVM6670 target configuration
Load the evm6670l.gel file that accompanied the CCSv5 patch
Wait for memory map setup to complete
Connect to Core 0
Wait for GEL initialization sequence to finish
Load Core 0 with C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\writer\nand\evmc6670l\bin \nandwriter_evm6678l.out
Load memory location 0x80000000 with the app.bin file, making sure to use the header information to set the size of the memory block . Set the Start Address to "0x80000000", Type-size to 32-bits, leave swap unchecked, click "finish"
Run the nandwriter_evm6670l.out program
===Console states that the NAND programing completed successfully
5.Test NAND
Terminate previous debug session (program NAND session)
Power-down EVM
Configure boot pins for little endian NAND boot
" 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)
This will set the boot para index to 2 to boot the NAND image, by default
the boot configuration table sets the NAND offset address to be 16384
(start of block 1) and image format to be BBLOB for image 0."
Power-up the EVM
After POR, IBL will boot the image from NAND.
Questions:
When I finish all the things , I can not scan the internet address 192.168.2.100 on PC.
It seems something going wrong with the operations that I have did.I hope that you can find the reason..
I suspect that I should not rename hua_evmc6670l.out to app.bin without changing the format(see the red line).Then I change the .out to .dat,but it donot work as well.I belive I should change the .out to .bin format.But I don’t known how to do it.Can you solve it for me?
Please check my operations carefully and help me to get the issues.
Thanks,
xufei