summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ac56ca1)
raw | patch | inline | side by side (parent: ac56ca1)
author | Hao Zhang <hzhang@ti.com> | |
Sun, 1 May 2011 20:52:39 +0000 (16:52 -0400) | ||
committer | Hao Zhang <hzhang@ti.com> | |
Sun, 1 May 2011 20:52:39 +0000 (16:52 -0400) |
50 files changed:
index d4211c85d407866c6d08746350199ea6bf1cf40c..3a498fdc3c0660700d7a1b7b9f0f2708ee4f8db8 100644 (file)
--- a/boot_loader/IBL_Makefile
+++ b/boot_loader/IBL_Makefile
#* [SPI=no] /* Disables SPI */
#* [I2C=no] /* Disables I2C */
#* [EMIF=no] /* Disables EMIF */
+#* [MULTI_BOOT=no] /* Disables Multi-boot feature */
#* [SPI_MODE=<0,1,2,3>] /* Selects the SPI operating mode */
#* [SPI_ADDR_WIDTH=<16,24>] /* Selects the SPI address width */
#* [SPI_NPIN=<4,5>] /* Selects the number of pins on the interface */
endif
+ifeq ($(MULTI_BOOT),no)
+ CEXCLUDES+= MULTI_BOOT
+endif
+
# The endian of the build. The default target builds a single ROM image with both endians present
ifeq ($(ENDIAN),big)
ENDIAN_MODE=big
# Configurations for individual evms
# The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
evm_c6455:
- 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
+ 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
# The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
evm_c6472:
- 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
+ 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
# The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
evm_c6474:
- 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
+ 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
cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat
- 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
+ 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
cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat
evm_c6474l:
- 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
+ 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
cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat
- 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
+ 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
cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat
# The 6457 EVM
evm_c6457:
- 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
+ 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
cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat
- 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
+ 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
cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat
# 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
evm_c6608:
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
-# The 6678 EVM SPI/NOR Boot
-EVM_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
-
-evm_c6678_spi:
- 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
+# The 667x EVM SPI/NOR Boot
+EVM_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
-evm_c6678_i2c:
- 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
+evm_c667x_spi:
+ 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
-evm_c6670_i2c:
- 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
+evm_c667x_i2c:
+ 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
test_c661x:
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
find ../ -name *.dc | xargs rm -f
find ../ -name *.oa | xargs rm -f
find ../ -name *.da | xargs rm -f
+ find ../ -name *.tmp | xargs rm -f
+ find ../ -name cdefdep | xargs rm -f
index 9d9aa2547629f54b1be5c7114a082e8c1e5fd8c6..9c4b8e0a633fdd3aba8019847873aa226fe2127e 100644 (file)
C6x Bootloader
Tools required to build IBL:
-1. Cygwin 1.7.8-1 (http://www.cygwin.com/)
+1. MinGW MSYS v1.0.11 (http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe)
2. TI Code Gen Tools 7.2.0 (bundled with CCSv5)
-Notes:
-1. For Cygwin installation, be sure to include Bison, Flex, gcc Compiler and make tools which are required to build IBL.
-
Steps to build IBL:
1. Refer to tools\boot_loader\ibl\doc\release_info.txt on how to build IBL for C66x
Steps to program IBL:
1. Program IBL ROM data to I2C EEPROM bus address 0x51:
- a. Copy tools\boot_loader\ibl\src\make\ibl_c661x\i2cRom.dat to tools\writer\eeprom\evmc66xxl\bin directory and rename
+ a. Copy tools\boot_loader\ibl\src\make\ibl_c661x\i2crom.dat to tools\writer\eeprom\evmc66xxl\bin directory and rename
it to "app.dat".
b. Change bus_addr to "81" (0x51) in tools\writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt and save the file.
2. Program boot configuration table to I2C EEPROM bus address 0x51:
- 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
- reference manual on how to set the boot mode dip switchs)
+ a. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM
b. Load program tools\boot_loader\ibl\src\util\i2cConfig\i2cparam_c661x_le.out to CCS
d. Load tools\boot_loader\ibl\src\util\i2cConfig\i2cConfig.gel (in CCSv5 Tools->GEL Files, right click mouse in GEL Files
window and select "Load GEL"
- e. Run the GEL script EVMC66xx IBL->setConfig_c66xx_main, this will by default set the boot parameters for NOR boot over
- I2C. Wait for 10 seconds to ensure that the script configuration is completed.
-
- f. If the user wants to configure NAND boot or EMAC boot over I2C, he/she should run EVMC66xx IBL->setConfig_c66xx_main
- followed by EVMC66xx IBL->setConfig_c66xx_nand or EVMC66xx IBL->setConfig_c66xx_emac.
+ e. Run the GEL script EVMC66xx IBL->setConfig_c66xx_main, wait for 10 seconds to ensure that the script configuration is completed.
+
+
+Supported boot modes:
+
+IBL supports three I2C boot modes: NOR boot, NAND boot and EMAC boot. Both NOR boot and NAND boot support maximum 2 images, EMAC
+boot supports only 1 image. For all the I2C boot modes, user needs to set the boot dip switches to I2C master, bus address 0x51.
- g. Press "Enter" in the CCS console window, and the program will write the boot configuration table to the EEPROM
+NOR Boot:
+ 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
+ NOR offset address to be 0 and image format to be ELF for image 0.
+
+NAND Boot:
+ 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
+ NAND offset address to be 16384 (start of block 1) and image format to be BBLOB for image 0.
+EMAC Boot:
+ Boot parameter index 4 selects to boot an image from a remote TFTP server, by default the boot configuration table sets the
+ 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
--- /dev/null
+++ b/boot_loader/IBL_buildibl
@@ -0,0 +1,7 @@
+cd ibl/src/make
+
+source setupenvMsys.sh
+make evm_c667x_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
+
+cd ../../../
+
index 8f6d340dfc5831871a180d4435ab407f0bfb5728..760329ade53ce185497dbfd50338c060f5bbc1eb 100644 (file)
--- a/boot_loader/IBL_makestg2
+++ b/boot_loader/IBL_makestg2
../util/romparse/romparse $(COMPACT) -rom_base $(I2C_BUS_ADDR) ibl_$(TARGET)/$@.map.pp
$(CP) i2crom.ccs ibl_$(TARGET)/$@.ccs
$(CP) i2crom.ccs ibl_$(TARGET)/$@.dat
+ ../util/btoccs/ccs2bin -swap ibl_$(TARGET)/$@.ccs ibl_$(TARGET)/$@.bin
$(RM) i2crom.ccs ibl_le.b ibl.b
spiRom:
rm -rf ibl_$(TARGET)/ibl_init.i2c.le.ccs
rm -rf ibl_$(TARGET)/ibl_init.le.ccs
rm -rf ibl_$(TARGET)/ibl_init.be.ccs
- rm -rf ibl_$(TARGET)/i2crom.ccs
- rm -rf ibl_$(TARGET)/i2crom.dat
- rm -rf ibl_$(TARGET)/i2crom_0x50.dat
- rm -rf ibl_$(TARGET)/i2crom_0x51.dat
- rm -rf ibl_$(TARGET)/i2crom.map.pp
+ rm -rf ibl_$(TARGET)/i2crom*.ccs
+ rm -rf ibl_$(TARGET)/i2crom*.dat
+ rm -rf ibl_$(TARGET)/i2crom*.bin
+ rm -rf ibl_$(TARGET)/i2crom*.map.pp
rm -rf ibl_$(TARGET)/ibl_init_objs.inc
rm -rf ibl_$(TARGET)/ibl_init_objs.pp
rm -rf ibl_$(TARGET)/ibl_init_symbols.inc
rm -rf ibl_$(TARGET)/ibl_objs.inc
rm -rf ibl_$(TARGET)/ibl_objs.pp
rm -rf ibl_$(TARGET)/ibl_objs.tmp
- rm -rf ibl_$(TARGET)/spiRom.dat
- rm -rf ibl_$(TARGET)/spiRom.map.pp
+ rm -rf ibl_$(TARGET)/spiRom*.dat
+ rm -rf ibl_$(TARGET)/spiRom*.map.pp
index 475726ae9b5fe9fabf96dd9030d7407959ebe3c2..678089a3a5139fd9868d8d1f7589346329f3bbc3 100644 (file)
=====================================================
C6x Bootloader Release Note
-Version: 1.0.0.1
-March 2011
+Version: 1.0.0.4
+May 2011
=====================================================
1) Supported TARGETS:
- C6472
- C6474
- C661x
+
2) Supported ENDIAN
- big
- little
+
3) Required toolset
- TI CGEN compiler CGT_C6000_7.2.0
+
4) Build Instructions
- Change directory to ibl\src\make
- - Modify the setupenv.bat or setupenvLnx.sh script to match the tool environment
- - Set the environment by running "setupenv.bat" or "source setupenvLnx.sh"
+ - Modify the environment setup script to match the tool chain installation
+ directory:
+ For building in MINGW-MSYS Bash shell modify setupenvMsys.sh
+ For building in Linux Bash shell modify setupenvLnx.sh
+ - Set the environment by running "setupenv.bat" or "source setupenvMsys.sh"
- For building run:
- make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
- or:
- make evm_c6670_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
+ make evm_c667x_i2c ENDIAN=little I2C_BUS_ADDR=0x51 INTERNAL_UTILS=no
or:
make <TARGET> ENDIAN=[little|big]
make c6455 ENDIAN=liitle
diff --git a/boot_loader/IBL_setupenv.bat b/boot_loader/IBL_setupenv.bat
+++ /dev/null
@@ -1,31 +0,0 @@
-@REM ******************************************************************************
-@REM * FILE PURPOSE: Environment Setup for building Bootloader
-@REM ******************************************************************************
-@REM * FILE NAME: setupenv.bat
-@REM *
-@REM * DESCRIPTION:
-@REM * Configures and sets up the Build Environment for Bootloader in DOS environment.
-@REM *
-@REM * Customers are expected to modify this file as per their build environment.
-@REM *
-@REM * USAGE:
-@REM * setupenv.bat
-@REM *
-@REM * Copyright (C) 2010, Texas Instruments, Inc.
-@REM *****************************************************************************
-
-@echo off
-
-REM Setup the ibl build environment
-
-REM Modify following lines based on target environment for the toolset installed
-REM Dependency is related to path for Cygwin and CGEN installed
-
-REM PATH=C:\cygwin\bin;C:\PROGRA~1\TEXASI~1\ccsv5\tools\compiler\c6000\bin
-
-set PATH=E:\cygwin\bin;T:\c6xx\cgen_7_2_0\c6000\cgtools\bin
-set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
-set CYGWINPATH=E:/cygwin/bin
-set BISONSKEL=yacc.c
-set TOOLSC6X=t:/c6xx/cgen_7_2_0/c6000/cgtools
-set TOOLSC6XDOS=t:\c6xx\cgen_7_2_0\c6000\cgtools
diff --git a/boot_loader/IBL_setupenvMsys.sh b/boot_loader/IBL_setupenvMsys.sh
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# Environment setup to be done if using MSYS Bash shell for build
+
+# Specify the base directory of the c6000 compiler with UNIX style path separator
+export C6X_BASE_DIR='"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000"'
+
+# Specify the base directory of the c6000 compiler in format understandable by the MSYS Bash shell
+export C6X_BASE_DIR_MSYS=/c/Program\ Files/Texas\ Instruments/ccsv5/tools/compiler/c6000
+
+# Don't modify the below variables. They are derived from the above definitions
+export PATH=$PATH:$C6X_BASE_DIR_MSYS/bin
+export TOOLSC6X=$C6X_BASE_DIR
+export TOOLSC6XDOS=$C6X_BASE_DIR
+
diff --git a/boot_loader/examples/i2c/emac/docs/README.txt b/boot_loader/examples/i2c/emac/docs/README.txt
index 504328142082cd27c595d3e8dee8b2db417b642f..99a59d2ec7249db2663e650473c8cada572a844c 100644 (file)
Steps to build the example:
-1. Import the i2cemacboot CCS project from tools\boot_loader\examples\i2c\emac\evmc6xxxl directory. (in CCSv5,
+1. Import the i2cemacboot CCS project from tools\boot_loader\examples\i2c\emac\evmc66xxl directory. (in CCSv5,
Project->Import Existing CCS/CCE Eclipse Projects)
-2. Clean the i2cemacboot project and re-build the project, after build is completed, i2cemacboot_evm6xxxl.out and
- i2cemacboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin directory.
+2. Clean the i2cemacboot project and re-build the project, after build is completed, i2cemacboot_evm66xxl.out and
+ i2cemacboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\emac\evmc66xxl\bin directory.
Steps to run i2cemacboot in CCSv5:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical
- reference manual on how to set the boot mode dip switches.
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
-2. Load the program tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin\i2cemacboot_evm6xxxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\emac\evmc66xxl\bin\i2cemacboot_evm66xxl.out to CCS.
3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
4. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
Flow control none. Be sure the COM port # is set correctly.
-5. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal.
-
+5. Run the program in CCS, i2cemacboot will send the hello world booting info to both the CCS console and the
+ Hyper Terminal.
Steps to program i2cemacboot to EMAC:
-1. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to
- tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM.
-
-2. Be sure EMAC boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed,
- refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM.
+1. Be sure IBL and boot configuration table are programmed to I2C EEPROM bus address 81 (0x51), if IBL and/or
+ boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program
+ the IBL and boot configuration table to EEPROM.
-3. Copy tools\boot_loader\examples\i2c\emac\evmc6xxxl\bin\i2cemacboot_evm6xxxl.out to tools\bin2ccs and rename
+2. Copy tools\boot_loader\examples\i2c\emac\evmc66xxl\bin\i2cemacboot_evm66xxl.out to tools\bin2ccs and rename
the file to app.out.
-4. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
+3. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
-5. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy
+4. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy
app.dat to the TFTP base directory.
-6. 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
- address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101.
+5. 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 address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101.
+
+6. Set the boot dip switches to I2C master mode, bus address 81 (0x51) and boot parameter index to be 4.
-7. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, the EVM will download the
- boot image from TFTP server and boot from it.
+7. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, IBL will download the
+ boot image from TFTP server and boot from it. By default IBL will boot an ELF format image, if user wants to boot
+ an image of other formats, he/she needs to change the boot configuration table accordingly, and re-program the table
+ to the EEPROM.
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.ccsproject b/boot_loader/examples/i2c/emac/evmc6670l/.ccsproject
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.0"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.cproject b/boot_loader/examples/i2c/emac/evmc6670l/.cproject
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <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">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
+ <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <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">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ <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">
+ <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=""../bin/i2cemacboot_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/i2cemacboot_evm6670l.map"" valueType="string"/>
+ <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">
+ <listOptionValue builtIn="false" value=""rts6600_elf.lib""/>
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
+ <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=""${CG_TOOL_ROOT}"" valueType="string"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="i2cemacboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+</cproject>
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/.project b/boot_loader/examples/i2c/emac/evmc6670l/.project
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2cemacboot_evmc6670l</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value>-k</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/i2cemacboot/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>README.txt</name>
+ <type>1</type>
+ <location>TI_MCSDK_I2CEXAMPLES_DIR/emac/docs/README.txt</location>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/emac/src</locationURI>
+ </link>
+ </linkedResources>
+</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
--- /dev/null
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+/*
+ * Linker command file
+ *
+ */
+
+-c
+-heap 0x40000
+-stack 0x8000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
+ L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
+
+ L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
+ MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
+ DDR3 (RWX) : org = 0x80000000,len = 0x10000000
+}
+
+SECTIONS
+{
+ .csl_vect > L2SRAM
+ .cppi > L2SRAM
+ .linkram > L2SRAM
+ .mac_buffer > L2SRAM
+ platform_lib > L2SRAM
+ .text > L2SRAM
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2SRAM
+ .stack > L2SRAM
+ .cinit > L2SRAM
+ .cio > L2SRAM
+ .const > L2SRAM
+ .data > L2SRAM
+ .switch > L2SRAM
+ .sysmem > L2SRAM
+ .far > L2SRAM
+ .testMem > L2SRAM
+ .fardata > L2SRAM
+}
diff --git a/boot_loader/examples/i2c/emac/evmc6670l/macros.ini b/boot_loader/examples/i2c/emac/evmc6670l/macros.ini
--- /dev/null
@@ -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 b31f384f95c73bf9969e35c4b644e910eaa539ca..da96a73cea7034f6e625140b86a8281d608245d9 100644 (file)
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<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 f844a5e11ac964e7733cc9da752fd0e44f9ae6da..e1f5627b96ef66e8ebc9017ad19a8aefb63a1c2f 100644 (file)
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>i2cemacboot</name>
+ <name>i2cemacboot_evmc6678l</name>
<comment></comment>
<projects>
</projects>
diff --git a/boot_loader/examples/i2c/nand/docs/README.txt b/boot_loader/examples/i2c/nand/docs/README.txt
index 889e074fb988e8023a205a8cb7b1fb49a8729033..049095de716b5c42b6a20cbf7ccc072a7ffd909e 100644 (file)
Steps to build the example:
-1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc6xxxl directory. (in CCSv5,
+1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc66xxl directory. (in CCSv5,
Project->Import Existing CCS/CCE Eclipse Projects)
-2. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evm6xxxl.out and
- i2cnandboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin directory.
+2. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evm66xxl.out and
+ i2cnandboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc66xxl\bin directory.
Steps to run i2cnandboot in CCSv5:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical
- reference manual on how to set the boot mode dip switches.
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
-2. Load the program tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin\i2cnandboot_evm6xxxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to CCS.
3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
4. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
Flow control none. Be sure the COM port # is set correctly.
-5. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal.
-
+5. Run the program in CCS, i2cnandboot will send the hello world booting info to both the CCS console and the
+ Hyper Terminal.
Steps to program i2cnandboot to NAND:
1. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to
tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM.
-2. Be sure NAND boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed,
- refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM.
-
-3. Copy tools\boot_loader\examples\i2c\nand\evmc6xxxl\bin\i2cnandboot_evm6xxxl.out to tools\bin2ccs and rename
+2. By default, IBL will boot a BBLOB image (Linux kernel) from NAND, to run this example, we need to change the
+ NAND boot image format to ELF:
+ a. In setConfig_c66xx_main() of tools\boot_loader\ibl\src\util\i2cConfig\i2cConfig.gel,
+ replace
+ ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB;
+ with
+ ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_ELF;
+ b. Re-program the boot configuration table, refer to tools\boot_loader\ibl\doc\README.txt on how to program
+ the boot configuration table to EEPROM.
+
+3. Copy tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to tools\bin2ccs and rename
the file to app.out.
4. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
-5. Copy app.dat to tools\writer\nand\evmc6xxxl\bin and refer to tools\writer\nand\docs\README.txt on how to program
+5. Copy app.dat to tools\writer\nand\evmc66xxl\bin and refer to tools\writer\nand\docs\README.txt on how to program
the app.dat to NAND flash.
-7. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x51
- (please refer to the EVM technical reference manual on how to set the boot mode dip switches) and
- boot the Hello World image from the NAND flash after POR.
+6. Once the programming is completed successfully, set the boot dip switches to I2C master mode,
+ bus address 81 (0x51) and boot parameter index to be 2.
+
+7. After POR, IBL will boot the hello world image from NAND.
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.ccsproject b/boot_loader/examples/i2c/nand/evmc6670l/.ccsproject
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.0"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.cproject b/boot_loader/examples/i2c/nand/evmc6670l/.cproject
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <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">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
+ <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <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">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ <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">
+ <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=""../bin/i2cnandboot_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/i2cnandboot_evm6670l.map"" valueType="string"/>
+ <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">
+ <listOptionValue builtIn="false" value=""rts6600_elf.lib""/>
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
+ <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=""${CG_TOOL_ROOT}"" valueType="string"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="i2cnandboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+</cproject>
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/.project b/boot_loader/examples/i2c/nand/evmc6670l/.project
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2cnandboot_evmc6670l</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value>-k</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/i2cnandboot/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>README.txt</name>
+ <type>1</type>
+ <location>TI_MCSDK_I2CEXAMPLES_DIR/nand/docs/README.txt</location>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/src</locationURI>
+ </link>
+ </linkedResources>
+</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
--- /dev/null
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+/*
+ * Linker command file
+ *
+ */
+
+-c
+-heap 0x40000
+-stack 0x8000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
+ L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
+
+ L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
+ MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
+ DDR3 (RWX) : org = 0x80000000,len = 0x10000000
+}
+
+SECTIONS
+{
+ .csl_vect > L2SRAM
+ .cppi > L2SRAM
+ .linkram > L2SRAM
+ .mac_buffer > L2SRAM
+ platform_lib > L2SRAM
+ .text > L2SRAM
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2SRAM
+ .stack > L2SRAM
+ .cinit > L2SRAM
+ .cio > L2SRAM
+ .const > L2SRAM
+ .data > L2SRAM
+ .switch > L2SRAM
+ .sysmem > L2SRAM
+ .far > L2SRAM
+ .testMem > L2SRAM
+ .fardata > L2SRAM
+}
diff --git a/boot_loader/examples/i2c/nand/evmc6670l/macros.ini b/boot_loader/examples/i2c/nand/evmc6670l/macros.ini
--- /dev/null
@@ -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 d67cafb04c12900c5bac19a5c10c73a05b433b71..7f10c5b7c90eeebe937664faa6bcd57311de81fd 100644 (file)
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<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 50fbc4cb4f029021ee117745ae5218aa34282601..61e23d0c93104c58639f250955ccd7f1e6c22426 100644 (file)
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>i2cnandboot</name>
+ <name>i2cnandboot_evmc6678l</name>
<comment></comment>
<projects>
</projects>
diff --git a/boot_loader/examples/i2c/nor/docs/README.txt b/boot_loader/examples/i2c/nor/docs/README.txt
index 0d685b632125e265ebbefd62a85c50e36711a936..17181367691f708ee66ea1af087b9843f2d350f6 100644 (file)
Steps to build the example:
-1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc6xxxl directory. (in CCSv5,
+1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc66xxl directory. (in CCSv5,
Project->Import Existing CCS/CCE Eclipse Projects)
-2. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evm6xxxl.out and
- i2cnorboot_evm6xxxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin directory.
+2. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evm66xxl.out and
+ i2cnorboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc66xxl\bin directory.
Steps to run i2cnorboot in CCSv5:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical
- reference manual on how to set the boot mode dip switches.
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
-2. Load the program tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin\i2cnorboot_evm6xxxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to CCS.
3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal.
4. Create a new connection with the Baud rate set to 115200 bps, Data bits 8, Parity none, Stop bits 1 and
Flow control none. Be sure the COM port # is set correctly.
-5. Run the program in CCS, POST will send the booting image info to both the CCS console and the Hyper Terminal.
+5. Run the program in CCS, i2cnorboot will send the hello world booting info to both the CCS console and the
+ Hyper Terminal.
Steps to program i2cnorboot to NOR:
-1. Be sure IBL is programmed to I2C EEPROM bus address 81 (0x51), if IBL is not programmed, refer to
- tools\boot_loader\ibl\doc\README.txt on how to program the IBL to EEPROM.
+1. Be sure IBL and boot configuration table are programmed to I2C EEPROM bus address 81 (0x51), if IBL and/or
+ boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program
+ the IBL and boot configuration table to EEPROM.
-2. Be sure NOR boot parameter table is programmed to I2C EEPROM bus address 81 (0x51), if the table is not programmed,
- refer to tools\boot_loader\ibl\doc\README.txt on how to program the boot parameter table to EEPROM.
-
-3. Copy tools\boot_loader\examples\i2c\nor\evmc6xxxl\bin\i2cnorboot_evm6xxxl.out to tools\bin2ccs and rename
+2. Copy tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to tools\bin2ccs and rename
the file to app.out.
-4. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
+3. Double click bin2ccs.bat, which will convert app.out to a CCS format data file app.dat.
-5. Copy app.dat to tools\writer\nor\evmc6xxxl\bin and refer to tools\writer\nor\docs\README.txt on how to program
+4. Copy app.dat to tools\writer\nor\evmc66xxl\bin and refer to tools\writer\nor\docs\README.txt on how to program
the app.dat to NOR flash.
-7. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x51
- (please refer to the EVM technical reference manual on how to set the boot mode dip switches) and
- boot the Hello World image from the NOR flash after POR.
+5. Once the programming is completed successfully, set the boot dip switches to I2C master mode,
+ bus address 81 (0x51) and boot parameter index to be 0.
+6. 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
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.0"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/.cproject b/boot_loader/examples/i2c/nor/evmc6670l/.cproject
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <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">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
+ <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1206666269" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <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">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ </option>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ <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">
+ <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=""../bin/i2cnorboot_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.405326097" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/i2cnorboot_evm6670l.map"" valueType="string"/>
+ <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">
+ <listOptionValue builtIn="false" value=""rts6600_elf.lib""/>
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.352622214" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1242540186" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
+ <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=""${CG_TOOL_ROOT}"" valueType="string"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="i2cnorboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+</cproject>
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/.project b/boot_loader/examples/i2c/nor/evmc6670l/.project
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2cnorboot_evmc6670l</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value>-k</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/i2cnorboot/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>README.txt</name>
+ <type>1</type>
+ <location>TI_MCSDK_I2CEXAMPLES_DIR/nor/docs/README.txt</location>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/src</locationURI>
+ </link>
+ </linkedResources>
+</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
--- /dev/null
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+/*
+ * Linker command file
+ *
+ */
+
+-c
+-heap 0x40000
+-stack 0x8000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
+ L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
+
+ L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
+ MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
+ DDR3 (RWX) : org = 0x80000000,len = 0x10000000
+}
+
+SECTIONS
+{
+ .csl_vect > L2SRAM
+ .cppi > L2SRAM
+ .linkram > L2SRAM
+ .mac_buffer > L2SRAM
+ platform_lib > L2SRAM
+ .text > L2SRAM
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2SRAM
+ .stack > L2SRAM
+ .cinit > L2SRAM
+ .cio > L2SRAM
+ .const > L2SRAM
+ .data > L2SRAM
+ .switch > L2SRAM
+ .sysmem > L2SRAM
+ .far > L2SRAM
+ .testMem > L2SRAM
+ .fardata > L2SRAM
+}
diff --git a/boot_loader/examples/i2c/nor/evmc6670l/macros.ini b/boot_loader/examples/i2c/nor/evmc6670l/macros.ini
--- /dev/null
@@ -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 7c5cd2dfd198e5bbb88bbf4fc2220f299224457f..9d9e256a7aed43c54fefa0a6e76653d4ee96431c 100644 (file)
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<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 4933746212898d275a42eb77e9193a463cee95c1..e1b9f97d833b95470e08600fdad2613e0d86d987 100644 (file)
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>i2cnorboot</name>
+ <name>i2cnorboot_evmc6678l</name>
<comment></comment>
<projects>
</projects>
index 53907542c29be4c09fc09361e47b5993dff0ff22..0fbf0d4994818ee806cb87f4132b7d5e28e22fd0 100644 (file)
mv -f IBL_release_info.txt ibl\doc\release_info.txt
mv -f IBL_README.txt ibl\doc\README.txt
-mv -f IBL_setupenv.bat ibl\src\make\setupenv.bat
+mv -f IBL_setupenvMsys.sh ibl\src\make\setupenvMsys.sh
mv -f IBL_Makefile ibl\src\make\Makefile
mv -f IBL_makestg1 ibl\src\make\makestg1
mv -f IBL_makestg2 ibl\src\make\makestg2
diff --git a/post/docs/README.txt b/post/docs/README.txt
index 341eedc6a1fc0439a3eab5a4b882b968dca030b7..523905bd0ab8bab363a687bac3c97a3d3cc6a3ec 100644 (file)
--- a/post/docs/README.txt
+++ b/post/docs/README.txt
Steps to run POST in CCSv5:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM, please refer to the EVM technical
- reference manual on how to set the boot mode dip switches)
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM
2. Load the program tools\post\evmc66xxl\bin\post_evm66xxl.out to CCS.
refer to tools\boot_loader\ibl\doc\release_info.txt on how to build IBL for EVMC66xxL.
2. Go to the tools\post\evmc66xxl\bin directory in Windows Explorer and open the post_romparse.bat in a text editor,
- change "C6000_CG_DIR", "TARGET", "ENDIAN" and "IBL_ROOT_DIR" parameters accordingly and set the Cygwin PATH
- where you installed.
+ change "C6000_CG_DIR", "TARGET", "ENDIAN" and "IBL_ROOT_DIR" parameters accordingly.
3. Double click post_romparse.bat. This will generate a CCS format image file "post_i2crom.dat", which can be programmed
to I2C EEPROM slave bus address 80 (0x50), below are the steps how to program the EEPROM using the EEPROM writer utility:
* Change bus_addr to "80" (0x50) in tools\writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt and save the file.
* Refer to tools\writer\eeprom\evmc66xxl\docs\README.txt on how to program the CCS data file to EEPROM.
-4. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x50
- (please refer to the EVM technical reference manual on how to set the boot mode dip switches) and
+4. Once the programming is completed successfully, user can set the boot mode to I2C mode with bus address 0x50 and
boot the POST directly from the EEPROM after POR. The boot status and test result can be monitored using the Hyper
Terminal as mentioned in "Steps to run POST in CCSv5".
index f36adb9e8993442e6bbf6d1c5a5e20fc955d2eea..f0519a6069cbf15f52d283015318967bc9b79ad7 100644 (file)
--- a/post/evmc6670l/.cproject
+++ b/post/evmc6670l/.cproject
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactExtension="out" artifactName="../bin/post_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">
+ <configuration artifactExtension="out" artifactName="../bin/post_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="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
<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">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6670:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="scannerConfiguration"/>
- </cconfiguration>
- <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.646908463">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.646908463" moduleId="org.eclipse.cdt.core.settings" name="Release">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactExtension="out" artifactName="../bin/post_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.646908463" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
- <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.646908463." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.1689722204" 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">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.794108544" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
- <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
- <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
- <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
- <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
- <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
- <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6670:1.0.0.8;"/>
- <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1880883419" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.2.0" valueType="string"/>
- <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.1853413779" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/post/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.334445435" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.52181338" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1709785078" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
- <listOptionValue builtIn="false" value="225"/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.255200108" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
- <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/tools/post/include""/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.368167091" 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"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.111513867" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.1522790564" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL.1939674907" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL.1" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE.152445469" name="Optimize for code size (--opt_for_space, -ms)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE.2" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.1954973734" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
- <listOptionValue builtIn="false" value="_EVMC6670L_"/>
- </option>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.1012222725" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.858013931" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.230248342" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.822824393" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
- </tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.434278496" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.1164277839" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/post_evm6670l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.1349122220" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/post_evm6670l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.431076691" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""rts6600_elf.lib""/>
- <listOptionValue builtIn="false" value=""ti.platform.evm6670l.lite.lib""/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.1160762749" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
- <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
- </option>
- </tool>
- <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.856423379" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1067893382" name="Code generation tool directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value=""${CG_TOOL_ROOT}"" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.31613214" name="RTSC target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C66" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1078168356" name="RTSC platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.evm6670" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1552020877" name="Build profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.181189646" name="RTSC package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
- <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
- </option>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
index 9d8f4cf9d69acdc3535ba32cdd43da883c74ced1..f24b5744b9820a792bf62b87296e2a5fd4bd885b 100644 (file)
set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TARGET=6670
set ENDIAN=little
-set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta1_update1\tools\boot_loader\ibl"
-#set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_06\tools\boot_loader\ibl"
-set PATH=E:\cygwin\bin;
+set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta2\tools\boot_loader\ibl"
set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
-set CYGWINPATH=E:/cygwin/bin
@echo off
index 10cd229223b70996779ab5f49f42adb35cf29da4..f6d801a53fd103f07a7898d30b1044f4c656ba9d 100644 (file)
--- a/post/evmc6678l/.cproject
+++ b/post/evmc6678l/.cproject
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactExtension="out" artifactName="../bin/post_evm6678l" 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">
+ <configuration artifactExtension="out" artifactName="../bin/post_evm6678l" 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="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
<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">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732314103" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6678L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6678L:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<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"/>
<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">
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
</option>
</tool>
</toolChain>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="scannerConfiguration"/>
- </cconfiguration>
- <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.2022465094">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.2022465094" moduleId="org.eclipse.cdt.core.settings" name="Release">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactExtension="out" artifactName="../bin/post_evm6678l" 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.2022465094" name="Release" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
- <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.2022465094." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.50080081" 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">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.305623654" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
- <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
- <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
- <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
- <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
- <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
- <listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6678L:1.0.0.8;"/>
- <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1998669262" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.2.0" valueType="string"/>
- <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.706883230" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/post/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1035484283" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.830479021" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.707385412" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
- <listOptionValue builtIn="false" value="225"/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.2035009672" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
- <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/tools/post/include""/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.1332527586" 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"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.1495026065" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.593281764" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL.1908586575" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_LEVEL.1" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE.399662563" name="Optimize for code size (--opt_for_space, -ms)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.OPT_FOR_SPACE.2" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.2061911386" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
- <listOptionValue builtIn="false" value="_EVMC6678L_"/>
- </option>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.2065312119" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1946811708" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.1598057143" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.927368500" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
- </tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.1744157493" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.831624995" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/post_evm6678l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.2050007086" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/post_evm6678l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.546608967" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""rts6600_elf.lib""/>
- <listOptionValue builtIn="false" value=""ti.platform.evm6678l.lite.lib""/>
- </option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.1228025135" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
- <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
- <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
- </option>
- </tool>
- <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1448694388" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1848177090" name="Code generation tool directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value=""${CG_TOOL_ROOT}"" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.12722670" name="RTSC target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.elf.C66" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.654765254" name="RTSC platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.evm6678" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.749303491" name="Build profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
- <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1662080390" name="RTSC package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
- <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
- </option>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
index 98ca28a928c2d89ef93a040890e81d800651a327..d0be2944386a587d29126f606e22343d6517a271 100644 (file)
set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TARGET=6678
set ENDIAN=little
-set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta1_update1\tools\boot_loader\ibl"
-#set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_06\tools\boot_loader\ibl"
-set PATH=E:\cygwin\bin;
+set IBL_ROOT_DIR="C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta2\tools\boot_loader\ibl"
set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
-set CYGWINPATH=E:/cygwin/bin
@echo off
diff --git a/post/include/post.h b/post/include/post.h
index 69f0e4e60eb5ad55692e20c54537b7c55e85cbf6..1f715a47b4e594fc38727c4450c5eacfe9bd84b0 100644 (file)
--- a/post/include/post.h
+++ b/post/include/post.h
#define PLL_CTRL_REG_RSTYPE *( volatile uint32_t* )( PLL_BASE + 0xe4 )
/******************************************************************************
- * UART Baud Rate
+ * UART definitions
******************************************************************************/
#define POST_UART_BAUDRATE 115200
+#define POST_UART_READ_TIMEOUT (30 * 1000000) /* in usec */
/******************************************************************************
* FPGA debug LED definitions
/******************************************************************************
* EMAC test definitions
******************************************************************************/
-
#define POST_EMAC_TEST_PKT_LENGTH 256 /* Ethernet packet payload size in bytes */
+
+/******************************************************************************
+ * Serial Number definitions
+ ******************************************************************************/
+#define POST_MAX_SN_SIZE 10 /* Maximum number of the chars of Serial Number for the EVM */
+#define POST_SERIAL_NUM_ADDR (65536-128) /* Last 128 bytes of EEPROM 0x50 stores the S/N */
+
diff --git a/post/src/post.c b/post/src/post.c
index f69e87c886f9b218902d4159fb4a5f7595da610d..2902574a9e300f90fe1b792bdcd07d7a0c7b9b53 100644 (file)
--- a/post/src/post.c
+++ b/post/src/post.c
msg[nibbles] = 0;
}
+Bool
+post_serial_num_isvalid
+(
+ char c
+)
+{
+ if (
+ ((c >= '0') && (c <= '9')) ||
+ ((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z'))
+ )
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+/******************************************************************************
+ * Function: post_write_serial_no
+ ******************************************************************************/
+void
+post_write_serial_no
+(
+ void
+)
+{
+ uint32_t i, j;
+ uint8_t msg[20], msg2[2];
+ PLATFORM_DEVICE_info *p_device;
+
+ /* Check if user key in the passcode "ti" to enter board serial number */
+ if (platform_uart_read(msg, POST_UART_READ_TIMEOUT) != Platform_EOK)
+ {
+ return;
+ }
+ if (msg[0] != 't')
+ {
+ return;
+ }
+
+ if (platform_uart_read(msg, POST_UART_READ_TIMEOUT) != Platform_EOK)
+ {
+ return;
+ }
+ if (msg[0] != 'i')
+ {
+ return;
+ }
+
+ /* Passcode verified, prompt the user to enter serial number */
+ p_device = platform_device_open(PLATFORM_DEVID_EEPROM50, 0);
+ if (p_device == NULL)
+ {
+ return;
+ }
+
+ post_write_uart("\r\n\r\nPlease enter the 10 digit serial number for this board, and then press ENTER key:\r\n\r\n");
+
+ i = 0;
+ msg2[1] = 0;
+ while (TRUE)
+ {
+ if (platform_uart_read(&msg[i], POST_UART_READ_TIMEOUT) != Platform_EOK)
+ {
+ platform_device_close(p_device->handle);
+ post_write_uart("\r\n\r\nSerial number input time out!");
+ return;
+ }
+
+ if (msg[i] == '\r')
+ {
+ break;
+ }
+ if ((i < POST_MAX_SN_SIZE) && post_serial_num_isvalid(msg[i]))
+ {
+ msg2[0] = msg[i];
+ post_write_uart((char *)msg2);
+ i++;
+ }
+ }
+
+ if (i < POST_MAX_SN_SIZE)
+ {
+ for (j = i; j < POST_MAX_SN_SIZE; j++)
+ {
+ msg[j] = 0xff;
+ }
+ }
+
+ if(platform_device_write(p_device->handle, POST_SERIAL_NUM_ADDR, msg, 16) == Platform_EOK)
+ {
+ post_write_uart("\r\n\r\nSerial number programmed to EEPROM successfully! ");
+ }
+ else
+ {
+ post_write_uart("\r\n\r\nFailed to program the serial number to EEPROM!");
+ }
+ platform_device_close(p_device->handle);
+
+}
+
/******************************************************************************
* Function: main function for POST
******************************************************************************/
char msg[9];
uint8_t mac_addr[6];
platform_info info;
+ uint32_t sa_enable;
/* Turn on all the platform initialize flags */
memset(&init_config, 0, sizeof(platform_init_config));
post_write_uart("\r\n\r\nFPGA Version: ");
post_write_uart(msg);
- /*post_write_uart("\r\n\r\nPOST booting from I2C 0x50 ... ");*/
+ if (info.serial_nbr[0] != 0)
+ {
+ post_write_uart("\r\n\r\nBoard Serial Number: ");
+ post_write_uart(info.serial_nbr);
+ }
/* Display the EFUSE MAC address */
platform_get_macaddr(PLATFORM_MAC_TYPE_EFUSE, mac_addr);
post_write_uart(msg);
}
+ sa_enable = *(volatile uint32_t *)0x20c0000;
+ sa_enable &= 0x1;
+
+ if (sa_enable)
+ {
+ post_write_uart("\r\n\r\nSA is enabled on this board.");
+ }
+ else
+ {
+ post_write_uart("\r\n\r\nSA is disabled on this board.");
+ }
+
/* Read the PLL Reset Type Status register and display on UART */
reset_type = PLL_CTRL_REG_RSTYPE;
post_hex_to_string(reset_type, 8, msg);
post_display_status(POST_TEST_NAND, test_passed);
post_display_status(POST_TEST_COMPLETE, TRUE);
+
+ post_write_serial_no();
}
index 13ee9a046ce3aab7942473a946493ed966821e54..d943dc1055b880a9b47b25146fd2b97f4e357e98 100644 (file)
Steps to program the EEPROM:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM (please refer to the EVM technical
- reference manual on how to set the boot mode dip switches)
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
2. Copy the CCS format data file to tools\writer\eeprom\evmc66xxl\bin directory, and rename it to app.dat.
-3. Change the file_name, bus_addr and start_addr in tools\writer\eeprom\evmc6xxxl\bin\eepromwriter_input.txt if necessary.
+3. Change the file_name, bus_addr and start_addr in tools\writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt if necessary.
By default the EEPROM writer will load app.dat to DSP memory and write the data to I2C slave
- bus address 81 at EEPROM device start address 0.
+ bus address 81 (0x51) at EEPROM device start byte address 0.
4. Open CCSv5 and launch the evmc66xx emulator target configuration and connect to core 0.
-5. Load the program tools\writer\eeprom\evmc66xxl\bin\eepromwriter_evm66xxl.out to CCS, be sure evmc6xxxl.gel is used in CCS.
+5. Load the program tools\writer\eeprom\evmc66xxl\bin\eepromwriter_evm66xxl.out to CCS, be sure evmc66xxl.gel is used in CCS.
6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x80000000.
7. Load app.dat to 0x80000000:
* In CCSv5, right click mouse in memory window, select "load memory".
- * Browse and select tools\writer\eeprom\evmc6678l\bin\app.dat.
+ * Browse and select tools\writer\eeprom\evmc66xxl\bin\app.dat.
* Select the option "Use the file header information to set the start address and size of the memory block to be
loaded" and click "next".
* Change the Start Address to "0x80000000" if it is not 0x80000000, and click "finish".
2. Clean and build the eepromwriter project.
3. After the project build is completed, eepromwriter_evm66xxl.out and eepromwriter_evm66xxl.map will be generated under
- tools\writer\eeprom\evmc6678l\bin directory.
+ tools\writer\eeprom\evmc66xxl\bin directory.
index 1d01850c685d70cf0fe3450cbdabaa527510efc5..83f0f7d6766c816972d827f9f84f40b31ea10a02 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.7:2.0.0.7;com.ti.biosmcsdk.pdk.C6670:1.0.0.7;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
index a22cd63fb0fc53f1c15b2b5b594851dc8950ccad..af172631dd4b29260ebf402f024694c5fe9b850b 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6678L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6678L:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
index 4a1880fdff00f6f836c52445a14ff1801a43461d..06edbe9f1fecbbb05c81b53e992ce9f2a828fab1 100644 (file)
Steps to program the NAND:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM (please refer to the EVM technical
- reference manual on how to set the boot mode dip switches)
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
-2. Copy the CCS format data file to tools\writer\nand\evmc6xxxl\bin directory, and rename it to app.dat.
+2. Copy the CCS format data file to tools\writer\nand\evmc66xxl\bin directory, and rename it to app.dat.
-3. Change the file_name and start_addr in tools\writer\nand\evmc6xxxl\bin\nandwriter_input.txt if necessary.
- By default the NAND writer will load app.dat to DSP memory and write the data to NAND device start address 0.
+3. Change the file_name and start_addr in tools\writer\nand\evmc66xxl\bin\nandwriter_input.txt if necessary.
+ By default the NAND writer will load app.dat to DSP memory and write the data to NAND device start byte address 16384
+ (start address of block 1). The start_addr should always be set to the start byte addess of a block.
+
+4. Open CCSv5 and launch the evmc66xx emulator target configuration and connect to core 0.
-4. Open CCSv5 and launch the evmc6xxx emulator target configuration and connect to core 0.
-
-5. Load the program tools\writer\nand\evmc6xxxl\bin\nandwriter_evm6xxxl.out to CCS, be sure evmc6xxxl.gel is used in CCS,
+5. Load the program tools\writer\nand\evmc66xxl\bin\nandwriter_evm66xxl.out to CCS, be sure evmc66xxl.gel is used in CCS,
6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x80000000.
7. Load app.dat to 0x80000000:
* In CCSv5, right click mouse in memory window, select "load memory".
- * Browse and select tools\writer\nand\evmc6xxxl\bin\app.dat.
+ * Browse and select tools\writer\nand\evmc66xxl\bin\app.dat.
* Select the option "Use the file header information to set the start address and size of the memory block to be
loaded" and click "next".
* Change the Start Address to "0x80000000" if it is not 0x80000000, and click "finish".
Steps to re-build nandwriter:
-1. Import the nandwriter CCS project from tools\writer\nand\evmc6xxxl directory (in CCSv5, Project->Import Existing CCS/
+1. Import the nandwriter CCS project from tools\writer\nand\evmc66xxl directory (in CCSv5, Project->Import Existing CCS/
CCE Eclipse Projects).
2. Clean and build the nandwriter project.
-3. After the project build is completed, nandwriter_evm6xxxl.out and nandwriter_evm6xxxl.map will be generated under
- tools\writer\nand\evmc6xxxl\bin directory.
+3. After the project build is completed, nandwriter_evm66xxl.out and nandwriter_evm66xxl.map will be generated under
+ tools\writer\nand\evmc66xxl\bin directory.
index 303a894f33c390bc1b896a1e42b04fdb42a9fdac..42b61cce60fa7f227b898246c07cc7dd46dc6bb0 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6670L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<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"/>
<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">
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
</option>
</tool>
</toolChain>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
diff --git a/writer/nand/evmc6670l/bin/nand_writer_input.txt b/writer/nand/evmc6670l/bin/nand_writer_input.txt
index ced386cd91e75762501348ffa0601bbf18f7dd80..df74460739b263a63749eb86eef57af32bec8b38 100644 (file)
file_name = app.dat
-start_addr = 0
+start_addr = 16384
index ca310c23f07e999b48410af0e28172cbfc2586bb..28becb1148d0acf60fa9d1343d97327dac5eb08e 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6678L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6678L:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<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"/>
<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">
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
</option>
</tool>
</toolChain>
diff --git a/writer/nand/evmc6678l/bin/nand_writer_input.txt b/writer/nand/evmc6678l/bin/nand_writer_input.txt
index ced386cd91e75762501348ffa0601bbf18f7dd80..df74460739b263a63749eb86eef57af32bec8b38 100644 (file)
file_name = app.dat
-start_addr = 0
+start_addr = 16384
index 4afd4b8a4f22bab53747d055096299c5e5bd590c..670681dc03e5909ad978517340f3e2d152b9e08a 100644 (file)
Steps to program the NOR:
-1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM (please refer to the EVM technical
- reference manual on how to set the boot mode dip switches)
+1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
-2. Copy the CCS format data file to tools\writer\nor\evmc6xxxl\bin directory, and rename it to app.dat.
+2. Copy the CCS format data file to tools\writer\nor\evmc66xxl\bin directory, and rename it to app.dat.
-3. Change the file_name and start_addr in tools\writer\nor\evmc6xxxl\bin\norwriter_input.txt if necessary.
- By default the NOR writer will load app.dat to DSP memory and write the data to NOR device start address 0.
+3. Change the file_name and start_addr in tools\writer\nor\evmc66xxl\bin\norwriter_input.txt if necessary.
+ By default the NOR writer will load app.dat to DSP memory and write the data to NOR device start byte address 0,
+ the start_addr should always be set to the start byte addess of a sector.
-4. Open CCSv5 and launch the evmc6xxx emulator target configuration and connect to core 0.
+4. Open CCSv5 and launch the evmc66xx emulator target configuration and connect to core 0.
-5. Load the program tools\writer\nor\evmc6xxxl\bin\norwriter_evm6xxxl.out to CCS, be sure evmc6xxxl.gel is used in CCS.
+5. Load the program tools\writer\nor\evmc66xxl\bin\norwriter_evm66xxl.out to CCS, be sure evmc66xxl.gel is used in CCS.
6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x80000000.
7. Load app.dat to 0x80000000:
* In CCSv5, right click mouse in memory window, select "load memory".
- * Browse and select tools\writer\nor\evmc6xxxl\bin\app.dat.
+ * Browse and select tools\writer\nor\evmc66xxl\bin\app.dat.
* Select the option "Use the file header information to set the start address and size of the memory block to be
loaded" and click "next".
* Change the Start Address to "0x80000000" if it is not 0x80000000, and click "finish".
Steps to re-build norwriter:
-1. Import the norwriter CCS project from tools\writer\nor\evmc6xxxl directory (in CCSv5, Project->Import Existing CCS/
+1. Import the norwriter CCS project from tools\writer\nor\evmc66xxl directory (in CCSv5, Project->Import Existing CCS/
CCE Eclipse Projects).
2. Clean and build the norwriter project.
-3. After the project build is completed, norwriter_evm6xxxl.out and norwriter_evm6xxxl.map will be generated under
- tools\writer\nor\evmc6xxxl\bin directory.
+3. After the project build is completed, norwriter_evm66xxl.out and norwriter_evm66xxl.map will be generated under
+ tools\writer\nor\evmc66xxl\bin directory.
index 4147b145f31b85188835053936cfcf4d96aa39de..fb857e6199e2a8bd042372c11288c27a1113141c 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6670L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6670:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<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"/>
<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"/>
<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"/>
- <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">
- <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
- </option>
+ <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"/>
</tool>
</toolChain>
</folderInfo>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
index 418f298d4dc1150426648ec9d475131c842e0dec..954257cdfad507dceb776d3ecf5f2692560b8ced 100644 (file)
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.0.1"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts6600_elf.lib"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.20.08.88"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.8:2.0.0.8;com.ti.biosmcsdk.pdk.C6678L:1.0.0.8;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.mcsdk_2.0.0.9:2.0.0.9;com.ti.biosmcsdk.pdk.C6678L:1.0.0.9;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<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"/>
<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"/>
<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">
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
- <listOptionValue builtIn="false" value=""${TI_MCSDK_INSTALL_DIR}/demos""/>
</option>
</tool>
</toolChain>