summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bfc4cd3)
raw | patch | inline | side by side (parent: bfc4cd3)
author | Hao Zhang <hzhang@ti.com> | |
Mon, 19 Nov 2012 21:43:09 +0000 (16:43 -0500) | ||
committer | Hao Zhang <hzhang@ti.com> | |
Mon, 19 Nov 2012 21:43:09 +0000 (16:43 -0500) |
71 files changed:
diff --git a/boot_loader/examples/ethernet/docs/README.txt b/boot_loader/examples/ethernet/docs/README.txt
index d9a6142429c3954f7c031de44d31af4074345e5d..d55c7a437fcc75eb887ce402e4185614ef0db10e 100755 (executable)
SW5(pin1, pin2, pin3, pin4): on, off, on, off
SW6(pin1, pin2, pin3, pin4): off, off, on, on
- The DIP switch setting for C6657 EVM is:
- SW3(pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8): off, on, off, on, on, on, on, off
- SW5(pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8): on, off, on, off, off, on, on, on
+ The DIP switch setting for TCI6634K2K EVM is:
+ TBD
2. Once the DSP boots up, it transmits BOOTP packet at regular interval which will have the MAC ID of the DSP.
http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
+http://processors.wiki.ti.com/index.php/TMDSEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD)
and User's Guide for more details:
http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide
-
+http://wiki.ci.dal.design.ti.com/index.php/MCSDK_3.0_User_Guide
diff --git a/boot_loader/examples/ethernet/simple/simple.bat b/boot_loader/examples/ethernet/simple/simple.bat
-set PATH=%PATH%;"C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000\bin";
+set PATH=%PATH%;"C:\ti\ccsv5\tools\compiler\c6000_7.3.4";
make simple.eth
diff --git a/boot_loader/examples/i2c/nand/docs/README.txt b/boot_loader/examples/i2c/nand/docs/README.txt
index 6238b2deaa3164880fdaac103b55e65414efe9bd..8a27cb722aa32d2f704ccaf751d293e93e0213c2 100755 (executable)
Steps to build the example:
-1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc66xxl directory. (in CCSv5,
+1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmxxxx 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_evm66xxl.out and
- i2cnandboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc66xxl\bin directory.
+2. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evmxxxx.out and
+ i2cnandboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\nand\evmxxxx\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.
-2. Load the program tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\nand\evmxxxx\bin\i2cnandboot_evmxxxx.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.
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\writer\nand\evmc66xxl\bin,
+3. Copy tools\boot_loader\examples\i2c\nand\evmxxxx\bin\i2cnandboot_evmxxxx.out to tools\writer\nand\evmxxxx\bin,
rename it to app.bin and refer to tools\writer\nand\docs\README.txt on how to program
the app.bin to NAND flash.
5. After POR, IBL will boot the hello world image from NAND.
-Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings:
+Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings:
http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
+http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD)
and User's Guide for more details:
http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide
+http://wiki.ci.dal.design.ti.com/index.php/MCSDK_3.0_User_Guide
diff --git a/boot_loader/examples/i2c/nand/evmk2k/.ccsproject b/boot_loader/examples/i2c/nand/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/nand/evmk2k/.cproject b/boot_loader/examples/i2c/nand/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" 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">
+ <macros>
+ <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" 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="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_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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.3.exe.DebugToolchain.41620434" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1441940040">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2005044545" 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.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_nand_example.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05:1.1.0.3;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1574009864" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.288068908" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1560262391" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1566033734" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.810834241" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1922601727" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.180608811" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.1747261647" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.849476710" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.363097251" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.722274391" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.916744987" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1405586451" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1999826175" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1441940040" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.672535201" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/i2cnandboot_evmk2k.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.270587399" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/i2cnandboot_evmk2k.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.325970360" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.472814859" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.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_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>
+ </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"/>
+ </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>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/boot_loader/examples/i2c/nand/evmk2k/.project b/boot_loader/examples/i2c/nand/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2cnandboot_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/docs/README.txt</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_I2CEXAMPLES_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/i2c/nand/evmk2k/i2c_boot_nand_example.cmd b/boot_loader/examples/i2c/nand/evmk2k/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/evmk2k/macros.ini b/boot_loader/examples/i2c/nand/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/i2c/nor/docs/README.txt b/boot_loader/examples/i2c/nor/docs/README.txt
index 8dacf960d24eb641918826f0000f6b4c1bac48ad..1c04d85d99535f85d311aae658a8f62b20506d30 100755 (executable)
Steps to build the example:
-1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc66xxl directory. (in CCSv5,
+1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmxxxx 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_evm66xxl.out and
- i2cnorboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc66xxl\bin directory.
+2. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evmxxxx.out and
+ i2cnorboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\nor\evmxxxx\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.
-2. Load the program tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\nor\evmxxxx\bin\i2cnorboot_evmxxxx.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.
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. Copy tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to tools\writer\nor\evmc66xxl\bin,
+2. Copy tools\boot_loader\examples\i2c\nor\evmxxxx\bin\i2cnorboot_evmxxxx.out to tools\writer\nor\evmxxxx\bin,
rename it to app.bin, and refer to tools\writer\nor\docs\README.txt on how to program
the app.bin to NOR flash.
4. After POR, IBL will boot the hello world image from NOR.
-5. Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings:
+Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings:
http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
+http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD)
and User's Guide for more details:
http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide
-
+http://wiki.ci.dal.design.ti.com/index.php/MCSDK_3.0_User_Guide
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.ccsproject b/boot_loader/examples/i2c/nor/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.cproject b/boot_loader/examples/i2c/nor/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" 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">
+ <macros>
+ <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" 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="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_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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.3.exe.DebugToolchain.908823352" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.605834413">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1090242212" 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.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_nor_example.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.16238560" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.2073726645" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.513820989" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.357774284" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.302020596" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.479500164" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1139267797" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.1245177226" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1713188338" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.2041473252" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1206010291" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1856359254" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.701772275" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1085539435" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.605834413" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1716448002" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/i2cnorboot_evmk2k.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.249525098" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/i2cnorboot_evmk2k.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.81238081" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.839014576" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.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_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>
+ </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"/>
+ </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>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.project b/boot_loader/examples/i2c/nor/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2cnorboot_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/docs/README.txt</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_I2CEXAMPLES_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/i2c/nor/evmk2k/i2c_boot_nor_example.cmd b/boot_loader/examples/i2c/nor/evmk2k/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/evmk2k/macros.ini b/boot_loader/examples/i2c/nor/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/i2c/tftp/docs/README.txt b/boot_loader/examples/i2c/tftp/docs/README.txt
index f8c87af1e35515c9a49beb94c094e6e02e972eef..6f690cbcb491b7dbb67d879e01aecbaaa3752a40 100755 (executable)
Steps to build the example:
-1. Import the i2ctftpboot CCS project from tools\boot_loader\examples\i2c\tftp\evmc66xxl directory. (in CCSv5,
+1. Import the i2ctftpboot CCS project from tools\boot_loader\examples\i2c\tftp\evmxxxx directory. (in CCSv5,
Project->Import Existing CCS/CCE Eclipse Projects)
-2. Clean the i2ctftpboot project and re-build the project, after build is completed, i2ctftpboot_evm66xxl.out and
- i2ctftpboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\tftp\evmc66xxl\bin directory.
+2. Clean the i2ctftpboot project and re-build the project, after build is completed, i2ctftpboot_evmxxxx.out and
+ i2ctftpboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\tftp\evmxxxx\bin directory.
Steps to run i2ctftpboot in CCSv5:
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\tftp\evmc66xxl\bin\i2ctftpboot_evm66xxl.out to CCS.
+2. Load the program tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.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.
the boot configuration table to EEPROM.
3. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy
- tools\boot_loader\examples\i2c\tftp\evmc66xxl\bin\i2ctftpboot_evm66xxl.out to the TFTP base directory, rename
- i2ctftpboot_evm66xxl.out to app.out.
+ tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.out to the TFTP base directory, rename
+ i2ctftpboot_evmxxxx.out to app.out.
4. Set the IP address of the PC that is running the TFTP server to 192.168.2.101, since by default IBL will set the EVM
IP address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101.
6. 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.
-Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings:
+Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings:
http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings
+http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD)
and User's Guide for more details:
http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide
+http://wiki.ci.dal.design.ti.com/index.php/MCSDK_3.0_User_Guide
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/.ccsproject b/boot_loader/examples/i2c/tftp/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/.cproject b/boot_loader/examples/i2c/tftp/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" 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">
+ <macros>
+ <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" 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="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/i2ctftpboot_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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.3.exe.DebugToolchain.247075216" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1262497871">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.290695367" 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.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_tftp_example.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1095868200" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.717821164" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1622819176" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.465617997" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.2115914470" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.195108135" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.2016703115" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.655343315" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.280248253" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.18965790" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.2035758301" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.2020597361" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.276028250" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.461104835" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1262497871" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1599978927" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/i2ctftpboot_evmk2k.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.805627916" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/i2ctftpboot_evmk2k.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.751359128" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1251586287" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.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_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>
+ </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"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="i2ctftpboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/.project b/boot_loader/examples/i2c/tftp/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>i2ctftpboot_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/tftp/docs/README.txt</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/tftp/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_I2CEXAMPLES_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/i2c_boot_tftp_example.cmd b/boot_loader/examples/i2c/tftp/evmk2k/i2c_boot_tftp_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/tftp/evmk2k/macros.ini b/boot_loader/examples/i2c/tftp/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_I2CEXAMPLES_DIR="../../../../
diff --git a/boot_loader/examples/pcie/linux_host_loader/pciedemo.c b/boot_loader/examples/pcie/linux_host_loader/pciedemo.c
/******************************************************************************
- * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
- *
+ * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com
+ *
* This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
+ * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation version 2.
*
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
* - 1.0: Initial version (6678 little endian PCIE boot POST demo)
* - 1.1: Add a new PCIE boot demo for HelloWorld
* - 1.2: support 6670 boot
- * - 1.3: support big endian boot for 6670/6678; support 32-bit/64-bit Linux;
- * support EDMA; support interrupt between host and DSP;
+ * - 1.3: support big endian boot for 6670/6678; support 32-bit/64-bit Linux;
+ * support EDMA; support interrupt between host and DSP;
* added PCIE over EDMA throughput measurement
- * - 1.4: Add a DSP local reset demo; fix pushData() to handle cases when
+ * - 1.4: Add a DSP local reset demo; fix pushData() to handle cases when
* sections within different memory regions in a header file
* - 1.5: Support 6657 boot
+ * - 1.6: Support TCI6634K2K boot
***************************************************************************************/
#include <linux/module.h>
/* Must select the endianess */
#define BIG_ENDIAN 0
-/* Must select which demo to run */
+/* Must select which demo to run */
#define HELLO_WORLD_DEMO 1
-#define POST_DEMO 0
-#define EDMA_INTC_DEMO 0
+#define POST_DEMO 0
+#define EDMA_INTC_DEMO 0
#define LOCAL_RESET 0
/* Must select a platform */
#define EVMC6678L 1
#define EVMC6670L 0
#define EVMC6657L 0
-
+#define EVMK2K 0
+
#if BIG_ENDIAN
#define myIoread32 ioread32be
#define myIowrite32 iowrite32be
#else
-#define myIoread32 ioread32
+#define myIoread32 ioread32
#define myIowrite32 iowrite32
#endif
#define MAGIC_ADDR 0x008FFFFC
#endif
+#if EVMK2K
+#define MAGIC_ADDR 0x008FFFFC
+#endif
+
/* Include header array */
#if HELLO_WORLD_DEMO
#if EVMC6678L
#include "pcieDdrInit_6678.h" /* DDR init */
-#include "pcieBootCode_6678.h" /* "Hello world" boot example */
+#include "pcieBootCode_6678.h" /* "Hello world" boot example */
#endif
#if EVMC6670L
#include "pcieBootCode_6657.h" /* "Hello world" boot example */
#endif
+#if EVMK2K
+#include "pcieDdrInit_k2k.h" /* DDR init */
+#include "pcieBootCode_k2k.h" /* "Hello world" boot example */
+#endif
+
#endif
#if POST_DEMO
#include "post_6657.h" /* POST boot example */
#endif
+#if EVMK2K
+#include "post_k2k.h" /* POST boot example */
+#endif
+
#endif
#if EDMA_INTC_DEMO
#define PDSTAT(n) (0x200 + (4 * (n)))
#define PDCTL(n) (0x300 + (4 * (n)))
#define MDSTAT(n) (0x800 + (4 * (n)))
-#define MDCTL(n) (0xA00 + (4 * (n)))
+#define MDCTL(n) (0xA00 + (4 * (n)))
/* EDMA registers */
#define EDMA_TPCC0_BASE_ADDRESS 0x02700000
-#define DMAQNUM0 0x0240
-#define ESR 0x1010
-#define EESR 0x1030
+#define DMAQNUM0 0x0240
+#define ESR 0x1010
+#define EESR 0x1030
#define IESR 0x1060
-#define IPR 0x1068
-#define ICR 0x1070
+#define IPR 0x1068
+#define ICR 0x1070
#define PARAM_0_OPT 0x4000
#define PARAM_0_SRC 0x4004
#define PARAM_0_A_B_CNT 0x4008
/* Chip level registers */
#define CHIP_LEVEL_BASE_ADDRESS 0x02620000
-#define KICK0 0x38
+#define KICK0 0x38
#define KICK1 0x3C
#define KICK0_UNLOCK 0x83E70B13
-#define KICK1_UNLOCK 0x95A4F1E0
+#define KICK1_UNLOCK 0x95A4F1E0
#define KICK_LOCK 0x0
#define DSP_BOOT_ADDR(n) (0x040 + (4 * (n)))
#define IPCGR(n) (0x240 + (4 * (n)))
#define LL2_START 0x00800000
#define MSMC_START 0x0C000000 /* Shared L2 */
#define DDR_START 0x80000000
-#define PCIE_DATA 0x60000000
+#define PCIE_DATA 0x60000000
/* Block size in bytes when r/w data between GPP and DSP via DSP CPU */
-#define BLOCK_TRANSFER_SIZE 0x100
+#define BLOCK_TRANSFER_SIZE 0x100
/* Data size in bytes when r/w data bewteen GPP and DSP via EDMA:
GPP----PCIE link----PCIE data space----EDMA----DSP device memory (L2, DDR, ...) */
#define DMA_TRANSFER_SIZE 0x400000 /* 4MB */
-/* Payload size in bytes over PCIE link. PCIe module supports
+/* Payload size in bytes over PCIE link. PCIe module supports
outbound payload size of 128 bytes and inbound payload size of 256 bytes */
-#define PCIE_TRANSFER_SIZE 0x80
+#define PCIE_TRANSFER_SIZE 0x80
/* For 1MB outbound translation window size */
#define PCIE_ADLEN_1MB 0x00100000
#if EVMC6678L
/* Modules on power domain 0 */
-#define LPSC_EMIF16_SPI 3
+#define LPSC_EMIF16_SPI 3
#define LPSC_TSIP 4
/* Modules on power domain 1 */
#define LPSC_TETB_TRC 6
/* Modules on power domain 2 */
-#define LPSC_PA 7
-#define LPSC_SGMII 8
-#define LPSC_SA 9
+#define LPSC_PA 7
+#define LPSC_SGMII 8
+#define LPSC_SA 9
/* Modules on power domain 3 */
#define LPSC_PCIE 10
#endif
-/*
+/*
reg: PCIE application registers
mem: Local L2
msmc: Shared L2 memory
-ddr: DDR3
+ddr: DDR3
*/
uint8_t *wDataVirt, *rDataVirt; /* Virtue address for CPU */
resource_size_t msmcLen = 0;
resource_size_t ddrLen = 0;
-uint32_t *ptrReg = 0;
+uint32_t *ptrReg = 0;
int32_t irqNo;
uint32_t dummy;
struct pci_dev *PCIE_DEV = NULL;
/* ============================================================================
* @func PCI_FindPciDevices
*
- * @desc This function locates 6670/6678 PCIE cards on system.
+ * @desc This function locates 6670/6678/6657/K2K PCIE cards on system.
*
* @modif None.
* ============================================================================
* @func HAL_readDMA
*
* @desc Move DMAs contents from DSP memory to GPP Memory. For DSP this is
- * outbound write.
+ * outbound write.
* flag: 0: Move data inside DSP; 1: Move data between GPP and DSP
- *
+ *
* @modif None.
* ============================================================================
*/
@@ -641,13 +656,13 @@ void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fla
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
/* Move data between GPP and DSP, need to program PCIE OB registers */
- if (flag) {
+ if (flag) {
iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */
if (size <= PCIE_ADLEN_1MB) {
pageBase = dstAddr & PCIE_1MB_BITMASK;
iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4);
- iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
}
else {
for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) {
@@ -659,13 +674,13 @@ void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fla
}
/* Temporarily re-map IB region 3 from DDR memory to EDMA registers */
- iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+ iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */
while (true) {
/* Use TC0 for DBS = 128 bytes */
- myIowrite32(0x0, pReg + DMAQNUM0/4);
+ myIowrite32(0x0, pReg + DMAQNUM0/4);
/* Set the interrupt enable for 1st Channel (IER). */
myIowrite32(0x1, pReg + IESR/4);
@@ -730,14 +745,14 @@ void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fla
} else {
break;
}
- }
+ }
/* Clear any pending interrupt. */
myIowrite32(1, pReg + ICR/4);
/* Restore pointer */
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
- iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
}
/* ============================================================================
@@ -757,13 +772,13 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
/* Move data between GPP and DSP, need to program PCIE OB registers */
- if (flag) {
+ if (flag) {
iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */
if (size <= PCIE_ADLEN_1MB) {
pageBase = srcAddr & PCIE_1MB_BITMASK;
iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4);
- iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
}
else {
for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) {
@@ -775,13 +790,13 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl
}
/* Temporarily re-map IB region 3 from DDR memory to EDMA registers */
- iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+ iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */
while (true) {
/* Use TC0 for DBS = 128 bytes */
- myIowrite32(0x0, pReg + DMAQNUM0/4);
+ myIowrite32(0x0, pReg + DMAQNUM0/4);
/* Set the interrupt enable for 1st Channel (IER). */
myIowrite32(0x1, pReg + IESR/4);
@@ -846,14 +861,14 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl
} else {
break;
}
- }
+ }
/* Clear any pending interrupt. */
myIowrite32(1, pReg + ICR/4);
/* Restore pointer */
pReg = (uint32_t *)regVirt; //Point to PCIE application registers
- iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
}
/** ============================================================================
@@ -864,7 +879,7 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl
* @modif None.
* ============================================================================
*/
-static irqreturn_t ISR_handler(int irq, void *arg)
+static irqreturn_t ISR_handler(int irq, void *arg)
{
uint32_t i, dma_failure_flag = 0, counter = 0;
uint32_t status = HAL_CheckPciInterrupt();
}
}
- if (dma_failure_flag)
+ if (dma_failure_flag)
printk("DMA test failed with %d locations !\n", counter);
- else
+ else
printk("DMA test passed!\n");
HAL_PciClearDspInterrupt();
}
/* ============================================================================
- * @func byteto32bits
+ * @func byteto32bits
*
* @desc Convert 4 bytes to 32 bits long word
*
/* ============================================================================
* @func swap4bytes
*
- * @desc Endian swap: 0xA0B1C2D3 to 0xD3C2B1A0
+ * @desc Endian swap: 0xA0B1C2D3 to 0xD3C2B1A0
*
* @modif None.
* ============================================================================
/* ============================================================================
* @func writeDSPMemory
*
- * @desc Write a block of data into DSP memory from Linux host.
- * Note the data buffer is in 32-bit format, unit of length is byte.
+ * @desc Write a block of data into DSP memory from Linux host.
+ * Note the data buffer is in 32-bit format, unit of length is byte.
* coreNum: to write data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR.
*
* @modif None.
* ============================================================================
*/
-uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
+uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
{
uint32_t i, offset, tempReg = 0;
uint32_t *ptr;
@@ -965,7 +980,7 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
case 4:
case 5:
case 6:
- case 7:
+ case 7:
#endif
#if EVMC6670L
case 0:
@@ -976,6 +991,16 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
#if EVMC6657L
case 0:
case 1:
+#endif
+#if EVMK2K
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
#endif
DSPMemAddr &= 0x00FFFFFF;
tempReg = ioread32(ptrReg + IB_OFFSET(1)/4);
@@ -983,7 +1008,7 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
if (DSPMemAddr < LL2_START) {
return 0;
- } else {
+ } else {
offset = DSPMemAddr - LL2_START;
ptr = (uint32_t *)memVirt + offset/4;
}
@@ -994,28 +1019,28 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
} else {
offset = DSPMemAddr - MSMC_START;
ptr = (uint32_t *)msmcVirt + offset/4;
- }
- break;
+ }
+ break;
case 9: /* this is for DDR */
if (DSPMemAddr < DDR_START) {
return 0;
- } else {
+ } else {
offset = DSPMemAddr - DDR_START;
ptr = (uint32_t *)ddrVirt + offset/4;
}
- break;
+ break;
default:
- printk("Use coreNum 0-7 for core 0-7 of EVMC6678L, or coreNum 0-3 for core 0-3 of EVMC6670L; coreNum 8 for MSMC and coreNum 9 for DDR.\n");
+ printk("Use coreNum 0-7 for core 0-7 of EVMC6678L/EVMK2K, or coreNum 0-3 for core 0-3 of EVMC6670L; coreNum 8 for MSMC and coreNum 9 for DDR.\n");
return 0;
break;
- }
+ }
for (i = 0; i < length/4; i++) {
#if BIG_ENDIAN
swap4bytes(&buffer[i], 4);
#endif
*ptr = buffer[i];
- ptr++;
+ ptr++;
}
if ((coreNum >= 0)&&(coreNum <= 7)) {
@@ -1028,21 +1053,21 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
/* ============================================================================
* @func readDSPMemory
*
- * @desc Read a block of DSP memory by Linux host.
- * Note the data buffer is in 32-bit format, unit of length is byte.
+ * @desc Read a block of DSP memory by Linux host.
+ * Note the data buffer is in 32-bit format, unit of length is byte.
* coreNum: to read data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR.
*
* @modif None.
* ============================================================================
*/
-uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
+uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
{
uint32_t i, offset, tempReg = 0;
uint32_t *ptr;
if (length == 0) {
return 0;
- }
+ }
switch (coreNum) {
#if EVMC6678L
@@ -1053,7 +1078,7 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
case 4:
case 5:
case 6:
- case 7:
+ case 7:
#endif
#if EVMC6670L
case 0:
@@ -1064,13 +1089,23 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
#if EVMC6657L
case 0:
case 1:
+#endif
+#if EVMK2K
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
#endif
DSPMemAddr &= 0x00FFFFFF;
tempReg = ioread32(ptrReg + IB_OFFSET(1)/4);
iowrite32(tempReg + coreNum*0x1000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */
if (DSPMemAddr < LL2_START) {
return 0;
- } else {
+ } else {
offset = DSPMemAddr - LL2_START;
ptr = (uint32_t *)memVirt + offset/4;
}
@@ -1078,24 +1113,24 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer,
case 8: /* this is for MSMC */
if (DSPMemAddr < MSMC_START) {
return 0;
- } else {
+ } else {
offset = DSPMemAddr - MSMC_START;
ptr = (uint32_t *)msmcVirt + offset/4;
}
- break;
+ break;
case 9: /* this is for DDR */
if (DSPMemAddr < DDR_START) {
return 0;
- } else {
+ } else {
offset = DSPMemAddr - DDR_START;
ptr = (uint32_t *)ddrVirt + offset/4;
}
- break;
+ break;
default:
- printk("Use coreNum 0-7 for core 0-7 of EVMC6678L, or coreNum 0-3 for core 0-3 of EVMC6670L; coreNum 8 for MSMC and coreNum 9 for DDR.\n");
+ printk("Use coreNum 0-7 for core 0-7 of EVMC6678L/EVMK2K, or coreNum 0-3 for core 0-3 of EVMC6670L; coreNum 8 for MSMC and coreNum 9 for DDR.\n");
return 0;
break;
- }
+ }
for (i = 0; i < length/4; i++) {
buffer[i] = *ptr;
pDspCode += 4;
}
/* Transfer boot tables to DSP */
- writeDSPMemory(newCoreNum, startAddr, tempArray, BLOCK_TRANSFER_SIZE);
+ writeDSPMemory(newCoreNum, startAddr, tempArray, BLOCK_TRANSFER_SIZE);
startAddr += BLOCK_TRANSFER_SIZE;
}
tempArray[j] = byteTo32bits(pDspCode);
pDspCode += 4;
}
- writeDSPMemory(newCoreNum, startAddr, tempArray, remainder);
+ writeDSPMemory(newCoreNum, startAddr, tempArray, remainder);
// printk("Section %d started at 0x%8x with size 0x%8x bytes written to core %d\n", section, startAddr, size, newCoreNum);
}
printk("Total %d sections, 0x%x bytes of data were written\n", section, totalSize);
* @modif None.
* ============================================================================
*/
-void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state)
+void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state)
{
uint32_t *pReg, temp, counter = 0;
/* Point to PCIE application registers */
- pReg = (uint32_t *)regVirt;
+ pReg = (uint32_t *)regVirt;
/* Set MST_PRIV bit to access PSC via PCIE */
- iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
+ iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
/* Temporarily re-map IB region 3 from DDR memory to PSC registers */
- iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+ iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
/* Now it points to the start of PSC_BASE_ADDRESS */
- pReg = (uint32_t*)ddrVirt;
+ pReg = (uint32_t*)ddrVirt;
temp = myIoread32(pReg + MDCTL(mid)/4);
if (state == 0) {
}
}
- myIowrite32((1 << pid), pReg + PTCMD/4);
+ myIowrite32((1 << pid), pReg + PTCMD/4);
/* Current transition finished */
counter = 0;
/* Restore pointer */
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
- iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
}
/* ============================================================================
uint32_t *pReg, mdctl, pdctl, temp, counter = 0;
/* Point to PCIE application registers */
- pReg = (uint32_t *)regVirt;
+ pReg = (uint32_t *)regVirt;
/* Set MST_PRIV bit to access PSC via PCIE */
- iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
+ iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
/* Temporarily re-map IB region 3 from DDR memory to PSC registers */
- iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+ iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
/* Now it points to the start of PSC_BASE_ADDRESS */
- pReg = (uint32_t*)ddrVirt;
+ pReg = (uint32_t*)ddrVirt;
mdctl = myIoread32(pReg + MDCTL(mid)/4);
pdctl = myIoread32(pReg + PDCTL(pid)/4);
/* Restore pointer */
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
- iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
}
/* ============================================================================
* @modif None.
* ============================================================================
*/
-uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr)
+uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr)
{
uint32_t *pReg;
/* Point to PCIE application registers */
- pReg = (uint32_t *)regVirt;
+ pReg = (uint32_t *)regVirt;
/* Set MST_PRIV bit to access PSC via PCIE */
- iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
+ iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4);
/* Temporarily re-map IB region 3 from DDR memory to chip level registers */
- iowrite32(CHIP_LEVEL_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+ iowrite32(CHIP_LEVEL_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
/* Now it points to the start of CHIP_LEVEL_BASE_ADDRESS */
- pReg = (uint32_t*)ddrVirt;
+ pReg = (uint32_t*)ddrVirt;
/* Unlock KICK0, KICK1 */
- myIowrite32(KICK0_UNLOCK, pReg + KICK0/4);
+ myIowrite32(KICK0_UNLOCK, pReg + KICK0/4);
myIowrite32(KICK1_UNLOCK, pReg + KICK1/4);
/* Check if the last 10 bits of addr is 0 */
}
myIowrite32(addr, pReg + DSP_BOOT_ADDR(core)/4);
- myIowrite32(1, pReg + IPCGR(core)/4);
+ myIowrite32(1, pReg + IPCGR(core)/4);
- mdelay(1);
+ mdelay(1);
/* Restore pointer */
pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
- iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
return 1;
}
* @modif None.
* ============================================================================
*/
-void dspLocalReset(void)
+void dspLocalReset(void)
{
uint32_t i, bootEntryAddr = 0;
setPscState(PD12, LPSC_VCP2B, PSC_ENABLE);
setPscState(PD12, LPSC_VCP2C, PSC_ENABLE);
setPscState(PD12, LPSC_VCP2D, PSC_ENABLE);
- setPscState(PD17, LPSC_TCP3dB, PSC_ENABLE);
+ setPscState(PD17, LPSC_TCP3dB, PSC_ENABLE);
/* Local out of reset of all cores */
coreLocalReset(PD13, LPSC_C0_TIM0, LOC_RST_DEASSERT);
#endif
}
-#endif
+#endif
/* ============================================================================
* @func init_module
*
- * @desc Initialize a loadable module
+ * @desc Initialize a loadable module
*
* @modif None.
* ============================================================================
*/
int init_module(void)
{
- uint32_t i;
+ uint32_t i;
uint32_t bootEntryAddr = 0; /* Store 32-bit boot entry address read from .h file */
#if HELLO_WORLD_DEMO | EDMA_INTC_DEMO
uint32_t buffer[BLOCK_TRANSFER_SIZE/4]; /* Store 32-bit DSP memory readback data */
-#endif
+#endif
#if EDMA_INTC_DEMO
uint32_t diff;
/* Configure IB_BAR0 to BAR0 for PCIE registers; Configure IB_BAR1 to BAR1 for LL2 for core 0
Configure IB_BAR2 to BAR2 for MSMC; Configure IB_BAR3 to BAR3 for DDR */
for (i = 0; i < 4; i++) {
- iowrite32(i, ptrReg + IB_BAR(i)/4);
- iowrite32(PCIE_DEV->resource[i].start, ptrReg + IB_START_LO(i)/4);
+ iowrite32(i, ptrReg + IB_BAR(i)/4);
+ iowrite32(PCIE_DEV->resource[i].start, ptrReg + IB_START_LO(i)/4);
iowrite32(0, ptrReg + IB_START_HI(i)/4);
- }
- iowrite32(PCIE_BASE_ADDRESS, ptrReg + IB_OFFSET(0)/4);
- iowrite32(LL2_START + (1 << 28), ptrReg + IB_OFFSET(1)/4);
- iowrite32(MSMC_START, ptrReg + IB_OFFSET(2)/4);
- iowrite32(DDR_START, ptrReg + IB_OFFSET(3)/4);
+ }
+ iowrite32(PCIE_BASE_ADDRESS, ptrReg + IB_OFFSET(0)/4);
+ iowrite32(LL2_START + (1 << 28), ptrReg + IB_OFFSET(1)/4);
+ iowrite32(MSMC_START, ptrReg + IB_OFFSET(2)/4);
+ iowrite32(DDR_START, ptrReg + IB_OFFSET(3)/4);
printk("Registering the irq %d ...\n", irqNo);
request_irq(irqNo, ISR_handler, IRQF_SHARED, "TI 667x PCIE", &dummy);
pushData(ddrInitCode, 0, &bootEntryAddr);
/* Write boot entry address into MAGIC_ADDR */
- writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
while (1) {
readDSPMemory(0, MAGIC_ADDR, buffer, 4);
if (buffer[0] == 0) break;
for (i = 0; i < 1000; i++) i++;
- }
+ }
/* Load "Hello World" demo into DSP */
pushData(bootCode, 9, &bootEntryAddr);
pushData(post, 0, &bootEntryAddr);
/* Write boot entry address into MAGIC_ADDR */
- writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
#endif
#if EDMA_INTC_DEMO
- printk("Allocating consistent memory ...\n");
+ printk("Allocating consistent memory ...\n");
wDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &wData, GFP_KERNEL);
rDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &rData, GFP_KERNEL);
pushData(pcieInterrupt, 0, &bootEntryAddr);
/* Write boot entry address into MAGIC_ADDR */
- writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
while (1) {
readDSPMemory(0, MAGIC_ADDR, buffer, 4);
if (buffer[0] == 0) break;
for (i = 0; i < 1000; i++) i++;
- }
+ }
/* Wait 2 second for DDR init */
mdelay(2000);
printk ("Write DMA to DSP ...\n");
do_gettimeofday(&test_time1);
- HAL_writeDMA (wData, DDR_START, DMA_TRANSFER_SIZE, 1); /* Move from GPP to DSP */
+ HAL_writeDMA (wData, DDR_START, DMA_TRANSFER_SIZE, 1); /* Move from GPP to DSP */
do_gettimeofday(&test_time2);
- /* Note: From PCIE specification, legacy interrupts cannot be generated from RC and be passed downstream.
- The example below is just making use of the facility that RC can access EP side register to generate
- a generic interrupt on local (EP) side using one of the event inputs of Interrupt Controller (INTC).
+ /* Note: From PCIE specification, legacy interrupts cannot be generated from RC and be passed downstream.
+ The example below is just making use of the facility that RC can access EP side register to generate
+ a generic interrupt on local (EP) side using one of the event inputs of Interrupt Controller (INTC).
There is no real interrupt signal sent over the PCIe link */
printk ("Generating interrupt to DSP ...\n");
- iowrite32(1, ptrReg + LEGACY_A_IRQ_STATUS_RAW/4);
+ iowrite32(1, ptrReg + LEGACY_A_IRQ_STATUS_RAW/4);
/* Waiting DSP ISR handler to process the interrupt from DSP and then generates an interrupt to host
- Waiting for host ISR handler to process the interrupt from DSP before program exits */
+ Waiting for host ISR handler to process the interrupt from DSP before program exits */
mdelay(1000);
/* For demo how to move inside DSP purpose only, you can directly move between GPP and DSP using flag = 1 */
- // HAL_writeDMA (0x80000000, 0x11800000, 0x10000, 0);
+ // HAL_writeDMA (0x80000000, 0x11800000, 0x10000, 0);
// HAL_writeDMA (0x11800000, 0x0C000000, 0x10000, 0);
diff = (test_time2.tv_sec - test_time1.tv_sec)*1000000 + (test_time2.tv_usec - test_time1.tv_usec);
- printk("DMA write throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
+ printk("DMA write throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff);
diff = (test_time4.tv_sec - test_time3.tv_sec)*1000000 + (test_time4.tv_usec - test_time3.tv_usec);
- printk("DMA read throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
+ printk("DMA read throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff);
printk("Freeing consistent memory ...\n");
/* ============================================================================
* @func cleanup_module
*
- * @desc Unregister a loadable module
+ * @desc Unregister a loadable module
*
* @modif None.
* ============================================================================
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.ccsproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.cproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">\r
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+ <macros>\r
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>\r
+ </macros>\r
+ <externalSettings/>\r
+ <extensions>\r
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ </extensions>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_ddrinit_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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">\r
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.2122194378" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.952386949">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1504254705" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>\r
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/>\r
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1991531900" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.4" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1661580358" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.420817567" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.738274492" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1440853402" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1442537590" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.2117837587" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="DEVICE_K2K"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.1201381723" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.365759737" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.823627491" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="225"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1818422409" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1897801103" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1688609397" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1254403979" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1472696418" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>\r
+ </tool>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.952386949" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1888679506" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evmk2k.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.590725144" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evmk2k.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.52683311" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">\r
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>\r
+ <listOptionValue builtIn="false" value=""libc.a""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.488051956" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>\r
+ </option>\r
+ </tool>\r
+ </toolChain>\r
+ </folderInfo>\r
+ </configuration>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+ </cconfiguration>\r
+ </storageModule>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <project id="pcieboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+ <project-mappings>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ </project-mappings>\r
+ </storageModule>\r
+ <storageModule moduleId="refreshScope"/>\r
+ <storageModule moduleId="scannerConfiguration"/>\r
+</cproject>\r
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.project b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pcieboot_ddrinit_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_ddrinit/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_PCIEBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/header.txt b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ *
+ */
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit.rmd b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x800000, length = 0x80000, memwidth = 32, romwidth = 32
+ files = { pcieboot_ddrinit.btbl }
+}
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,25 @@
+set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4"
+set TARGET=k2k
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L pcieboot_ddrinit.rmd pcieboot_ddrinit_evm%TARGET%.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M pcieboot_ddrinit.rmd pcieboot_ddrinit_evm%TARGET%.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_ddrinit.btbl pcieboot_ddrinit.h pcieboot_ddrinit.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
+
+move pcieDdrInit.h ..\..\..\linux_host_loader\pcieDdrInit_%TARGET%.h
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,20 @@
+export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4
+export TARGET=k2k
+export ENDIAN=little
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L pcieboot_ddrinit.rmd pcieboot_ddrinit_evm${TARGET}.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M pcieboot_ddrinit.rmd pcieboot_ddrinit_evm${TARGET}.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_ddrinit.btbl pcieboot_ddrinit.h pcieboot_ddrinit.bin
+
+../../../../../../hfile2array/hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
+
+mv pcieDdrInit.h ../../../linux_host_loader/pcieDdrInit_${TARGET}.h
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/macros.ini b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/pcieboot_ddrinit.cmd b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/pcieboot_ddrinit.cmd
--- /dev/null
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * 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 0x1000
+-stack 0x1000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ L2_LOCAL (RWX) : org = 0x10820000, len = 0x20000
+}
+
+SECTIONS
+{
+ .text:_boot_entry > L2_LOCAL
+ .csl_vect > L2_LOCAL
+ .cppi > L2_LOCAL
+ .linkram > L2_LOCAL
+ .mac_buffer > L2_LOCAL
+ platform_lib > L2_LOCAL
+ .text > L2_LOCAL
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2_LOCAL
+ .stack > L2_LOCAL
+ .cinit > L2_LOCAL
+ .cio > L2_LOCAL
+ .const > L2_LOCAL
+ .data > L2_LOCAL
+ .switch > L2_LOCAL
+ .sysmem > L2_LOCAL
+ .far > L2_LOCAL
+ .testMem > L2_LOCAL
+ .fardata > L2_LOCAL
+}
+
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c b/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c
/******************************************************************************
- * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ * Copyright (c) 2011-2012 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
#define MAGIC_ADDR 0x8ffffc
#endif
+#ifdef DEVICE_K2K
+#define MAGIC_ADDR 0x8ffffc
+#endif
+
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
/* OSAL functions for Platform Library */
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.ccsproject b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.3.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.cproject b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">\r
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+ <macros>\r
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>\r
+ </macros>\r
+ <externalSettings/>\r
+ <extensions>\r
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ </extensions>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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">\r
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1977224264" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.657309508">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1844946064" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>\r
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/>\r
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1595656634" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.4" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1567410726" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.761916547" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.626222130" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.438749113" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1400972149" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1289819785" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="DEVICE_K2K"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.1640636551" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.365847612" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.966287174" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="225"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1348244247" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.2143117331" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1728343357" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1130521983" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.897565814" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>\r
+ </tool>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.657309508" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.2036513032" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evmk2k.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.497570101" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evmk2k.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1841501414" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">\r
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>\r
+ <listOptionValue builtIn="false" value=""libc.a""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.652110169" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>\r
+ </option>\r
+ </tool>\r
+ </toolChain>\r
+ </folderInfo>\r
+ </configuration>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+ </cconfiguration>\r
+ </storageModule>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <project id="pcieboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+ <project-mappings>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ </project-mappings>\r
+ </storageModule>\r
+ <storageModule moduleId="refreshScope"/>\r
+ <storageModule moduleId="scannerConfiguration"/>\r
+</cproject>\r
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.project b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pcieboot_helloworld_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_helloworld/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_PCIEBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/header.txt b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ *
+ */
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,27 @@
+set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4"
+set TOOL_DIR="..\..\..\..\..\..\"
+set TARGET=k2k
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L helloworld_image.rmd pcieboot_helloworld_evm%TARGET%.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M helloworld_image.rmd pcieboot_helloworld_evm%TARGET%.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_helloworld.btbl pcieboot_helloworld.h pcieboot_helloworld.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
+
+move pcieBootCode.h ..\..\..\linux_host_loader\pcieBootCode_%TARGET%.h
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,23 @@
+export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4
+export TOOL_DIR="../../../../../../"
+export TARGET=k2k
+export ENDIAN=little
+export PATH=${PATH};${SystemRoot}/system32;${SystemRoot};
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L helloworld_image.rmd pcieboot_helloworld_evm${TARGET}.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M helloworld_image.rmd pcieboot_helloworld_evm${TARGET}.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_helloworld.btbl pcieboot_helloworld.h pcieboot_helloworld.bin
+
+../../../../../../hfile2array/hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
+
+mv pcieBootCode.h ../../../linux_host_loader/pcieBootCode_${TARGET}.h
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_image.rmd b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_image.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x80000000, length = 0x200000, memwidth = 32, romwidth = 32
+ files = { pcieboot_helloworld.btbl }
+}
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/macros.ini b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/pcieboot_helloworld.cmd b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/pcieboot_helloworld.cmd
--- /dev/null
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * 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 0x2000
+-stack 0x2000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ DDR (RWX) : org = 0x80000000, len = 0x20000000
+ LL2 (RWX) : org = 0x00800000, len = 0x00010000
+}
+
+SECTIONS
+{
+ .text > DDR
+ platform_lib > DDR
+ .const > DDR
+ .neardata > LL2
+ .fardata > DDR
+ .switch > DDR
+ .cinit > DDR
+ .stack > LL2
+ .sysmem > LL2
+ .bss > LL2
+ .far > LL2
+ .cio > LL2
+}
+
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c b/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c
/******************************************************************************
-* Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+* Copyright (c) 2011-2012 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
#define MAGIC_ADDR 0x8ffffc
#endif
+#ifdef DEVICE_K2K
+#define MAGIC_ADDR 0x8ffffc
+#endif
+
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
#define IPCGR(x) (0x02620240 + x*4)
#define BOOT_UART_BAUDRATE 115200
/* pcieboot_helloworld version */
-char version[] = "01.00.00.00";
+char version[] = "01.00.00.01";
extern cregister volatile unsigned int DNUM;
extern far uint32_t _c_int00;
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/header.txt b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ *
+ */
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,25 @@
+set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4"
+set TOOL_DIR="..\..\..\..\..\..\"
+set TARGET=k2k
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR%
+
+copy ..\..\..\..\..\..\post\evm%TARGET%\bin\post_evm%TARGET%.out
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L post.rmd post_evm%TARGET%.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M post.rmd post_evm%TARGET%.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
+..\..\..\..\..\..\hfile2array\hfile2array pcieboot_post.h post.h post
+move post.h ..\..\..\linux_host_loader\post_%TARGET%.h
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,22 @@
+export C6000_CG_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4
+export TOOL_DIR="../../../../../../"
+export TARGET=k2k
+export ENDIAN=little
+
+echo C6000_CG_DIR set as: ${C6000_CG_DIR}
+echo TARGET set as: ${TARGET}
+echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
+
+cp ../../../../../../post/evm${TARGET}/bin/post_evm${TARGET}.out .
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${C6000_CG_DIR}/bin/hex6x -order L post.rmd post_evm${TARGET}.out
+else
+${C6000_CG_DIR}/bin/hex6x -order M post.rmd post_evm${TARGET}.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
+../../../../../../hfile2array/hfile2array pcieboot_post.h post.h post
+mv post.h ../../../linux_host_loader/post_${TARGET}.h
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/post.rmd b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/post.rmd
--- /dev/null
@@ -0,0 +1,12 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x00800000, length = 0x80000, memwidth = 32, romwidth = 32
+ files = { pcieboot_post.btbl }
+}
+
+
+
\ No newline at end of file
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.ccsproject b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">\r
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+ <macros>\r
+ <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>\r
+ </macros>\r
+ <externalSettings/>\r
+ <extensions>\r
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ </extensions>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <configuration artifactExtension="out" artifactName="../bin/srioboot_ddrinit_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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">\r
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.572000825" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.212511179">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1839694787" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>\r
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srioboot_helloworld.cmd"/>\r
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.535177381" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1271077405" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.2064823518" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.594167370" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.930945676" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1702639476" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1156247787" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.650561781" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.2141998481" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="DEVICE_K2K"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1321994979" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.666779086" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="225"/>\r
+ </option>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.635408958" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.367508896" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.845974744" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1476307812" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>\r
+ </tool>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.212511179" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.603827537" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/srioboot_ddrinit_evmk2k.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.1457541951" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/srioboot_ddrinit_evmk2k.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.848353560" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">\r
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>\r
+ <listOptionValue builtIn="false" value=""libc.a""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1733513702" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>\r
+ </option>\r
+ </tool>\r
+ </toolChain>\r
+ </folderInfo>\r
+ </configuration>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+ </cconfiguration>\r
+ </storageModule>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <project id="srioboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+ <project-mappings>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ </project-mappings>\r
+ </storageModule>\r
+ <storageModule moduleId="scannerConfiguration"/>\r
+ <storageModule moduleId="refreshScope"/>\r
+</cproject>\r
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.project b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>srioboot_ddrinit_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_ddrinit/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_SRIOBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/header.txt b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ *
+ */
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit.rmd b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x800000, length = 0x80000, memwidth = 32, romwidth = 32
+ files = { srioboot_ddrinit.btbl }
+}
+
+
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.bat b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,25 @@
+set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4"
+set TARGET=k2k
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L srioboot_ddrinit.rmd srioboot_ddrinit_evm%TARGET%.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M srioboot_ddrinit.rmd srioboot_ddrinit_evm%TARGET%.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile srioboot_ddrinit.btbl srioboot_ddrinit.h srioboot_ddrinit.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array srioboot_ddrinit.h srioDdrInit.h ddrInitCode
+
+move srioDdrInit.h ..\..\..\srioboot_example\src\
+
+
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.sh b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,20 @@
+export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4
+export TARGET=k2k
+export ENDIAN=little
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L srioboot_ddrinit.rmd srioboot_ddrinit_evm${TARGET}.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M srioboot_ddrinit.rmd srioboot_ddrinit_evm${TARGET}.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile srioboot_ddrinit.btbl srioboot_ddrinit.h srioboot_ddrinit.bin
+
+../../../../../../hfile2array/hfile2array srioboot_ddrinit.h srioDdrInit.h ddrInitCode
+
+mv srioDdrInit.h ../../../srioboot_example/src/
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/macros.ini b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_SRIOBOOT_DIR="../../../../
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/srioboot_helloworld.cmd b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/srioboot_helloworld.cmd
--- /dev/null
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * 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 0x1000
+-stack 0x1000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ L2_LOCAL (RWX) : org = 0x10800000, len = 0x80000
+}
+
+SECTIONS
+{
+ .text:_boot_entry > L2_LOCAL
+ .csl_vect > L2_LOCAL
+ .cppi > L2_LOCAL
+ .linkram > L2_LOCAL
+ .mac_buffer > L2_LOCAL
+ platform_lib > L2_LOCAL
+ .text > L2_LOCAL
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2_LOCAL
+ .stack > L2_LOCAL
+ .cinit > L2_LOCAL
+ .cio > L2_LOCAL
+ .const > L2_LOCAL
+ .data > L2_LOCAL
+ .switch > L2_LOCAL
+ .sysmem > L2_LOCAL
+ .far > L2_LOCAL
+ .testMem > L2_LOCAL
+ .fardata > L2_LOCAL
+}
+
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c b/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c
/******************************************************************************
- * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ * Copyright (c) 2011-2012 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
#define MAGIC_ADDR 0x8ffffc
#endif
+#ifdef DEVICE_K2K
+#define MAGIC_ADDR 0x8ffffc
+#endif
+
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
/* OSAL functions for Platform Library */
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/.ccsproject b/boot_loader/examples/srio/srioboot_example/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_example/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">\r
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+ <macros>\r
+ <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>\r
+ </macros>\r
+ <externalSettings/>\r
+ <extensions>\r
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ </extensions>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <configuration artifactExtension="out" artifactName="../bin/srioboot_example_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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">\r
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1083019475" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1472589025">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.647357048" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>\r
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srio_boot_example.cmd"/>\r
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.427770795" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.449966648" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1146868069" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1402410466" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.861226134" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1240848356" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1653074632" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.841838888" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.950929546" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="DEVICE_K2K"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.2064549358" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1285895522" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="225"/>\r
+ </option>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1501001896" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.321656576" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1338637277" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.203415325" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>\r
+ </tool>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1472589025" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.63018553" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/srioboot_example_evmk2k.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.1104868024" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/srioboot_example_evmk2k.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1825674535" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">\r
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>\r
+ <listOptionValue builtIn="false" value=""libc.a""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1336430498" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>\r
+ </option>\r
+ </tool>\r
+ </toolChain>\r
+ </folderInfo>\r
+ </configuration>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+ </cconfiguration>\r
+ </storageModule>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <project id="srioboot_example.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+ <project-mappings>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ </project-mappings>\r
+ </storageModule>\r
+ <storageModule moduleId="refreshScope"/>\r
+ <storageModule moduleId="scannerConfiguration"/>\r
+</cproject>\r
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/.project b/boot_loader/examples/srio/srioboot_example/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>srioboot_example_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_example/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_SRIOBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/macros.ini b/boot_loader/examples/srio/srioboot_example/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_SRIOBOOT_DIR="../../../../
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/srio_boot_example.cmd b/boot_loader/examples/srio/srioboot_example/evmk2k/srio_boot_example.cmd
--- /dev/null
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * 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 0x2000
+-stack 0x2000
+
+MEMORY
+{
+ L2 : origin = 0x800000, length = 0x80000
+
+}
+
+SECTIONS
+{
+ .csl_vect > L2
+ .cppi > L2
+ .linkram > L2
+ .mac_buffer > L2
+ platform_lib > L2
+ .text > L2
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > L2
+ .stack > L2
+ .cinit > L2
+ .cio > L2
+ .const > L2
+ .data > L2
+ .switch > L2
+ .sysmem > L2
+ .far > L2
+ .testMem > L2
+ .fardata > L2
+}
+
+
+
+
diff --git a/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c b/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c
/******************************************************************************
- * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ * Copyright (c) 2011-2012 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
#define MAGIC_ADDR 0x8ffffc
#endif
+#ifdef DEVICE_K2K
+#define MAGIC_ADDR 0x8ffffc
+#endif
+
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
/* Entry address of the boot image */
#define WAIT_TIMEOUT 500000
/* SRIO Boot Example Version */
-char version[] = "01.00.00.01";
+char version[] = "01.00.00.02";
uint32_t coreNum;
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.ccsproject b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.ccsproject
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+<deviceFamily value="C6000"/>
+</projectOptions>
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.cproject
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">\r
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+ <macros>\r
+ <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>\r
+ </macros>\r
+ <externalSettings/>\r
+ <extensions>\r
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+ </extensions>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <configuration artifactExtension="out" artifactName="../bin/srioboot_helloworld_evmk2k" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="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">\r
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">\r
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1760176467" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1414900439">\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1697507976" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>\r
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>\r
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srioboot_helloworld.cmd"/>\r
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/>\r
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1183386916" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.0" valueType="string"/>\r
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1725890663" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>\r
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.464681303" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.2058720910" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1867494861" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.839379438" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.878546138" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.546391541" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.482785073" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">\r
+ <listOptionValue builtIn="false" value="DEVICE_K2K"/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1293433341" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1301311653" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+ <listOptionValue builtIn="false" value="225"/>\r
+ </option>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1507125806" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1445722737" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1361075939" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>\r
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.546809350" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>\r
+ </tool>\r
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1414900439" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.789341155" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/srioboot_helloworld_evmk2k.out"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.231047241" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/srioboot_helloworld_evmk2k.map"" valueType="string"/>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.38491912" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">\r
+ <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/>\r
+ <listOptionValue builtIn="false" value=""libc.a""/>\r
+ </option>\r
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.278887281" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>\r
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>\r
+ <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/>\r
+ </option>\r
+ </tool>\r
+ </toolChain>\r
+ </folderInfo>\r
+ </configuration>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+ </cconfiguration>\r
+ </storageModule>\r
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+ <project id="srioboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>\r
+ </storageModule>\r
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+ <project-mappings>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+ </project-mappings>\r
+ </storageModule>\r
+ <storageModule moduleId="refreshScope"/>\r
+ <storageModule moduleId="scannerConfiguration"/>\r
+</cproject>\r
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.project b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>srioboot_helloworld_evmk2k</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_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${BuildDirectory}</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>false</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>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.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.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_helloworld/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_SRIOBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/header.txt b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ *
+ */
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,27 @@
+set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4"
+set TOOL_DIR="..\..\..\..\..\..\"
+set TARGET=k2k
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L helloworld_image.rmd srioboot_helloworld_evm%TARGET%.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M helloworld_image.rmd srioboot_helloworld_evm%TARGET%.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile srioboot_helloworld.btbl srioboot_helloworld.h srioboot_helloworld.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array srioboot_helloworld.h srioBootCode.h bootCode
+
+move srioBootCode.h ..\..\..\srioboot_example\src\
+
+
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,22 @@
+export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4
+export TOOL_DIR="../../../../../../"
+export TARGET=k2k
+export ENDIAN=little
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L helloworld_image.rmd srioboot_helloworld_evm${TARGET}.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M helloworld_image.rmd srioboot_helloworld_evm${TARGET}.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile srioboot_helloworld.btbl srioboot_helloworld.h srioboot_helloworld.bin
+
+../../../../../../hfile2array/hfile2array srioboot_helloworld.h srioBootCode.h bootCode
+
+mv srioBootCode.h ../../../srioboot_example/src/
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_image.rmd b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_image.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0xc000000, length = 0x20000, memwidth = 32, romwidth = 32
+ files = { srioboot_helloworld.btbl }
+}
+
+
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/macros.ini b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/macros.ini
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_SRIOBOOT_DIR="../../../../
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/srioboot_helloworld.cmd b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/srioboot_helloworld.cmd
--- /dev/null
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * 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 0x2000
+-stack 0x2000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ DDR (RWX) : org = 0x80000000, len = 0x20000000
+}
+
+SECTIONS
+{
+ .text:_boot_entry > DDR
+ .csl_vect > DDR
+ .cppi > DDR
+ .linkram > DDR
+ .mac_buffer > DDR
+ platform_lib > DDR
+ .text > DDR
+ GROUP (NEAR_DP)
+ {
+ .neardata
+ .rodata
+ .bss
+ } load > DDR
+ .stack > DDR
+ .cinit > DDR
+ .cio > DDR
+ .const > DDR
+ .data > DDR
+ .switch > DDR
+ .sysmem > DDR
+ .far > DDR
+ .testMem > DDR
+ .fardata > DDR
+}
+
diff --git a/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c b/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c
/******************************************************************************
- * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ * Copyright (c) 2011-2012 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
#define MAGIC_ADDR 0x8ffffc
#endif
+#ifdef DEVICE_K2K
+#define MAGIC_ADDR 0x8ffffc
+#endif
+
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
#define IPCGR(x) (0x02620240 + x*4)
#define BOOT_UART_BAUDRATE 115200
/* srioboot_helloworld version */
-char version[] = "01.00.00.01";
+char version[] = "01.00.00.02";
/* OSAL functions for Platform Library */
uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment)
{
sprintf(boot_msg, "\r\n\r\nBooting Hello World image on Core %d from Core 0 ...", core);
write_uart(boot_msg);
-
+
DEVICE_REG32_W(BOOT_MAGIC_ADDR(core), (uint32_t)write_boot_magic_number);
/* Delay 1 sec */