1 TFTP boot over I2C example
3 A simple Hello World example demonstrating TFTP boot over I2C.
5 Steps to build the example:
7 1. Import the i2ctftpboot CCS project from tools\boot_loader\examples\i2c\tftp\evmxxxx directory. (in CCSv5,
8 Project->Import Existing CCS/CCE Eclipse Projects)
10 2. Clean the i2ctftpboot project and re-build the project, after build is completed, i2ctftpboot_evmxxxx.out and
11 i2ctftpboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\tftp\evmxxxx\bin directory.
13 Steps to run i2ctftpboot in CCSv5:
15 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
17 2. Load the program tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.out to CCS.
19 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
21 4. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
22 Flow control none. Be sure the COM port # is set correctly.
24 5. Run the program in CCS, i2ctftpboot will send the hello world booting info to both the CCS console and the
25 Hyper Terminal.
27 Steps to boot i2ctftpboot from TFTP:
29 1. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to
30 tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM.
32 2. By default, IBL will boot a BBLOB image from TFTP, to run this example, we need to change the
33 TFTP boot image format to ELF:
34 a. In setConfig_c66xx_main() of tools\boot_loader\ibl\src\make\bin\i2cConfig.gel,
35 replace
36 ibl.bootModes[2].u.ethBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB;
37 with
38 ibl.bootModes[2].u.ethBoot.bootFormat = ibl_BOOT_FORMAT_ELF;
39 b. Re-program the boot configuration table, refer to tools\boot_loader\ibl\doc\README.txt on how to program
40 the boot configuration table to EEPROM.
42 3. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy
43 tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.out to the TFTP base directory, rename
44 i2ctftpboot_evmxxxx.out to app.out.
46 4. Set the IP address of the PC that is running the TFTP server to 192.168.2.101, since by default IBL will set the EVM
47 IP address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101.
49 5. Set the boot dip switches to I2C master mode, bus address 0x51 and boot parameter index to be 4.
51 6. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, IBL will download the
52 boot image from TFTP server and boot from it.
54 Please refer to C6678L/C6670L/C6657L/TCI6636K2H EVM boot mode dip switch settings:
55 http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
56 http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
57 http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
58 http://processors.wiki.ti.com/index.php/EVMK2H_Hardware_Setup
60 and User's Guide for more details:
61 http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide
62 http://processors.wiki.ti.com/index.php/MCSDK_User_Guide_for_KeyStone_II