summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHao Zhang2011-05-01 15:52:39 -0500
committerHao Zhang2011-05-01 15:52:39 -0500
commit01e47d52e2b0f57045a8c6ba4091773f6204d7f5 (patch)
tree2a0db3e053240006317cd3e90b65a6e986fc190b /boot_loader
parentac56ca1b9cedc3918227cddaac5acb886b81902e (diff)
downloadmcsdk-tools-01e47d52e2b0f57045a8c6ba4091773f6204d7f5.tar.gz
mcsdk-tools-01e47d52e2b0f57045a8c6ba4091773f6204d7f5.tar.xz
mcsdk-tools-01e47d52e2b0f57045a8c6ba4091773f6204d7f5.zip
Added boot examples for C6670, updated IBL build script to support Msys
Diffstat (limited to 'boot_loader')
-rw-r--r--boot_loader/IBL_Makefile38
-rw-r--r--boot_loader/IBL_README.txt33
-rw-r--r--boot_loader/IBL_buildibl7
-rw-r--r--boot_loader/IBL_makestg214
-rw-r--r--boot_loader/IBL_release_info.txt18
-rw-r--r--boot_loader/IBL_setupenv.bat31
-rw-r--r--boot_loader/IBL_setupenvMsys.sh15
-rw-r--r--boot_loader/examples/i2c/emac/docs/README.txt41
-rw-r--r--boot_loader/examples/i2c/emac/evmc6670l/.ccsproject10
-rw-r--r--boot_loader/examples/i2c/emac/evmc6670l/.cproject82
-rw-r--r--boot_loader/examples/i2c/emac/evmc6670l/.project96
-rw-r--r--boot_loader/examples/i2c/emac/evmc6670l/i2c_boot_emac_example.cmd77
-rw-r--r--boot_loader/examples/i2c/emac/evmc6670l/macros.ini1
-rw-r--r--boot_loader/examples/i2c/emac/evmc6678l/.cproject1
-rw-r--r--boot_loader/examples/i2c/emac/evmc6678l/.project2
-rw-r--r--boot_loader/examples/i2c/nand/docs/README.txt39
-rw-r--r--boot_loader/examples/i2c/nand/evmc6670l/.ccsproject10
-rw-r--r--boot_loader/examples/i2c/nand/evmc6670l/.cproject82
-rw-r--r--boot_loader/examples/i2c/nand/evmc6670l/.project96
-rw-r--r--boot_loader/examples/i2c/nand/evmc6670l/i2c_boot_nand_example.cmd77
-rw-r--r--boot_loader/examples/i2c/nand/evmc6670l/macros.ini1
-rw-r--r--boot_loader/examples/i2c/nand/evmc6678l/.cproject1
-rw-r--r--boot_loader/examples/i2c/nand/evmc6678l/.project2
-rw-r--r--boot_loader/examples/i2c/nor/docs/README.txt34
-rw-r--r--boot_loader/examples/i2c/nor/evmc6670l/.ccsproject10
-rw-r--r--boot_loader/examples/i2c/nor/evmc6670l/.cproject82
-rw-r--r--boot_loader/examples/i2c/nor/evmc6670l/.project96
-rw-r--r--boot_loader/examples/i2c/nor/evmc6670l/i2c_boot_nor_example.cmd77
-rw-r--r--boot_loader/examples/i2c/nor/evmc6670l/macros.ini1
-rw-r--r--boot_loader/examples/i2c/nor/evmc6678l/.cproject1
-rw-r--r--boot_loader/examples/i2c/nor/evmc6678l/.project2
-rw-r--r--boot_loader/tools_install.bat2
32 files changed, 946 insertions, 133 deletions
diff --git a/boot_loader/IBL_Makefile b/boot_loader/IBL_Makefile
index d4211c8..3a498fd 100644
--- a/boot_loader/IBL_Makefile
+++ b/boot_loader/IBL_Makefile
@@ -57,6 +57,7 @@
57#* [SPI=no] /* Disables SPI */ 57#* [SPI=no] /* Disables SPI */
58#* [I2C=no] /* Disables I2C */ 58#* [I2C=no] /* Disables I2C */
59#* [EMIF=no] /* Disables EMIF */ 59#* [EMIF=no] /* Disables EMIF */
60#* [MULTI_BOOT=no] /* Disables Multi-boot feature */
60#* [SPI_MODE=<0,1,2,3>] /* Selects the SPI operating mode */ 61#* [SPI_MODE=<0,1,2,3>] /* Selects the SPI operating mode */
61#* [SPI_ADDR_WIDTH=<16,24>] /* Selects the SPI address width */ 62#* [SPI_ADDR_WIDTH=<16,24>] /* Selects the SPI address width */
62#* [SPI_NPIN=<4,5>] /* Selects the number of pins on the interface */ 63#* [SPI_NPIN=<4,5>] /* Selects the number of pins on the interface */
@@ -178,6 +179,10 @@ ifeq ($(EMIF),no)
178 179
179endif 180endif
180 181
182ifeq ($(MULTI_BOOT),no)
183 CEXCLUDES+= MULTI_BOOT
184endif
185
181# The endian of the build. The default target builds a single ROM image with both endians present 186# The endian of the build. The default target builds a single ROM image with both endians present
182ifeq ($(ENDIAN),big) 187ifeq ($(ENDIAN),big)
183 ENDIAN_MODE=big 188 ENDIAN_MODE=big
@@ -265,30 +270,30 @@ $(IBLS_C6X):
265# Configurations for individual evms 270# Configurations for individual evms
266# The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality 271# The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
267evm_c6455: 272evm_c6455:
268 make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES= c6455 273 make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='MULTI_BOOT' c6455
269 274
270# The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality 275# The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
271evm_c6472: 276evm_c6472:
272 make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES= c6472 277 make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='MULTI_BOOT' c6472
273 278
274# The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian. 279# The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
275evm_c6474: 280evm_c6474:
276 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' I2C_SIZE_BYTES=0x8000 c6474 281 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
277 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat 282 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat
278 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' I2C_SIZE_BYTES=0x8000 c6474 283 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
279 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat 284 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat
280 285
281evm_c6474l: 286evm_c6474l:
282 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' c6474 287 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6474
283 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat 288 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat
284 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' c6474 289 make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6474
285 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat 290 cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat
286 291
287# The 6457 EVM 292# The 6457 EVM
288evm_c6457: 293evm_c6457:
289 make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' c6457 294 make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6457
290 cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat 295 cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat
291 make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' c6457 296 make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6457
292 cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat 297 cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat
293 298
294# The 6608 EVM 299# The 6608 EVM
@@ -297,17 +302,14 @@ EVM_6608_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL
297evm_c6608: 302evm_c6608:
298 make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x 303 make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x
299 304
300# The 6678 EVM SPI/NOR Boot 305# The 667x EVM SPI/NOR Boot
301EVM_6678_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1 306EVM_667x_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1
302
303evm_c6678_spi:
304 make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x51 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x
305 307
306evm_c6678_i2c: 308evm_c667x_spi:
307 make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no INTERNAL_UTILS=no SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x 309 make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x51 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_667x_SPI_DEFS)' c661x
308 310
309evm_c6670_i2c: 311evm_c667x_i2c:
310 make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no INTERNAL_UTILS=no SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x 312 make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no INTERNAL_UTILS=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' c661x
311 313
312test_c661x: 314test_c661x:
313 make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NOR_SPI' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x 315 make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NOR_SPI' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
@@ -382,6 +384,8 @@ clean:
382 find ../ -name *.dc | xargs rm -f 384 find ../ -name *.dc | xargs rm -f
383 find ../ -name *.oa | xargs rm -f 385 find ../ -name *.oa | xargs rm -f
384 find ../ -name *.da | xargs rm -f 386 find ../ -name *.da | xargs rm -f
387 find ../ -name *.tmp | xargs rm -f
388 find ../ -name cdefdep | xargs rm -f
385 389
386 390
387 391
diff --git a/boot_loader/IBL_README.txt b/boot_loader/IBL_README.txt
index 9d9aa25..9c4b8e0 100644
--- a/boot_loader/IBL_README.txt
+++ b/boot_loader/IBL_README.txt
@@ -1,12 +1,9 @@
1C6x Bootloader 1C6x Bootloader
2 2
3Tools required to build IBL: 3Tools required to build IBL:
41. Cygwin 1.7.8-1 (http://www.cygwin.com/) 41. MinGW MSYS v1.0.11 (http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe)
52. TI Code Gen Tools 7.2.0 (bundled with CCSv5) 52. TI Code Gen Tools 7.2.0 (bundled with CCSv5)
6 6
7Notes:
81. For Cygwin installation, be sure to include Bison, Flex, gcc Compiler and make tools which are required to build IBL.
9
10 7
11Steps to build IBL: 8Steps to build IBL:
121. Refer to tools\boot_loader\ibl\doc\release_info.txt on how to build IBL for C66x 91. Refer to tools\boot_loader\ibl\doc\release_info.txt on how to build IBL for C66x
@@ -15,7 +12,7 @@ Steps to build IBL:
15Steps to program IBL: 12Steps to program IBL:
16 13
171. Program IBL ROM data to I2C EEPROM bus address 0x51: 141. Program IBL ROM data to I2C EEPROM bus address 0x51:
18 a. Copy tools\boot_loader\ibl\src\make\ibl_c661x\i2cRom.dat to tools\writer\eeprom\evmc66xxl\bin directory and rename 15 a. Copy tools\boot_loader\ibl\src\make\ibl_c661x\i2crom.dat to tools\writer\eeprom\evmc66xxl\bin directory and rename
19 it to "app.dat". 16 it to "app.dat".
20 17
21 b. Change bus_addr to "81" (0x51) in tools\writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt and save the file. 18 b. Change bus_addr to "81" (0x51) in tools\writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt and save the file.
@@ -24,8 +21,7 @@ Steps to program IBL:
24 21
25 22
262. Program boot configuration table to I2C EEPROM bus address 0x51: 232. Program boot configuration table to I2C EEPROM bus address 0x51:
27 a. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM (please refer to the EVM technical 24 a. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM
28 reference manual on how to set the boot mode dip switchs)
29 25
30 b. Load program tools\boot_loader\ibl\src\util\i2cConfig\i2cparam_c661x_le.out to CCS 26 b. Load program tools\boot_loader\ibl\src\util\i2cConfig\i2cparam_c661x_le.out to CCS
31 27
@@ -35,11 +31,22 @@ Steps to program IBL:
35 d. Load tools\boot_loader\ibl\src\util\i2cConfig\i2cConfig.gel (in CCSv5 Tools->GEL Files, right click mouse in GEL Files 31 d. Load tools\boot_loader\ibl\src\util\i2cConfig\i2cConfig.gel (in CCSv5 Tools->GEL Files, right click mouse in GEL Files
36 window and select "Load GEL" 32 window and select "Load GEL"
37 33
38 e. Run the GEL script EVMC66xx IBL->setConfig_c66xx_main, this will by default set the boot parameters for NOR boot over 34 e. Run the GEL script EVMC66xx IBL->setConfig_c66xx_main, wait for 10 seconds to ensure that the script configuration is completed.
39 I2C. Wait for 10 seconds to ensure that the script configuration is completed. 35
40 36
41 f. If the user wants to configure NAND boot or EMAC boot over I2C, he/she should run EVMC66xx IBL->setConfig_c66xx_main 37Supported boot modes:
42 followed by EVMC66xx IBL->setConfig_c66xx_nand or EVMC66xx IBL->setConfig_c66xx_emac. 38
39IBL supports three I2C boot modes: NOR boot, NAND boot and EMAC boot. Both NOR boot and NAND boot support maximum 2 images, EMAC
40boot supports only 1 image. For all the I2C boot modes, user needs to set the boot dip switches to I2C master, bus address 0x51.
43 41
44 g. Press "Enter" in the CCS console window, and the program will write the boot configuration table to the EEPROM 42NOR Boot:
43 Boot parameter index 0 and 1 selects to boot image 0 and 1 from the NOR flash, by default the boot configuration table sets the
44 NOR offset address to be 0 and image format to be ELF for image 0.
45
46NAND Boot:
47 Boot parameter index 2 and 3 selects to boot image 0 and 1 from the NAND flash, by default the boot configuration table sets the
48 NAND offset address to be 16384 (start of block 1) and image format to be BBLOB for image 0.
45 49
50EMAC Boot:
51 Boot parameter index 4 selects to boot an image from a remote TFTP server, by default the boot configuration table sets the
52 server IP to be 192.168.2.101, board IP to be 192.168.2.100 and image format to be ELF.
diff --git a/boot_loader/IBL_buildibl b/boot_loader/IBL_buildibl
new file mode 100644
index 0000000..7ed7ea5
--- /dev/null
+++ b/boot_loader/IBL_buildibl
@@ -0,0 +1,7 @@
1cd ibl/src/make
2
3source setupenvMsys.sh
4make evm_c667x_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
5
6cd ../../../
7
diff --git a/boot_loader/IBL_makestg2 b/boot_loader/IBL_makestg2
index 8f6d340..760329a 100644
--- a/boot_loader/IBL_makestg2
+++ b/boot_loader/IBL_makestg2
@@ -142,6 +142,7 @@ i2crom:
142 ../util/romparse/romparse $(COMPACT) -rom_base $(I2C_BUS_ADDR) ibl_$(TARGET)/$@.map.pp 142 ../util/romparse/romparse $(COMPACT) -rom_base $(I2C_BUS_ADDR) ibl_$(TARGET)/$@.map.pp
143 $(CP) i2crom.ccs ibl_$(TARGET)/$@.ccs 143 $(CP) i2crom.ccs ibl_$(TARGET)/$@.ccs
144 $(CP) i2crom.ccs ibl_$(TARGET)/$@.dat 144 $(CP) i2crom.ccs ibl_$(TARGET)/$@.dat
145 ../util/btoccs/ccs2bin -swap ibl_$(TARGET)/$@.ccs ibl_$(TARGET)/$@.bin
145 $(RM) i2crom.ccs ibl_le.b ibl.b 146 $(RM) i2crom.ccs ibl_le.b ibl.b
146 147
147spiRom: 148spiRom:
@@ -261,19 +262,18 @@ cleant:
261 rm -rf ibl_$(TARGET)/ibl_init.i2c.le.ccs 262 rm -rf ibl_$(TARGET)/ibl_init.i2c.le.ccs
262 rm -rf ibl_$(TARGET)/ibl_init.le.ccs 263 rm -rf ibl_$(TARGET)/ibl_init.le.ccs
263 rm -rf ibl_$(TARGET)/ibl_init.be.ccs 264 rm -rf ibl_$(TARGET)/ibl_init.be.ccs
264 rm -rf ibl_$(TARGET)/i2crom.ccs 265 rm -rf ibl_$(TARGET)/i2crom*.ccs
265 rm -rf ibl_$(TARGET)/i2crom.dat 266 rm -rf ibl_$(TARGET)/i2crom*.dat
266 rm -rf ibl_$(TARGET)/i2crom_0x50.dat 267 rm -rf ibl_$(TARGET)/i2crom*.bin
267 rm -rf ibl_$(TARGET)/i2crom_0x51.dat 268 rm -rf ibl_$(TARGET)/i2crom*.map.pp
268 rm -rf ibl_$(TARGET)/i2crom.map.pp
269 rm -rf ibl_$(TARGET)/ibl_init_objs.inc 269 rm -rf ibl_$(TARGET)/ibl_init_objs.inc
270 rm -rf ibl_$(TARGET)/ibl_init_objs.pp 270 rm -rf ibl_$(TARGET)/ibl_init_objs.pp
271 rm -rf ibl_$(TARGET)/ibl_init_symbols.inc 271 rm -rf ibl_$(TARGET)/ibl_init_symbols.inc
272 rm -rf ibl_$(TARGET)/ibl_objs.inc 272 rm -rf ibl_$(TARGET)/ibl_objs.inc
273 rm -rf ibl_$(TARGET)/ibl_objs.pp 273 rm -rf ibl_$(TARGET)/ibl_objs.pp
274 rm -rf ibl_$(TARGET)/ibl_objs.tmp 274 rm -rf ibl_$(TARGET)/ibl_objs.tmp
275 rm -rf ibl_$(TARGET)/spiRom.dat 275 rm -rf ibl_$(TARGET)/spiRom*.dat
276 rm -rf ibl_$(TARGET)/spiRom.map.pp 276 rm -rf ibl_$(TARGET)/spiRom*.map.pp
277 277
278 278
279 279
diff --git a/boot_loader/IBL_release_info.txt b/boot_loader/IBL_release_info.txt
index 475726a..678089a 100644
--- a/boot_loader/IBL_release_info.txt
+++ b/boot_loader/IBL_release_info.txt
@@ -1,7 +1,7 @@
1===================================================== 1=====================================================
2C6x Bootloader Release Note 2C6x Bootloader Release Note
3Version: 1.0.0.1 3Version: 1.0.0.4
4March 2011 4May 2011
5===================================================== 5=====================================================
6 6
71) Supported TARGETS: 71) Supported TARGETS:
@@ -9,20 +9,24 @@ March 2011
9 - C6472 9 - C6472
10 - C6474 10 - C6474
11 - C661x 11 - C661x
12
122) Supported ENDIAN 132) Supported ENDIAN
13 - big 14 - big
14 - little 15 - little
16
153) Required toolset 173) Required toolset
16 - TI CGEN compiler CGT_C6000_7.2.0 18 - TI CGEN compiler CGT_C6000_7.2.0
19
174) Build Instructions 204) Build Instructions
18 21
19 - Change directory to ibl\src\make 22 - Change directory to ibl\src\make
20 - Modify the setupenv.bat or setupenvLnx.sh script to match the tool environment 23 - Modify the environment setup script to match the tool chain installation
21 - Set the environment by running "setupenv.bat" or "source setupenvLnx.sh" 24 directory:
25 For building in MINGW-MSYS Bash shell modify setupenvMsys.sh
26 For building in Linux Bash shell modify setupenvLnx.sh
27 - Set the environment by running "setupenv.bat" or "source setupenvMsys.sh"
22 - For building run: 28 - For building run:
23 make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no 29 make evm_c667x_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
24 or:
25 make evm_c6670_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
26 or: 30 or:
27 make <TARGET> ENDIAN=[little|big] 31 make <TARGET> ENDIAN=[little|big]
28 make c6455 ENDIAN=liitle 32 make c6455 ENDIAN=liitle
diff --git a/boot_loader/IBL_setupenv.bat b/boot_loader/IBL_setupenv.bat
deleted file mode 100644
index 3c92a38..0000000
--- a/boot_loader/IBL_setupenv.bat
+++ /dev/null
@@ -1,31 +0,0 @@
1@REM ******************************************************************************
2@REM * FILE PURPOSE: Environment Setup for building Bootloader
3@REM ******************************************************************************
4@REM * FILE NAME: setupenv.bat
5@REM *
6@REM * DESCRIPTION:
7@REM * Configures and sets up the Build Environment for Bootloader in DOS environment.
8@REM *
9@REM * Customers are expected to modify this file as per their build environment.
10@REM *
11@REM * USAGE:
12@REM * setupenv.bat
13@REM *
14@REM * Copyright (C) 2010, Texas Instruments, Inc.
15@REM *****************************************************************************
16
17@echo off
18
19REM Setup the ibl build environment
20
21REM Modify following lines based on target environment for the toolset installed
22REM Dependency is related to path for Cygwin and CGEN installed
23
24REM PATH=C:\cygwin\bin;C:\PROGRA~1\TEXASI~1\ccsv5\tools\compiler\c6000\bin
25
26set PATH=E:\cygwin\bin;T:\c6xx\cgen_7_2_0\c6000\cgtools\bin
27set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
28set CYGWINPATH=E:/cygwin/bin
29set BISONSKEL=yacc.c
30set TOOLSC6X=t:/c6xx/cgen_7_2_0/c6000/cgtools
31set TOOLSC6XDOS=t:\c6xx\cgen_7_2_0\c6000\cgtools
diff --git a/boot_loader/IBL_setupenvMsys.sh b/boot_loader/IBL_setupenvMsys.sh
new file mode 100644
index 0000000..66855aa
--- /dev/null
+++ b/boot_loader/IBL_setupenvMsys.sh
@@ -0,0 +1,15 @@
1#!/bin/bash
2
3# Environment setup to be done if using MSYS Bash shell for build
4
5# Specify the base directory of the c6000 compiler with UNIX style path separator
6export C6X_BASE_DIR='"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000"'
7
8# Specify the base directory of the c6000 compiler in format understandable by the MSYS Bash shell
9export C6X_BASE_DIR_MSYS=/c/Program\ Files/Texas\ Instruments/ccsv5/tools/compiler/c6000
10
11# Don't modify the below variables. They are derived from the above definitions
12export PATH=$PATH:$C6X_BASE_DIR_MSYS/bin
13export TOOLSC6X=$C6X_BASE_DIR
14export TOOLSC6XDOS=$C6X_BASE_DIR
15
diff --git a/boot_loader/examples/i2c/emac/docs/README.txt b/boot_loader/examples/i2c/emac/docs/README.txt
index 5043281..99a59d2 100644
--- a/boot_loader/examples/i2c/emac/docs/README.txt
+++ b/boot_loader/examples/i2c/emac/docs/README.txt
@@ -4,46 +4,47 @@ A simple Hello World example demonstrating EMAC boot over I2C.
4 4
5Steps to build the example: 5Steps to build the example:
6 6
71. Import the i2cemacboot CCS project from tools\boot_loader\examples\i2c\emac\evmc6xxxl directory. (in CCSv5, 71. Import the i2cemacboot CCS project from tools\boot_loader\examples\i2c\emac\evmc66xxl directory. (in CCSv5,
8 Project->Import Existing CCS/CCE Eclipse Projects) 8 Project->Import Existing CCS/CCE Eclipse Projects)
9 9
102. Clean the i2cemacboot project and re-build the project, after build is completed, i2cemacboot_evm6xxxl.out and 102. Clean the i2cemacboot project and re-build the project, after build is completed, i2cemacboot_evm66xxl.out and
11 i2cemacboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin directory. 11 i2cemacboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\emac\evmc66xxl\bin directory.
12 12
13Steps to run i2cemacboot in CCSv5: 13Steps to run i2cemacboot in CCSv5:
14 14
151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical 151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
16 reference manual on how to set the boot mode dip switches.
17 16
182. Load the program tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin\i2cemacboot_evm6xxxl.out to CCS. 172. Load the program tools\boot_loader\examples\i2c\emac\evmc66xxl\bin\i2cemacboot_evm66xxl.out to CCS.
19 18
203. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. 193. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
21 20
224. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and 214. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
23 Flow control none. Be sure the COM port # is set correctly. 22 Flow control none. Be sure the COM port # is set correctly.
24 23
255. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal. 245. Run the program in CCS, i2cemacboot will send the hello world booting info to both the CCS console and the
26 25 Hyper Terminal.
27 26
28Steps to program i2cemacboot to EMAC: 27Steps to program i2cemacboot to EMAC:
29 28
301. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to 291. Be sure IBL and boot configuration table are programmed to I2C EEPROM bus address 81 (0x51), if IBL and/or
31 tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM. 30 boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program
32 31 the IBL and boot configuration table to EEPROM.
332. Be sure EMAC boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed,
34 refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM.
35 32
363. Copy tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin\i2cemacboot_evm6xxxl.out to tools\bin2ccs and rename 332. Copy tools\boot_loader\examples\i2c\emac\evmc66xxl\bin\i2cemacboot_evm66xxl.out to tools\bin2ccs and rename
37 the file to app.out. 34 the file to app.out.
38 35
394. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat. 363. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
40 37
415. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy 384. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy
42 app.dat to the TFTP base directory. 39 app.dat to the TFTP base directory.
43 40
446. 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 IP 415. 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
45 address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101. 42 IP address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101.
43
446. Set the boot dip switches to I2C master mode, bus address 81 (0x51) and boot parameter index to be 4.
46 45
477. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, the EVM will download the 467. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, IBL will download the
48 boot image from TFTP server and boot from it. 47 boot image from TFTP server and boot from it. By default IBL will boot an ELF format image, if user wants to boot
48 an image of other formats, he/she needs to change the boot configuration table accordingly, and re-program the table
49 to the EEPROM.
49 50
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.ccsproject b/boot_loader/examples/i2c/emac/evmc6670l/.ccsproject
new file mode 100644
index 0000000..79d3116
--- /dev/null
+++ b/boot_loader/examples/i2c/emac/evmc6670l/.ccsproject
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?ccsproject version="1.0"?>
3
4<projectOptions>
5<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
6<deviceEndianness value="little"/>
7<codegenToolVersion value="7.2.0"/>
8<isElfFormat value="true"/>
9<rts value="rts6600_elf.lib"/>
10</projectOptions>
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.cproject b/boot_loader/examples/i2c/emac/evmc6670l/.cproject
new file mode 100644
index 0000000..b056636
--- /dev/null
+++ b/boot_loader/examples/i2c/emac/evmc6670l/.cproject
@@ -0,0 +1,82 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?fileVersion 4.0.0?>
3
4<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
5 <storageModule moduleId="org.eclipse.cdt.core.settings">
6 <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
7 <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
8 <externalSettings/>
9 <extensions>
10 <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
11 <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12 <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
13 <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14 <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
15 </extensions>
16 </storageModule>
17 <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
18 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
19 <configuration artifactExtension="out" artifactName="../bin/i2cemacboot_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
20 <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
21 <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.2097842143" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311">
22 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
23 <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
24 <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
25 <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
26 <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
27 <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
28 <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
29 <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
30 <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
31 </option>
32 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1263633169" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.2.0" valueType="string"/>
33 <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.30003368" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
34 <builder buildPath="${workspace_loc:/i2cemacboot/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1571910857" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
35 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1787566966" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
36 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
37 <listOptionValue builtIn="false" value="225"/>
38 </option>
39 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.1353471041" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
40 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
41 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform&quot;"/>
42 </option>
43 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.1765753112" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
44 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.397546270" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
45 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1186530295" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
46 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.46202294" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
47 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.2124959934" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
48 </tool>
49 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
50 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.572435525" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value="&quot;../bin/i2cemacboot_evm6670l.out&quot;" valueType="string"/>
51 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value="&quot;../bin/i2cemacboot_evm6670l.map&quot;" valueType="string"/>
52 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.1992557769" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
53 <listOptionValue builtIn="false" value="&quot;rts6600_elf.lib&quot;"/>
54 <listOptionValue builtIn="false" value="&quot;ti.platform.evm6670l.ae66&quot;"/>
55 </option>
56 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
57 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>
58 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
59 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug&quot;"/>
60 </option>
61 </tool>
62 <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
63 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.496009253" name="Code generation tool directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
64 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1742151819" name="RTSC target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C66" valueType="string"/>
65 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1677251639" name="RTSC platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.evm6670" valueType="string"/>
66 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1512447741" name="Build profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
67 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.997241669" name="RTSC package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"/>
68 </tool>
69 </toolChain>
70 </folderInfo>
71 </configuration>
72 </storageModule>
73 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
74 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
75 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
76 <storageModule moduleId="scannerConfiguration"/>
77 </cconfiguration>
78 </storageModule>
79 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
80 <project id="i2cemacboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
81 </storageModule>
82</cproject>
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.project b/boot_loader/examples/i2c/emac/evmc6670l/.project
new file mode 100644
index 0000000..459c24e
--- /dev/null
+++ b/boot_loader/examples/i2c/emac/evmc6670l/.project
@@ -0,0 +1,96 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>i2cemacboot_evmc6670l</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10 <arguments>
11 <dictionary>
12 <key>?name?</key>
13 <value></value>
14 </dictionary>
15 <dictionary>
16 <key>org.eclipse.cdt.make.core.append_environment</key>
17 <value>true</value>
18 </dictionary>
19 <dictionary>
20 <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
21 <value>all</value>
22 </dictionary>
23 <dictionary>
24 <key>org.eclipse.cdt.make.core.buildArguments</key>
25 <value>-k</value>
26 </dictionary>
27 <dictionary>
28 <key>org.eclipse.cdt.make.core.buildCommand</key>
29 <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
30 </dictionary>
31 <dictionary>
32 <key>org.eclipse.cdt.make.core.buildLocation</key>
33 <value>${workspace_loc:/i2cemacboot/Debug}</value>
34 </dictionary>
35 <dictionary>
36 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
37 <value>clean</value>
38 </dictionary>
39 <dictionary>
40 <key>org.eclipse.cdt.make.core.contents</key>
41 <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
42 </dictionary>
43 <dictionary>
44 <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
45 <value>true</value>
46 </dictionary>
47 <dictionary>
48 <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
49 <value>true</value>
50 </dictionary>
51 <dictionary>
52 <key>org.eclipse.cdt.make.core.enableFullBuild</key>
53 <value>true</value>
54 </dictionary>
55 <dictionary>
56 <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
57 <value>all</value>
58 </dictionary>
59 <dictionary>
60 <key>org.eclipse.cdt.make.core.stopOnError</key>
61 <value>true</value>
62 </dictionary>
63 <dictionary>
64 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
65 <value>true</value>
66 </dictionary>
67 </arguments>
68 </buildCommand>
69 <buildCommand>
70 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
71 <triggers>full,incremental,</triggers>
72 <arguments>
73 </arguments>
74 </buildCommand>
75 </buildSpec>
76 <natures>
77 <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
78 <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
79 <nature>org.eclipse.cdt.core.cnature</nature>
80 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
81 <nature>org.eclipse.cdt.core.ccnature</nature>
82 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
83 </natures>
84 <linkedResources>
85 <link>
86 <name>README.txt</name>
87 <type>1</type>
88 <location>TI_MCSDK_I2CEXAMPLES_DIR/emac/docs/README.txt</location>
89 </link>
90 <link>
91 <name>src</name>
92 <type>2</type>
93 <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/emac/src</locationURI>
94 </link>
95 </linkedResources>
96</projectDescription>
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/i2c_boot_emac_example.cmd b/boot_loader/examples/i2c/emac/evmc6670l/i2c_boot_emac_example.cmd
new file mode 100644
index 0000000..cab1993
--- /dev/null
+++ b/boot_loader/examples/i2c/emac/evmc6670l/i2c_boot_emac_example.cmd
@@ -0,0 +1,77 @@
1/******************************************************************************
2 * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *****************************************************************************/
33/*
34 * Linker command file
35 *
36 */
37
38-c
39-heap 0x40000
40-stack 0x8000
41
42/* Memory Map 1 - the default */
43MEMORY
44{
45 L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
46 L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
47
48 L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
49 MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
50 DDR3 (RWX) : org = 0x80000000,len = 0x10000000
51}
52
53SECTIONS
54{
55 .csl_vect > L2SRAM
56 .cppi > L2SRAM
57 .linkram > L2SRAM
58 .mac_buffer > L2SRAM
59 platform_lib > L2SRAM
60 .text > L2SRAM
61 GROUP (NEAR_DP)
62 {
63 .neardata
64 .rodata
65 .bss
66 } load > L2SRAM
67 .stack > L2SRAM
68 .cinit > L2SRAM
69 .cio > L2SRAM
70 .const > L2SRAM
71 .data > L2SRAM
72 .switch > L2SRAM
73 .sysmem > L2SRAM
74 .far > L2SRAM
75 .testMem > L2SRAM
76 .fardata > L2SRAM
77}
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/macros.ini b/boot_loader/examples/i2c/emac/evmc6670l/macros.ini
new file mode 100644
index 0000000..f4e4f7b
--- /dev/null
+++ b/boot_loader/examples/i2c/emac/evmc6670l/macros.ini
@@ -0,0 +1 @@
TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/i2c/emac/evmc6678l/.cproject b/boot_loader/examples/i2c/emac/evmc6678l/.cproject
index b31f384..da96a73 100644
--- a/boot_loader/examples/i2c/emac/evmc6678l/.cproject
+++ b/boot_loader/examples/i2c/emac/evmc6678l/.cproject
@@ -75,6 +75,7 @@
75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> 75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> 76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> 77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
78 <storageModule moduleId="scannerConfiguration"/>
78 </cconfiguration> 79 </cconfiguration>
79 </storageModule> 80 </storageModule>
80 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> 81 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
diff --git a/boot_loader/examples/i2c/emac/evmc6678l/.project b/boot_loader/examples/i2c/emac/evmc6678l/.project
index f844a5e..e1f5627 100644
--- a/boot_loader/examples/i2c/emac/evmc6678l/.project
+++ b/boot_loader/examples/i2c/emac/evmc6678l/.project
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription> 2<projectDescription>
3 <name>i2cemacboot</name> 3 <name>i2cemacboot_evmc6678l</name>
4 <comment></comment> 4 <comment></comment>
5 <projects> 5 <projects>
6 </projects> 6 </projects>
diff --git a/boot_loader/examples/i2c/nand/docs/README.txt b/boot_loader/examples/i2c/nand/docs/README.txt
index 889e074..049095d 100644
--- a/boot_loader/examples/i2c/nand/docs/README.txt
+++ b/boot_loader/examples/i2c/nand/docs/README.txt
@@ -4,44 +4,51 @@ A simple Hello World example demonstrating NAND boot over I2C.
4 4
5Steps to build the example: 5Steps to build the example:
6 6
71. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc6xxxl directory. (in CCSv5, 71. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc66xxl directory. (in CCSv5,
8 Project->Import Existing CCS/CCE Eclipse Projects) 8 Project->Import Existing CCS/CCE Eclipse Projects)
9 9
102. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evm6xxxl.out and 102. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evm66xxl.out and
11 i2cnandboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin directory. 11 i2cnandboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc66xxl\bin directory.
12 12
13Steps to run i2cnandboot in CCSv5: 13Steps to run i2cnandboot in CCSv5:
14 14
151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical 151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
16 reference manual on how to set the boot mode dip switches.
17 16
182. Load the program tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin\i2cnandboot_evm6xxxl.out to CCS. 172. Load the program tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to CCS.
19 18
203. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. 193. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
21 20
224. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and 214. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
23 Flow control none. Be sure the COM port # is set correctly. 22 Flow control none. Be sure the COM port # is set correctly.
24 23
255. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal. 245. Run the program in CCS, i2cnandboot will send the hello world booting info to both the CCS console and the
26 25 Hyper Terminal.
27 26
28Steps to program i2cnandboot to NAND: 27Steps to program i2cnandboot to NAND:
29 28
301. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to 291. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to
31 tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM. 30 tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM.
32 31
332. Be sure NAND boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed, 322. By default, IBL will boot a BBLOB image (Linux kernel) from NAND, to run this example, we need to change the
34 refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM. 33 NAND boot image format to ELF:
35 34 a. In setConfig_c66xx_main() of tools\boot_loader\ibl\src\util\i2cConfig\i2cConfig.gel,
363. Copy tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin\i2cnandboot_evm6xxxl.out to tools\bin2ccs and rename 35 replace
36 ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB;
37 with
38 ibl.bootModes[1].u.nandBoot.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.
41
423. Copy tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to tools\bin2ccs and rename
37 the file to app.out. 43 the file to app.out.
38 44
394. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat. 454. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
40 46
415. Copy app.dat to tools\writer\nand\evmc6xxxl\bin and refer to tools\writer\nand\docs\README.txt on how to program 475. Copy app.dat to tools\writer\nand\evmc66xxl\bin and refer to tools\writer\nand\docs\README.txt on how to program
42 the app.dat to NAND flash. 48 the app.dat to NAND flash.
43 49
447. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x51 506. Once the programming is completed successfully, set the boot dip switches to I2C master mode,
45 (please refer to the EVM technical reference manual on how to set the boot mode dip switches) and 51 bus address 81 (0x51) and boot parameter index to be 2.
46 boot the Hello World image from the NAND flash after POR. 52
537. After POR, IBL will boot the hello world image from NAND.
47 54
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.ccsproject b/boot_loader/examples/i2c/nand/evmc6670l/.ccsproject
new file mode 100644
index 0000000..79d3116
--- /dev/null
+++ b/boot_loader/examples/i2c/nand/evmc6670l/.ccsproject
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?ccsproject version="1.0"?>
3
4<projectOptions>
5<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
6<deviceEndianness value="little"/>
7<codegenToolVersion value="7.2.0"/>
8<isElfFormat value="true"/>
9<rts value="rts6600_elf.lib"/>
10</projectOptions>
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.cproject b/boot_loader/examples/i2c/nand/evmc6670l/.cproject
new file mode 100644
index 0000000..da2ec0b
--- /dev/null
+++ b/boot_loader/examples/i2c/nand/evmc6670l/.cproject
@@ -0,0 +1,82 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?fileVersion 4.0.0?>
3
4<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
5 <storageModule moduleId="org.eclipse.cdt.core.settings">
6 <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
7 <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
8 <externalSettings/>
9 <extensions>
10 <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
11 <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12 <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
13 <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14 <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
15 </extensions>
16 </storageModule>
17 <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
18 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
19 <configuration artifactExtension="out" artifactName="../bin/i2cnandboot_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
20 <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
21 <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.2097842143" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311">
22 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
23 <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
24 <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
25 <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
26 <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
27 <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
28 <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
29 <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
30 <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
31 </option>
32 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1263633169" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.2.0" valueType="string"/>
33 <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.30003368" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
34 <builder buildPath="${workspace_loc:/i2cnandboot/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1571910857" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
35 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1787566966" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
36 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
37 <listOptionValue builtIn="false" value="225"/>
38 </option>
39 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.1353471041" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
40 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
41 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform&quot;"/>
42 </option>
43 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.1765753112" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
44 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.397546270" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
45 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1186530295" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
46 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.46202294" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
47 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.2124959934" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
48 </tool>
49 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
50 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.572435525" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value="&quot;../bin/i2cnandboot_evm6670l.out&quot;" valueType="string"/>
51 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value="&quot;../bin/i2cnandboot_evm6670l.map&quot;" valueType="string"/>
52 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.1992557769" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
53 <listOptionValue builtIn="false" value="&quot;rts6600_elf.lib&quot;"/>
54 <listOptionValue builtIn="false" value="&quot;ti.platform.evm6670l.ae66&quot;"/>
55 </option>
56 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
57 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>
58 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
59 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug&quot;"/>
60 </option>
61 </tool>
62 <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
63 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.496009253" name="Code generation tool directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
64 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1742151819" name="RTSC target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C66" valueType="string"/>
65 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1677251639" name="RTSC platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.evm6670" valueType="string"/>
66 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1512447741" name="Build profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
67 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.997241669" name="RTSC package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"/>
68 </tool>
69 </toolChain>
70 </folderInfo>
71 </configuration>
72 </storageModule>
73 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
74 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
75 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
76 <storageModule moduleId="scannerConfiguration"/>
77 </cconfiguration>
78 </storageModule>
79 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
80 <project id="i2cnandboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
81 </storageModule>
82</cproject>
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.project b/boot_loader/examples/i2c/nand/evmc6670l/.project
new file mode 100644
index 0000000..d7af0c2
--- /dev/null
+++ b/boot_loader/examples/i2c/nand/evmc6670l/.project
@@ -0,0 +1,96 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>i2cnandboot_evmc6670l</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10 <arguments>
11 <dictionary>
12 <key>?name?</key>
13 <value></value>
14 </dictionary>
15 <dictionary>
16 <key>org.eclipse.cdt.make.core.append_environment</key>
17 <value>true</value>
18 </dictionary>
19 <dictionary>
20 <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
21 <value>all</value>
22 </dictionary>
23 <dictionary>
24 <key>org.eclipse.cdt.make.core.buildArguments</key>
25 <value>-k</value>
26 </dictionary>
27 <dictionary>
28 <key>org.eclipse.cdt.make.core.buildCommand</key>
29 <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
30 </dictionary>
31 <dictionary>
32 <key>org.eclipse.cdt.make.core.buildLocation</key>
33 <value>${workspace_loc:/i2cnandboot/Debug}</value>
34 </dictionary>
35 <dictionary>
36 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
37 <value>clean</value>
38 </dictionary>
39 <dictionary>
40 <key>org.eclipse.cdt.make.core.contents</key>
41 <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
42 </dictionary>
43 <dictionary>
44 <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
45 <value>true</value>
46 </dictionary>
47 <dictionary>
48 <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
49 <value>true</value>
50 </dictionary>
51 <dictionary>
52 <key>org.eclipse.cdt.make.core.enableFullBuild</key>
53 <value>true</value>
54 </dictionary>
55 <dictionary>
56 <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
57 <value>all</value>
58 </dictionary>
59 <dictionary>
60 <key>org.eclipse.cdt.make.core.stopOnError</key>
61 <value>true</value>
62 </dictionary>
63 <dictionary>
64 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
65 <value>true</value>
66 </dictionary>
67 </arguments>
68 </buildCommand>
69 <buildCommand>
70 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
71 <triggers>full,incremental,</triggers>
72 <arguments>
73 </arguments>
74 </buildCommand>
75 </buildSpec>
76 <natures>
77 <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
78 <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
79 <nature>org.eclipse.cdt.core.cnature</nature>
80 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
81 <nature>org.eclipse.cdt.core.ccnature</nature>
82 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
83 </natures>
84 <linkedResources>
85 <link>
86 <name>README.txt</name>
87 <type>1</type>
88 <location>TI_MCSDK_I2CEXAMPLES_DIR/nand/docs/README.txt</location>
89 </link>
90 <link>
91 <name>src</name>
92 <type>2</type>
93 <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/src</locationURI>
94 </link>
95 </linkedResources>
96</projectDescription>
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/i2c_boot_nand_example.cmd b/boot_loader/examples/i2c/nand/evmc6670l/i2c_boot_nand_example.cmd
new file mode 100644
index 0000000..cab1993
--- /dev/null
+++ b/boot_loader/examples/i2c/nand/evmc6670l/i2c_boot_nand_example.cmd
@@ -0,0 +1,77 @@
1/******************************************************************************
2 * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *****************************************************************************/
33/*
34 * Linker command file
35 *
36 */
37
38-c
39-heap 0x40000
40-stack 0x8000
41
42/* Memory Map 1 - the default */
43MEMORY
44{
45 L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
46 L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
47
48 L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
49 MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
50 DDR3 (RWX) : org = 0x80000000,len = 0x10000000
51}
52
53SECTIONS
54{
55 .csl_vect > L2SRAM
56 .cppi > L2SRAM
57 .linkram > L2SRAM
58 .mac_buffer > L2SRAM
59 platform_lib > L2SRAM
60 .text > L2SRAM
61 GROUP (NEAR_DP)
62 {
63 .neardata
64 .rodata
65 .bss
66 } load > L2SRAM
67 .stack > L2SRAM
68 .cinit > L2SRAM
69 .cio > L2SRAM
70 .const > L2SRAM
71 .data > L2SRAM
72 .switch > L2SRAM
73 .sysmem > L2SRAM
74 .far > L2SRAM
75 .testMem > L2SRAM
76 .fardata > L2SRAM
77}
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/macros.ini b/boot_loader/examples/i2c/nand/evmc6670l/macros.ini
new file mode 100644
index 0000000..f4e4f7b
--- /dev/null
+++ b/boot_loader/examples/i2c/nand/evmc6670l/macros.ini
@@ -0,0 +1 @@
TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/i2c/nand/evmc6678l/.cproject b/boot_loader/examples/i2c/nand/evmc6678l/.cproject
index d67cafb..7f10c5b 100644
--- a/boot_loader/examples/i2c/nand/evmc6678l/.cproject
+++ b/boot_loader/examples/i2c/nand/evmc6678l/.cproject
@@ -75,6 +75,7 @@
75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> 75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> 76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> 77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
78 <storageModule moduleId="scannerConfiguration"/>
78 </cconfiguration> 79 </cconfiguration>
79 </storageModule> 80 </storageModule>
80 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> 81 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
diff --git a/boot_loader/examples/i2c/nand/evmc6678l/.project b/boot_loader/examples/i2c/nand/evmc6678l/.project
index 50fbc4c..61e23d0 100644
--- a/boot_loader/examples/i2c/nand/evmc6678l/.project
+++ b/boot_loader/examples/i2c/nand/evmc6678l/.project
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription> 2<projectDescription>
3 <name>i2cnandboot</name> 3 <name>i2cnandboot_evmc6678l</name>
4 <comment></comment> 4 <comment></comment>
5 <projects> 5 <projects>
6 </projects> 6 </projects>
diff --git a/boot_loader/examples/i2c/nor/docs/README.txt b/boot_loader/examples/i2c/nor/docs/README.txt
index 0d685b6..1718136 100644
--- a/boot_loader/examples/i2c/nor/docs/README.txt
+++ b/boot_loader/examples/i2c/nor/docs/README.txt
@@ -4,44 +4,42 @@ A simple Hello World example demonstrating NOR boot over I2C.
4 4
5Steps to build the example: 5Steps to build the example:
6 6
71. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc6xxxl directory. (in CCSv5, 71. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc66xxl directory. (in CCSv5,
8 Project->Import Existing CCS/CCE Eclipse Projects) 8 Project->Import Existing CCS/CCE Eclipse Projects)
9 9
102. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evm6xxxl.out and 102. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evm66xxl.out and
11 i2cnorboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin directory. 11 i2cnorboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc66xxl\bin directory.
12 12
13Steps to run i2cnorboot in CCSv5: 13Steps to run i2cnorboot in CCSv5:
14 14
151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical 151. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
16 reference manual on how to set the boot mode dip switches.
17 16
182. Load the program tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin\i2cnorboot_evm6xxxl.out to CCS. 172. Load the program tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to CCS.
19 18
203. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. 193. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
21 20
224. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and 214. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
23 Flow control none. Be sure the COM port # is set correctly. 22 Flow control none. Be sure the COM port # is set correctly.
24 23
255. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal. 245. Run the program in CCS, i2cnorboot will send the hello world booting info to both the CCS console and the
25 Hyper Terminal.
26 26
27 27
28Steps to program i2cnorboot to NOR: 28Steps to program i2cnorboot to NOR:
29 29
301. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to 301. Be sure IBL and boot configuration table are programmed to I2C EEPROM bus address 81 (0x51), if IBL and/or
31 tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM. 31 boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program
32 the IBL and boot configuration table to EEPROM.
32 33
332. Be sure NOR boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed, 342. Copy tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to tools\bin2ccs and rename
34 refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM.
35
363. Copy tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin\i2cnorboot_evm6xxxl.out to tools\bin2ccs and rename
37 the file to app.out. 35 the file to app.out.
38 36
394. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat. 373. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
40 38
415. Copy app.dat to tools\writer\nor\evmc6xxxl\bin and refer to tools\writer\nor\docs\README.txt on how to program 394. Copy app.dat to tools\writer\nor\evmc66xxl\bin and refer to tools\writer\nor\docs\README.txt on how to program
42 the app.dat to NOR flash. 40 the app.dat to NOR flash.
43 41
447. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x51 425. Once the programming is completed successfully, set the boot dip switches to I2C master mode,
45 (please refer to the EVM technical reference manual on how to set the boot mode dip switches) and 43 bus address 81 (0x51) and boot parameter index to be 0.
46 boot the Hello World image from the NOR flash after POR.
47 44
456. After POR, IBL will boot the hello world image from NOR.
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/.ccsproject b/boot_loader/examples/i2c/nor/evmc6670l/.ccsproject
new file mode 100644
index 0000000..79d3116
--- /dev/null
+++ b/boot_loader/examples/i2c/nor/evmc6670l/.ccsproject
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?ccsproject version="1.0"?>
3
4<projectOptions>
5<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
6<deviceEndianness value="little"/>
7<codegenToolVersion value="7.2.0"/>
8<isElfFormat value="true"/>
9<rts value="rts6600_elf.lib"/>
10</projectOptions>
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/.cproject b/boot_loader/examples/i2c/nor/evmc6670l/.cproject
new file mode 100644
index 0000000..0a5aee8
--- /dev/null
+++ b/boot_loader/examples/i2c/nor/evmc6670l/.cproject
@@ -0,0 +1,82 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?fileVersion 4.0.0?>
3
4<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
5 <storageModule moduleId="org.eclipse.cdt.core.settings">
6 <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
7 <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
8 <externalSettings/>
9 <extensions>
10 <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
11 <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12 <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
13 <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14 <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
15 </extensions>
16 </storageModule>
17 <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
18 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
19 <configuration artifactExtension="out" artifactName="../bin/i2cnorboot_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
20 <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
21 <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.2097842143" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311">
22 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
23 <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
24 <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
25 <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
26 <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
27 <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
28 <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
29 <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
30 <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
31 </option>
32 <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1263633169" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.2.0" valueType="string"/>
33 <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.30003368" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
34 <builder buildPath="${workspace_loc:/i2cnorboot/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1571910857" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
35 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1787566966" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
36 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
37 <listOptionValue builtIn="false" value="225"/>
38 </option>
39 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.1353471041" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
40 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
41 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform&quot;"/>
42 </option>
43 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.1765753112" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
44 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.397546270" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
45 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1186530295" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
46 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.46202294" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
47 <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.2124959934" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
48 </tool>
49 <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.854128311" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
50 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.572435525" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value="&quot;../bin/i2cnorboot_evm6670l.out&quot;" valueType="string"/>
51 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value="&quot;../bin/i2cnorboot_evm6670l.map&quot;" valueType="string"/>
52 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.1992557769" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
53 <listOptionValue builtIn="false" value="&quot;rts6600_elf.lib&quot;"/>
54 <listOptionValue builtIn="false" value="&quot;ti.platform.evm6670l.ae66&quot;"/>
55 </option>
56 <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
57 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>
58 <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
59 <listOptionValue builtIn="false" value="&quot;${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug&quot;"/>
60 </option>
61 </tool>
62 <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
63 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.496009253" name="Code generation tool directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
64 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1742151819" name="RTSC target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C66" valueType="string"/>
65 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1677251639" name="RTSC platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.evm6670" valueType="string"/>
66 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1512447741" name="Build profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
67 <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.997241669" name="RTSC package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"/>
68 </tool>
69 </toolChain>
70 </folderInfo>
71 </configuration>
72 </storageModule>
73 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
74 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
75 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
76 <storageModule moduleId="scannerConfiguration"/>
77 </cconfiguration>
78 </storageModule>
79 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
80 <project id="i2cnorboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
81 </storageModule>
82</cproject>
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/.project b/boot_loader/examples/i2c/nor/evmc6670l/.project
new file mode 100644
index 0000000..0b1d76f
--- /dev/null
+++ b/boot_loader/examples/i2c/nor/evmc6670l/.project
@@ -0,0 +1,96 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>i2cnorboot_evmc6670l</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10 <arguments>
11 <dictionary>
12 <key>?name?</key>
13 <value></value>
14 </dictionary>
15 <dictionary>
16 <key>org.eclipse.cdt.make.core.append_environment</key>
17 <value>true</value>
18 </dictionary>
19 <dictionary>
20 <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
21 <value>all</value>
22 </dictionary>
23 <dictionary>
24 <key>org.eclipse.cdt.make.core.buildArguments</key>
25 <value>-k</value>
26 </dictionary>
27 <dictionary>
28 <key>org.eclipse.cdt.make.core.buildCommand</key>
29 <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
30 </dictionary>
31 <dictionary>
32 <key>org.eclipse.cdt.make.core.buildLocation</key>
33 <value>${workspace_loc:/i2cnorboot/Debug}</value>
34 </dictionary>
35 <dictionary>
36 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
37 <value>clean</value>
38 </dictionary>
39 <dictionary>
40 <key>org.eclipse.cdt.make.core.contents</key>
41 <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
42 </dictionary>
43 <dictionary>
44 <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
45 <value>true</value>
46 </dictionary>
47 <dictionary>
48 <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
49 <value>true</value>
50 </dictionary>
51 <dictionary>
52 <key>org.eclipse.cdt.make.core.enableFullBuild</key>
53 <value>true</value>
54 </dictionary>
55 <dictionary>
56 <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
57 <value>all</value>
58 </dictionary>
59 <dictionary>
60 <key>org.eclipse.cdt.make.core.stopOnError</key>
61 <value>true</value>
62 </dictionary>
63 <dictionary>
64 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
65 <value>true</value>
66 </dictionary>
67 </arguments>
68 </buildCommand>
69 <buildCommand>
70 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
71 <triggers>full,incremental,</triggers>
72 <arguments>
73 </arguments>
74 </buildCommand>
75 </buildSpec>
76 <natures>
77 <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
78 <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
79 <nature>org.eclipse.cdt.core.cnature</nature>
80 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
81 <nature>org.eclipse.cdt.core.ccnature</nature>
82 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
83 </natures>
84 <linkedResources>
85 <link>
86 <name>README.txt</name>
87 <type>1</type>
88 <location>TI_MCSDK_I2CEXAMPLES_DIR/nor/docs/README.txt</location>
89 </link>
90 <link>
91 <name>src</name>
92 <type>2</type>
93 <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/src</locationURI>
94 </link>
95 </linkedResources>
96</projectDescription>
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/i2c_boot_nor_example.cmd b/boot_loader/examples/i2c/nor/evmc6670l/i2c_boot_nor_example.cmd
new file mode 100644
index 0000000..cab1993
--- /dev/null
+++ b/boot_loader/examples/i2c/nor/evmc6670l/i2c_boot_nor_example.cmd
@@ -0,0 +1,77 @@
1/******************************************************************************
2 * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *****************************************************************************/
33/*
34 * Linker command file
35 *
36 */
37
38-c
39-heap 0x40000
40-stack 0x8000
41
42/* Memory Map 1 - the default */
43MEMORY
44{
45 L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
46 L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
47
48 L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
49 MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
50 DDR3 (RWX) : org = 0x80000000,len = 0x10000000
51}
52
53SECTIONS
54{
55 .csl_vect > L2SRAM
56 .cppi > L2SRAM
57 .linkram > L2SRAM
58 .mac_buffer > L2SRAM
59 platform_lib > L2SRAM
60 .text > L2SRAM
61 GROUP (NEAR_DP)
62 {
63 .neardata
64 .rodata
65 .bss
66 } load > L2SRAM
67 .stack > L2SRAM
68 .cinit > L2SRAM
69 .cio > L2SRAM
70 .const > L2SRAM
71 .data > L2SRAM
72 .switch > L2SRAM
73 .sysmem > L2SRAM
74 .far > L2SRAM
75 .testMem > L2SRAM
76 .fardata > L2SRAM
77}
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/macros.ini b/boot_loader/examples/i2c/nor/evmc6670l/macros.ini
new file mode 100644
index 0000000..f4e4f7b
--- /dev/null
+++ b/boot_loader/examples/i2c/nor/evmc6670l/macros.ini
@@ -0,0 +1 @@
TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/i2c/nor/evmc6678l/.cproject b/boot_loader/examples/i2c/nor/evmc6678l/.cproject
index 7c5cd2d..9d9e256 100644
--- a/boot_loader/examples/i2c/nor/evmc6678l/.cproject
+++ b/boot_loader/examples/i2c/nor/evmc6678l/.cproject
@@ -75,6 +75,7 @@
75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> 75 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> 76 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> 77 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
78 <storageModule moduleId="scannerConfiguration"/>
78 </cconfiguration> 79 </cconfiguration>
79 </storageModule> 80 </storageModule>
80 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> 81 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
diff --git a/boot_loader/examples/i2c/nor/evmc6678l/.project b/boot_loader/examples/i2c/nor/evmc6678l/.project
index 4933746..e1b9f97 100644
--- a/boot_loader/examples/i2c/nor/evmc6678l/.project
+++ b/boot_loader/examples/i2c/nor/evmc6678l/.project
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription> 2<projectDescription>
3 <name>i2cnorboot</name> 3 <name>i2cnorboot_evmc6678l</name>
4 <comment></comment> 4 <comment></comment>
5 <projects> 5 <projects>
6 </projects> 6 </projects>
diff --git a/boot_loader/tools_install.bat b/boot_loader/tools_install.bat
index 5390754..0fbf0d4 100644
--- a/boot_loader/tools_install.bat
+++ b/boot_loader/tools_install.bat
@@ -1,6 +1,6 @@
1mv -f IBL_release_info.txt ibl\doc\release_info.txt 1mv -f IBL_release_info.txt ibl\doc\release_info.txt
2mv -f IBL_README.txt ibl\doc\README.txt 2mv -f IBL_README.txt ibl\doc\README.txt
3mv -f IBL_setupenv.bat ibl\src\make\setupenv.bat 3mv -f IBL_setupenvMsys.sh ibl\src\make\setupenvMsys.sh
4mv -f IBL_Makefile ibl\src\make\Makefile 4mv -f IBL_Makefile ibl\src\make\Makefile
5mv -f IBL_makestg1 ibl\src\make\makestg1 5mv -f IBL_makestg1 ibl\src\make\makestg1
6mv -f IBL_makestg2 ibl\src\make\makestg2 6mv -f IBL_makestg2 ibl\src\make\makestg2