diff options
author | Hao Zhang | 2012-11-19 15:43:09 -0600 |
---|---|---|
committer | Hao Zhang | 2012-11-19 15:43:09 -0600 |
commit | a877c89c6eb7a7a9da579bf0d133960ad4923ae8 (patch) | |
tree | 05680acd4bc45bf020eafe7bcf3efc5d55904baf | |
parent | bfc4cd389a50c02d780523172cd1d6ee22173338 (diff) | |
download | mcsdk-tools-a877c89c6eb7a7a9da579bf0d133960ad4923ae8.tar.gz mcsdk-tools-a877c89c6eb7a7a9da579bf0d133960ad4923ae8.tar.xz mcsdk-tools-a877c89c6eb7a7a9da579bf0d133960ad4923ae8.zip |
MCSDK 3.0: add boot examples to support evmk2k device
71 files changed, 2929 insertions, 161 deletions
diff --git a/boot_loader/examples/ethernet/docs/README.txt b/boot_loader/examples/ethernet/docs/README.txt index d9a6142..d55c7a4 100755 --- a/boot_loader/examples/ethernet/docs/README.txt +++ b/boot_loader/examples/ethernet/docs/README.txt | |||
@@ -39,9 +39,8 @@ Steps to send the simple.eth from the Host to the target DSP | |||
39 | SW5(pin1, pin2, pin3, pin4): on, off, on, off | 39 | SW5(pin1, pin2, pin3, pin4): on, off, on, off |
40 | SW6(pin1, pin2, pin3, pin4): off, off, on, on | 40 | SW6(pin1, pin2, pin3, pin4): off, off, on, on |
41 | 41 | ||
42 | The DIP switch setting for C6657 EVM is: | 42 | The DIP switch setting for TCI6634K2K EVM is: |
43 | SW3(pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8): off, on, off, on, on, on, on, off | 43 | TBD |
44 | SW5(pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8): on, off, on, off, off, on, on, on | ||
45 | 44 | ||
46 | 2. Once the DSP boots up, it transmits BOOTP packet at regular interval which will have the MAC ID of the DSP. | 45 | 2. Once the DSP boots up, it transmits BOOTP packet at regular interval which will have the MAC ID of the DSP. |
47 | 46 | ||
@@ -61,7 +60,8 @@ Notes: | |||
61 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 60 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
62 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 61 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
63 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 62 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
63 | http://processors.wiki.ti.com/index.php/TMDSEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD) | ||
64 | 64 | ||
65 | and User's Guide for more details: | 65 | and User's Guide for more details: |
66 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide | 66 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide |
67 | 67 | 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 index b48983a..f8e6a1a 100644..100755 --- a/boot_loader/examples/ethernet/simple/simple.bat +++ b/boot_loader/examples/ethernet/simple/simple.bat | |||
@@ -1,4 +1,4 @@ | |||
1 | set PATH=%PATH%;"C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000\bin"; | 1 | set PATH=%PATH%;"C:\ti\ccsv5\tools\compiler\c6000_7.3.4"; |
2 | make simple.eth | 2 | make simple.eth |
3 | 3 | ||
4 | 4 | ||
diff --git a/boot_loader/examples/i2c/nand/docs/README.txt b/boot_loader/examples/i2c/nand/docs/README.txt index 6238b2d..8a27cb7 100755 --- a/boot_loader/examples/i2c/nand/docs/README.txt +++ b/boot_loader/examples/i2c/nand/docs/README.txt | |||
@@ -4,17 +4,17 @@ A simple Hello World example demonstrating NAND boot over I2C. | |||
4 | 4 | ||
5 | Steps to build the example: | 5 | Steps to build the example: |
6 | 6 | ||
7 | 1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmc66xxl directory. (in CCSv5, | 7 | 1. Import the i2cnandboot CCS project from tools\boot_loader\examples\i2c\nand\evmxxxx directory. (in CCSv5, |
8 | Project->Import Existing CCS/CCE Eclipse Projects) | 8 | Project->Import Existing CCS/CCE Eclipse Projects) |
9 | 9 | ||
10 | 2. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evm66xxl.out and | 10 | 2. Clean the i2cnandboot project and re-build the project, after build is completed, i2cnandboot_evmxxxx.out and |
11 | i2cnandboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nand\evmc66xxl\bin directory. | 11 | i2cnandboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\nand\evmxxxx\bin directory. |
12 | 12 | ||
13 | Steps to run i2cnandboot in CCSv5: | 13 | Steps to run i2cnandboot in CCSv5: |
14 | 14 | ||
15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. | 15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. |
16 | 16 | ||
17 | 2. Load the program tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to CCS. | 17 | 2. Load the program tools\boot_loader\examples\i2c\nand\evmxxxx\bin\i2cnandboot_evmxxxx.out to CCS. |
18 | 18 | ||
19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. | 19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. |
20 | 20 | ||
@@ -39,7 +39,7 @@ Steps to program i2cnandboot to NAND: | |||
39 | b. Re-program the boot configuration table, refer to tools\boot_loader\ibl\doc\README.txt on how to program | 39 | b. Re-program the boot configuration table, refer to tools\boot_loader\ibl\doc\README.txt on how to program |
40 | the boot configuration table to EEPROM. | 40 | the boot configuration table to EEPROM. |
41 | 41 | ||
42 | 3. Copy tools\boot_loader\examples\i2c\nand\evmc66xxl\bin\i2cnandboot_evm66xxl.out to tools\writer\nand\evmc66xxl\bin, | 42 | 3. Copy tools\boot_loader\examples\i2c\nand\evmxxxx\bin\i2cnandboot_evmxxxx.out to tools\writer\nand\evmxxxx\bin, |
43 | rename it to app.bin and refer to tools\writer\nand\docs\README.txt on how to program | 43 | rename it to app.bin and refer to tools\writer\nand\docs\README.txt on how to program |
44 | the app.bin to NAND flash. | 44 | the app.bin to NAND flash. |
45 | 45 | ||
@@ -48,10 +48,12 @@ Steps to program i2cnandboot to NAND: | |||
48 | 48 | ||
49 | 5. After POR, IBL will boot the hello world image from NAND. | 49 | 5. After POR, IBL will boot the hello world image from NAND. |
50 | 50 | ||
51 | Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings: | 51 | Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings: |
52 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 52 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
53 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 53 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
54 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 54 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
55 | http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD) | ||
55 | 56 | ||
56 | and User's Guide for more details: | 57 | and User's Guide for more details: |
57 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide | 58 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide |
59 | 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 new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/i2c/nand/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/i2c/nand/evmk2k/.cproject b/boot_loader/examples/i2c/nand/evmk2k/.cproject new file mode 100755 index 0000000..c5a5600 --- /dev/null +++ b/boot_loader/examples/i2c/nand/evmk2k/.cproject | |||
@@ -0,0 +1,92 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2005044545" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_nand_example.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05:1.1.0.3;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.288068908" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/> | ||
46 | </option> | ||
47 | <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"/> | ||
48 | <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"> | ||
49 | <listOptionValue builtIn="false" value="225"/> | ||
50 | </option> | ||
51 | <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"/> | ||
52 | <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"/> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | </tool> | ||
56 | <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"> | ||
57 | <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"/> | ||
58 | <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"/> | ||
59 | <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.325970360" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs"> | ||
60 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
61 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
62 | </option> | ||
63 | <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"> | ||
64 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
65 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
66 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
67 | </option> | ||
68 | </tool> | ||
69 | </toolChain> | ||
70 | </folderInfo> | ||
71 | </configuration> | ||
72 | </storageModule> | ||
73 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
74 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
75 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
76 | </cconfiguration> | ||
77 | </storageModule> | ||
78 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
79 | <project id="i2cnandboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
80 | </storageModule> | ||
81 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
82 | <project-mappings> | ||
83 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
84 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
88 | </project-mappings> | ||
89 | </storageModule> | ||
90 | <storageModule moduleId="refreshScope"/> | ||
91 | <storageModule moduleId="scannerConfiguration"/> | ||
92 | </cproject> | ||
diff --git a/boot_loader/examples/i2c/nand/evmk2k/.project b/boot_loader/examples/i2c/nand/evmk2k/.project new file mode 100755 index 0000000..edbcfcf --- /dev/null +++ b/boot_loader/examples/i2c/nand/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>i2cnandboot_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.txt</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/docs/README.txt</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nand/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_I2CEXAMPLES_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..cab1993 --- /dev/null +++ b/boot_loader/examples/i2c/nand/evmk2k/i2c_boot_nand_example.cmd | |||
@@ -0,0 +1,77 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x40000 | ||
40 | -stack 0x8000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF | ||
46 | L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF | ||
47 | |||
48 | L2SRAM (RWX) : org = 0x0820000, len = 0xe0000 | ||
49 | MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000 | ||
50 | DDR3 (RWX) : org = 0x80000000,len = 0x10000000 | ||
51 | } | ||
52 | |||
53 | SECTIONS | ||
54 | { | ||
55 | .csl_vect > L2SRAM | ||
56 | .cppi > L2SRAM | ||
57 | .linkram > L2SRAM | ||
58 | .mac_buffer > L2SRAM | ||
59 | platform_lib > L2SRAM | ||
60 | .text > L2SRAM | ||
61 | GROUP (NEAR_DP) | ||
62 | { | ||
63 | .neardata | ||
64 | .rodata | ||
65 | .bss | ||
66 | } load > L2SRAM | ||
67 | .stack > L2SRAM | ||
68 | .cinit > L2SRAM | ||
69 | .cio > L2SRAM | ||
70 | .const > L2SRAM | ||
71 | .data > L2SRAM | ||
72 | .switch > L2SRAM | ||
73 | .sysmem > L2SRAM | ||
74 | .far > L2SRAM | ||
75 | .testMem > L2SRAM | ||
76 | .fardata > L2SRAM | ||
77 | } | ||
diff --git a/boot_loader/examples/i2c/nand/evmk2k/macros.ini b/boot_loader/examples/i2c/nand/evmk2k/macros.ini new file mode 100755 index 0000000..f4e4f7b --- /dev/null +++ b/boot_loader/examples/i2c/nand/evmk2k/macros.ini | |||
@@ -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 8dacf96..1c04d85 100755 --- a/boot_loader/examples/i2c/nor/docs/README.txt +++ b/boot_loader/examples/i2c/nor/docs/README.txt | |||
@@ -4,17 +4,17 @@ A simple Hello World example demonstrating NOR boot over I2C. | |||
4 | 4 | ||
5 | Steps to build the example: | 5 | Steps to build the example: |
6 | 6 | ||
7 | 1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmc66xxl directory. (in CCSv5, | 7 | 1. Import the i2cnorboot CCS project from tools\boot_loader\examples\i2c\nor\evmxxxx directory. (in CCSv5, |
8 | Project->Import Existing CCS/CCE Eclipse Projects) | 8 | Project->Import Existing CCS/CCE Eclipse Projects) |
9 | 9 | ||
10 | 2. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evm66xxl.out and | 10 | 2. Clean the i2cnorboot project and re-build the project, after build is completed, i2cnorboot_evmxxxx.out and |
11 | i2cnorboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\nor\evmc66xxl\bin directory. | 11 | i2cnorboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\nor\evmxxxx\bin directory. |
12 | 12 | ||
13 | Steps to run i2cnorboot in CCSv5: | 13 | Steps to run i2cnorboot in CCSv5: |
14 | 14 | ||
15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. | 15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. |
16 | 16 | ||
17 | 2. Load the program tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to CCS. | 17 | 2. Load the program tools\boot_loader\examples\i2c\nor\evmxxxx\bin\i2cnorboot_evmxxxx.out to CCS. |
18 | 18 | ||
19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. | 19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. |
20 | 20 | ||
@@ -31,7 +31,7 @@ Steps to program i2cnorboot to NOR: | |||
31 | boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program | 31 | boot configuration table are not programmed, refer to tools\boot_loader\ibl\doc\README.txt on how to program |
32 | the IBL and boot configuration table to EEPROM. | 32 | the IBL and boot configuration table to EEPROM. |
33 | 33 | ||
34 | 2. Copy tools\boot_loader\examples\i2c\nor\evmc66xxl\bin\i2cnorboot_evm66xxl.out to tools\writer\nor\evmc66xxl\bin, | 34 | 2. Copy tools\boot_loader\examples\i2c\nor\evmxxxx\bin\i2cnorboot_evmxxxx.out to tools\writer\nor\evmxxxx\bin, |
35 | rename it to app.bin, and refer to tools\writer\nor\docs\README.txt on how to program | 35 | rename it to app.bin, and refer to tools\writer\nor\docs\README.txt on how to program |
36 | the app.bin to NOR flash. | 36 | the app.bin to NOR flash. |
37 | 37 | ||
@@ -40,12 +40,13 @@ Steps to program i2cnorboot to NOR: | |||
40 | 40 | ||
41 | 4. After POR, IBL will boot the hello world image from NOR. | 41 | 4. After POR, IBL will boot the hello world image from NOR. |
42 | 42 | ||
43 | 5. Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings: | 43 | Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings: |
44 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 44 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
45 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 45 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
46 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 46 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
47 | http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD) | ||
47 | 48 | ||
48 | and User's Guide for more details: | 49 | and User's Guide for more details: |
49 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide | 50 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide |
50 | 51 | http://wiki.ci.dal.design.ti.com/index.php/MCSDK_3.0_User_Guide | |
51 | 52 | ||
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.ccsproject b/boot_loader/examples/i2c/nor/evmk2k/.ccsproject new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/i2c/nor/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.cproject b/boot_loader/examples/i2c/nor/evmk2k/.cproject new file mode 100755 index 0000000..8ab81e4 --- /dev/null +++ b/boot_loader/examples/i2c/nor/evmk2k/.cproject | |||
@@ -0,0 +1,92 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1090242212" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_nor_example.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.2073726645" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/> | ||
46 | </option> | ||
47 | <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"/> | ||
48 | <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"> | ||
49 | <listOptionValue builtIn="false" value="225"/> | ||
50 | </option> | ||
51 | <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"/> | ||
52 | <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"/> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | </tool> | ||
56 | <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"> | ||
57 | <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"/> | ||
58 | <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"/> | ||
59 | <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.81238081" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs"> | ||
60 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
61 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
62 | </option> | ||
63 | <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"> | ||
64 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
65 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
66 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
67 | </option> | ||
68 | </tool> | ||
69 | </toolChain> | ||
70 | </folderInfo> | ||
71 | </configuration> | ||
72 | </storageModule> | ||
73 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
74 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
75 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
76 | </cconfiguration> | ||
77 | </storageModule> | ||
78 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
79 | <project id="i2cnorboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
80 | </storageModule> | ||
81 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
82 | <project-mappings> | ||
83 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
84 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
88 | </project-mappings> | ||
89 | </storageModule> | ||
90 | <storageModule moduleId="refreshScope"/> | ||
91 | <storageModule moduleId="scannerConfiguration"/> | ||
92 | </cproject> | ||
diff --git a/boot_loader/examples/i2c/nor/evmk2k/.project b/boot_loader/examples/i2c/nor/evmk2k/.project new file mode 100755 index 0000000..a192bd3 --- /dev/null +++ b/boot_loader/examples/i2c/nor/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>i2cnorboot_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.txt</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/docs/README.txt</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/nor/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_I2CEXAMPLES_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..cab1993 --- /dev/null +++ b/boot_loader/examples/i2c/nor/evmk2k/i2c_boot_nor_example.cmd | |||
@@ -0,0 +1,77 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x40000 | ||
40 | -stack 0x8000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF | ||
46 | L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF | ||
47 | |||
48 | L2SRAM (RWX) : org = 0x0820000, len = 0xe0000 | ||
49 | MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000 | ||
50 | DDR3 (RWX) : org = 0x80000000,len = 0x10000000 | ||
51 | } | ||
52 | |||
53 | SECTIONS | ||
54 | { | ||
55 | .csl_vect > L2SRAM | ||
56 | .cppi > L2SRAM | ||
57 | .linkram > L2SRAM | ||
58 | .mac_buffer > L2SRAM | ||
59 | platform_lib > L2SRAM | ||
60 | .text > L2SRAM | ||
61 | GROUP (NEAR_DP) | ||
62 | { | ||
63 | .neardata | ||
64 | .rodata | ||
65 | .bss | ||
66 | } load > L2SRAM | ||
67 | .stack > L2SRAM | ||
68 | .cinit > L2SRAM | ||
69 | .cio > L2SRAM | ||
70 | .const > L2SRAM | ||
71 | .data > L2SRAM | ||
72 | .switch > L2SRAM | ||
73 | .sysmem > L2SRAM | ||
74 | .far > L2SRAM | ||
75 | .testMem > L2SRAM | ||
76 | .fardata > L2SRAM | ||
77 | } | ||
diff --git a/boot_loader/examples/i2c/nor/evmk2k/macros.ini b/boot_loader/examples/i2c/nor/evmk2k/macros.ini new file mode 100755 index 0000000..f4e4f7b --- /dev/null +++ b/boot_loader/examples/i2c/nor/evmk2k/macros.ini | |||
@@ -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 f8c87af..6f690cb 100755 --- a/boot_loader/examples/i2c/tftp/docs/README.txt +++ b/boot_loader/examples/i2c/tftp/docs/README.txt | |||
@@ -4,17 +4,17 @@ A simple Hello World example demonstrating TFTP boot over I2C. | |||
4 | 4 | ||
5 | Steps to build the example: | 5 | Steps to build the example: |
6 | 6 | ||
7 | 1. Import the i2ctftpboot CCS project from tools\boot_loader\examples\i2c\tftp\evmc66xxl directory. (in CCSv5, | 7 | 1. Import the i2ctftpboot CCS project from tools\boot_loader\examples\i2c\tftp\evmxxxx directory. (in CCSv5, |
8 | Project->Import Existing CCS/CCE Eclipse Projects) | 8 | Project->Import Existing CCS/CCE Eclipse Projects) |
9 | 9 | ||
10 | 2. Clean the i2ctftpboot project and re-build the project, after build is completed, i2ctftpboot_evm66xxl.out and | 10 | 2. Clean the i2ctftpboot project and re-build the project, after build is completed, i2ctftpboot_evmxxxx.out and |
11 | i2ctftpboot_evm66xxl.map will be generated under tools\boot_loader\examples\i2c\tftp\evmc66xxl\bin directory. | 11 | i2ctftpboot_evmxxxx.map will be generated under tools\boot_loader\examples\i2c\tftp\evmxxxx\bin directory. |
12 | 12 | ||
13 | Steps to run i2ctftpboot in CCSv5: | 13 | Steps to run i2ctftpboot in CCSv5: |
14 | 14 | ||
15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. | 15 | 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM. |
16 | 16 | ||
17 | 2. Load the program tools\boot_loader\examples\i2c\tftp\evmc66xxl\bin\i2ctftpboot_evm66xxl.out to CCS. | 17 | 2. Load the program tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.out to CCS. |
18 | 18 | ||
19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. | 19 | 3. Connect the 3-pin RS-232 cable from the EVM to the serial port of the PC, and start Hyper Terminal. |
20 | 20 | ||
@@ -40,8 +40,8 @@ Steps to boot i2ctftpboot from TFTP: | |||
40 | the boot configuration table to EEPROM. | 40 | the boot configuration table to EEPROM. |
41 | 41 | ||
42 | 3. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy | 42 | 3. Start a TFTP server (you can download a free, open source application from http://tftpd32.jounin.net) and copy |
43 | tools\boot_loader\examples\i2c\tftp\evmc66xxl\bin\i2ctftpboot_evm66xxl.out to the TFTP base directory, rename | 43 | tools\boot_loader\examples\i2c\tftp\evmxxxx\bin\i2ctftpboot_evmxxxx.out to the TFTP base directory, rename |
44 | i2ctftpboot_evm66xxl.out to app.out. | 44 | i2ctftpboot_evmxxxx.out to app.out. |
45 | 45 | ||
46 | 4. Set the IP address of the PC that is running the TFTP server to 192.168.2.101, since by default IBL will set the EVM | 46 | 4. Set the IP address of the PC that is running the TFTP server to 192.168.2.101, since by default IBL will set the EVM |
47 | IP address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101. | 47 | IP address to 192.168.2.100 and the TFTP server IP address to 192.168.2.101. |
@@ -51,10 +51,12 @@ Steps to boot i2ctftpboot from TFTP: | |||
51 | 6. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, IBL will download the | 51 | 6. Be sure the EVM and the PC are connected in the same subnet of a local network, after POR, IBL will download the |
52 | boot image from TFTP server and boot from it. | 52 | boot image from TFTP server and boot from it. |
53 | 53 | ||
54 | Please refer to C6678L/C6670L/C6657L EVM boot mode dip switch settings: | 54 | Please refer to C6678L/C6670L/C6657L/TCI6634K2K EVM boot mode dip switch settings: |
55 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 55 | http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
56 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 56 | http://processors.wiki.ti.com/index.php/TMDXEVM6670L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
57 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings | 57 | http://processors.wiki.ti.com/index.php/TMDSEVM6657L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings |
58 | http://processors.wiki.ti.com/index.php/TMDXEVMK2K_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings (TBD) | ||
58 | 59 | ||
59 | and User's Guide for more details: | 60 | and User's Guide for more details: |
60 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide | 61 | http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide |
62 | 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 new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/i2c/tftp/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/.cproject b/boot_loader/examples/i2c/tftp/evmk2k/.cproject new file mode 100755 index 0000000..975ae32 --- /dev/null +++ b/boot_loader/examples/i2c/tftp/evmk2k/.cproject | |||
@@ -0,0 +1,92 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_I2CEXAMPLES_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.290695367" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=i2c_boot_tftp_example.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.717821164" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/> | ||
46 | </option> | ||
47 | <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"/> | ||
48 | <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"> | ||
49 | <listOptionValue builtIn="false" value="225"/> | ||
50 | </option> | ||
51 | <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"/> | ||
52 | <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"/> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | </tool> | ||
56 | <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"> | ||
57 | <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"/> | ||
58 | <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"/> | ||
59 | <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.751359128" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs"> | ||
60 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
61 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
62 | </option> | ||
63 | <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"> | ||
64 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
65 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
66 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
67 | </option> | ||
68 | </tool> | ||
69 | </toolChain> | ||
70 | </folderInfo> | ||
71 | </configuration> | ||
72 | </storageModule> | ||
73 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
74 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
75 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
76 | </cconfiguration> | ||
77 | </storageModule> | ||
78 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
79 | <project id="i2ctftpboot.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
80 | </storageModule> | ||
81 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
82 | <project-mappings> | ||
83 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
84 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
88 | </project-mappings> | ||
89 | </storageModule> | ||
90 | <storageModule moduleId="refreshScope"/> | ||
91 | <storageModule moduleId="scannerConfiguration"/> | ||
92 | </cproject> | ||
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/.project b/boot_loader/examples/i2c/tftp/evmk2k/.project new file mode 100755 index 0000000..53c9be4 --- /dev/null +++ b/boot_loader/examples/i2c/tftp/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>i2ctftpboot_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.txt</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/tftp/docs/README.txt</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_I2CEXAMPLES_DIR/tftp/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_I2CEXAMPLES_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..cab1993 --- /dev/null +++ b/boot_loader/examples/i2c/tftp/evmk2k/i2c_boot_tftp_example.cmd | |||
@@ -0,0 +1,77 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x40000 | ||
40 | -stack 0x8000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF | ||
46 | L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF | ||
47 | |||
48 | L2SRAM (RWX) : org = 0x0820000, len = 0xe0000 | ||
49 | MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000 | ||
50 | DDR3 (RWX) : org = 0x80000000,len = 0x10000000 | ||
51 | } | ||
52 | |||
53 | SECTIONS | ||
54 | { | ||
55 | .csl_vect > L2SRAM | ||
56 | .cppi > L2SRAM | ||
57 | .linkram > L2SRAM | ||
58 | .mac_buffer > L2SRAM | ||
59 | platform_lib > L2SRAM | ||
60 | .text > L2SRAM | ||
61 | GROUP (NEAR_DP) | ||
62 | { | ||
63 | .neardata | ||
64 | .rodata | ||
65 | .bss | ||
66 | } load > L2SRAM | ||
67 | .stack > L2SRAM | ||
68 | .cinit > L2SRAM | ||
69 | .cio > L2SRAM | ||
70 | .const > L2SRAM | ||
71 | .data > L2SRAM | ||
72 | .switch > L2SRAM | ||
73 | .sysmem > L2SRAM | ||
74 | .far > L2SRAM | ||
75 | .testMem > L2SRAM | ||
76 | .fardata > L2SRAM | ||
77 | } | ||
diff --git a/boot_loader/examples/i2c/tftp/evmk2k/macros.ini b/boot_loader/examples/i2c/tftp/evmk2k/macros.ini new file mode 100755 index 0000000..f4e4f7b --- /dev/null +++ b/boot_loader/examples/i2c/tftp/evmk2k/macros.ini | |||
@@ -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 index e5ab281..a630906 100644..100755 --- a/boot_loader/examples/pcie/linux_host_loader/pciedemo.c +++ b/boot_loader/examples/pcie/linux_host_loader/pciedemo.c | |||
@@ -1,8 +1,8 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or | 4 | * This program is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU General Public License as | 5 | * modify it under the terms of the GNU General Public License as |
6 | * published by the Free Software Foundation version 2. | 6 | * published by the Free Software Foundation version 2. |
7 | * | 7 | * |
8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | 8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any |
@@ -20,12 +20,13 @@ | |||
20 | * - 1.0: Initial version (6678 little endian PCIE boot POST demo) | 20 | * - 1.0: Initial version (6678 little endian PCIE boot POST demo) |
21 | * - 1.1: Add a new PCIE boot demo for HelloWorld | 21 | * - 1.1: Add a new PCIE boot demo for HelloWorld |
22 | * - 1.2: support 6670 boot | 22 | * - 1.2: support 6670 boot |
23 | * - 1.3: support big endian boot for 6670/6678; support 32-bit/64-bit Linux; | 23 | * - 1.3: support big endian boot for 6670/6678; support 32-bit/64-bit Linux; |
24 | * support EDMA; support interrupt between host and DSP; | 24 | * support EDMA; support interrupt between host and DSP; |
25 | * added PCIE over EDMA throughput measurement | 25 | * added PCIE over EDMA throughput measurement |
26 | * - 1.4: Add a DSP local reset demo; fix pushData() to handle cases when | 26 | * - 1.4: Add a DSP local reset demo; fix pushData() to handle cases when |
27 | * sections within different memory regions in a header file | 27 | * sections within different memory regions in a header file |
28 | * - 1.5: Support 6657 boot | 28 | * - 1.5: Support 6657 boot |
29 | * - 1.6: Support TCI6634K2K boot | ||
29 | ***************************************************************************************/ | 30 | ***************************************************************************************/ |
30 | 31 | ||
31 | #include <linux/module.h> | 32 | #include <linux/module.h> |
@@ -46,22 +47,23 @@ MODULE_LICENSE("GPL v2"); | |||
46 | /* Must select the endianess */ | 47 | /* Must select the endianess */ |
47 | #define BIG_ENDIAN 0 | 48 | #define BIG_ENDIAN 0 |
48 | 49 | ||
49 | /* Must select which demo to run */ | 50 | /* Must select which demo to run */ |
50 | #define HELLO_WORLD_DEMO 1 | 51 | #define HELLO_WORLD_DEMO 1 |
51 | #define POST_DEMO 0 | 52 | #define POST_DEMO 0 |
52 | #define EDMA_INTC_DEMO 0 | 53 | #define EDMA_INTC_DEMO 0 |
53 | #define LOCAL_RESET 0 | 54 | #define LOCAL_RESET 0 |
54 | 55 | ||
55 | /* Must select a platform */ | 56 | /* Must select a platform */ |
56 | #define EVMC6678L 1 | 57 | #define EVMC6678L 1 |
57 | #define EVMC6670L 0 | 58 | #define EVMC6670L 0 |
58 | #define EVMC6657L 0 | 59 | #define EVMC6657L 0 |
59 | 60 | #define EVMK2K 0 | |
61 | |||
60 | #if BIG_ENDIAN | 62 | #if BIG_ENDIAN |
61 | #define myIoread32 ioread32be | 63 | #define myIoread32 ioread32be |
62 | #define myIowrite32 iowrite32be | 64 | #define myIowrite32 iowrite32be |
63 | #else | 65 | #else |
64 | #define myIoread32 ioread32 | 66 | #define myIoread32 ioread32 |
65 | #define myIowrite32 iowrite32 | 67 | #define myIowrite32 iowrite32 |
66 | #endif | 68 | #endif |
67 | 69 | ||
@@ -77,12 +79,16 @@ MODULE_LICENSE("GPL v2"); | |||
77 | #define MAGIC_ADDR 0x008FFFFC | 79 | #define MAGIC_ADDR 0x008FFFFC |
78 | #endif | 80 | #endif |
79 | 81 | ||
82 | #if EVMK2K | ||
83 | #define MAGIC_ADDR 0x008FFFFC | ||
84 | #endif | ||
85 | |||
80 | /* Include header array */ | 86 | /* Include header array */ |
81 | #if HELLO_WORLD_DEMO | 87 | #if HELLO_WORLD_DEMO |
82 | 88 | ||
83 | #if EVMC6678L | 89 | #if EVMC6678L |
84 | #include "pcieDdrInit_6678.h" /* DDR init */ | 90 | #include "pcieDdrInit_6678.h" /* DDR init */ |
85 | #include "pcieBootCode_6678.h" /* "Hello world" boot example */ | 91 | #include "pcieBootCode_6678.h" /* "Hello world" boot example */ |
86 | #endif | 92 | #endif |
87 | 93 | ||
88 | #if EVMC6670L | 94 | #if EVMC6670L |
@@ -95,6 +101,11 @@ MODULE_LICENSE("GPL v2"); | |||
95 | #include "pcieBootCode_6657.h" /* "Hello world" boot example */ | 101 | #include "pcieBootCode_6657.h" /* "Hello world" boot example */ |
96 | #endif | 102 | #endif |
97 | 103 | ||
104 | #if EVMK2K | ||
105 | #include "pcieDdrInit_k2k.h" /* DDR init */ | ||
106 | #include "pcieBootCode_k2k.h" /* "Hello world" boot example */ | ||
107 | #endif | ||
108 | |||
98 | #endif | 109 | #endif |
99 | 110 | ||
100 | #if POST_DEMO | 111 | #if POST_DEMO |
@@ -111,6 +122,10 @@ MODULE_LICENSE("GPL v2"); | |||
111 | #include "post_6657.h" /* POST boot example */ | 122 | #include "post_6657.h" /* POST boot example */ |
112 | #endif | 123 | #endif |
113 | 124 | ||
125 | #if EVMK2K | ||
126 | #include "post_k2k.h" /* POST boot example */ | ||
127 | #endif | ||
128 | |||
114 | #endif | 129 | #endif |
115 | 130 | ||
116 | #if EDMA_INTC_DEMO | 131 | #if EDMA_INTC_DEMO |
@@ -163,16 +178,16 @@ MODULE_LICENSE("GPL v2"); | |||
163 | #define PDSTAT(n) (0x200 + (4 * (n))) | 178 | #define PDSTAT(n) (0x200 + (4 * (n))) |
164 | #define PDCTL(n) (0x300 + (4 * (n))) | 179 | #define PDCTL(n) (0x300 + (4 * (n))) |
165 | #define MDSTAT(n) (0x800 + (4 * (n))) | 180 | #define MDSTAT(n) (0x800 + (4 * (n))) |
166 | #define MDCTL(n) (0xA00 + (4 * (n))) | 181 | #define MDCTL(n) (0xA00 + (4 * (n))) |
167 | 182 | ||
168 | /* EDMA registers */ | 183 | /* EDMA registers */ |
169 | #define EDMA_TPCC0_BASE_ADDRESS 0x02700000 | 184 | #define EDMA_TPCC0_BASE_ADDRESS 0x02700000 |
170 | #define DMAQNUM0 0x0240 | 185 | #define DMAQNUM0 0x0240 |
171 | #define ESR 0x1010 | 186 | #define ESR 0x1010 |
172 | #define EESR 0x1030 | 187 | #define EESR 0x1030 |
173 | #define IESR 0x1060 | 188 | #define IESR 0x1060 |
174 | #define IPR 0x1068 | 189 | #define IPR 0x1068 |
175 | #define ICR 0x1070 | 190 | #define ICR 0x1070 |
176 | #define PARAM_0_OPT 0x4000 | 191 | #define PARAM_0_OPT 0x4000 |
177 | #define PARAM_0_SRC 0x4004 | 192 | #define PARAM_0_SRC 0x4004 |
178 | #define PARAM_0_A_B_CNT 0x4008 | 193 | #define PARAM_0_A_B_CNT 0x4008 |
@@ -184,10 +199,10 @@ MODULE_LICENSE("GPL v2"); | |||
184 | 199 | ||
185 | /* Chip level registers */ | 200 | /* Chip level registers */ |
186 | #define CHIP_LEVEL_BASE_ADDRESS 0x02620000 | 201 | #define CHIP_LEVEL_BASE_ADDRESS 0x02620000 |
187 | #define KICK0 0x38 | 202 | #define KICK0 0x38 |
188 | #define KICK1 0x3C | 203 | #define KICK1 0x3C |
189 | #define KICK0_UNLOCK 0x83E70B13 | 204 | #define KICK0_UNLOCK 0x83E70B13 |
190 | #define KICK1_UNLOCK 0x95A4F1E0 | 205 | #define KICK1_UNLOCK 0x95A4F1E0 |
191 | #define KICK_LOCK 0x0 | 206 | #define KICK_LOCK 0x0 |
192 | #define DSP_BOOT_ADDR(n) (0x040 + (4 * (n))) | 207 | #define DSP_BOOT_ADDR(n) (0x040 + (4 * (n))) |
193 | #define IPCGR(n) (0x240 + (4 * (n))) | 208 | #define IPCGR(n) (0x240 + (4 * (n))) |
@@ -196,18 +211,18 @@ MODULE_LICENSE("GPL v2"); | |||
196 | #define LL2_START 0x00800000 | 211 | #define LL2_START 0x00800000 |
197 | #define MSMC_START 0x0C000000 /* Shared L2 */ | 212 | #define MSMC_START 0x0C000000 /* Shared L2 */ |
198 | #define DDR_START 0x80000000 | 213 | #define DDR_START 0x80000000 |
199 | #define PCIE_DATA 0x60000000 | 214 | #define PCIE_DATA 0x60000000 |
200 | 215 | ||
201 | /* Block size in bytes when r/w data between GPP and DSP via DSP CPU */ | 216 | /* Block size in bytes when r/w data between GPP and DSP via DSP CPU */ |
202 | #define BLOCK_TRANSFER_SIZE 0x100 | 217 | #define BLOCK_TRANSFER_SIZE 0x100 |
203 | 218 | ||
204 | /* Data size in bytes when r/w data bewteen GPP and DSP via EDMA: | 219 | /* Data size in bytes when r/w data bewteen GPP and DSP via EDMA: |
205 | GPP----PCIE link----PCIE data space----EDMA----DSP device memory (L2, DDR, ...) */ | 220 | GPP----PCIE link----PCIE data space----EDMA----DSP device memory (L2, DDR, ...) */ |
206 | #define DMA_TRANSFER_SIZE 0x400000 /* 4MB */ | 221 | #define DMA_TRANSFER_SIZE 0x400000 /* 4MB */ |
207 | 222 | ||
208 | /* Payload size in bytes over PCIE link. PCIe module supports | 223 | /* Payload size in bytes over PCIE link. PCIe module supports |
209 | outbound payload size of 128 bytes and inbound payload size of 256 bytes */ | 224 | outbound payload size of 128 bytes and inbound payload size of 256 bytes */ |
210 | #define PCIE_TRANSFER_SIZE 0x80 | 225 | #define PCIE_TRANSFER_SIZE 0x80 |
211 | 226 | ||
212 | /* For 1MB outbound translation window size */ | 227 | /* For 1MB outbound translation window size */ |
213 | #define PCIE_ADLEN_1MB 0x00100000 | 228 | #define PCIE_ADLEN_1MB 0x00100000 |
@@ -307,7 +322,7 @@ MODULE_LICENSE("GPL v2"); | |||
307 | 322 | ||
308 | #if EVMC6678L | 323 | #if EVMC6678L |
309 | /* Modules on power domain 0 */ | 324 | /* Modules on power domain 0 */ |
310 | #define LPSC_EMIF16_SPI 3 | 325 | #define LPSC_EMIF16_SPI 3 |
311 | #define LPSC_TSIP 4 | 326 | #define LPSC_TSIP 4 |
312 | 327 | ||
313 | /* Modules on power domain 1 */ | 328 | /* Modules on power domain 1 */ |
@@ -315,9 +330,9 @@ MODULE_LICENSE("GPL v2"); | |||
315 | #define LPSC_TETB_TRC 6 | 330 | #define LPSC_TETB_TRC 6 |
316 | 331 | ||
317 | /* Modules on power domain 2 */ | 332 | /* Modules on power domain 2 */ |
318 | #define LPSC_PA 7 | 333 | #define LPSC_PA 7 |
319 | #define LPSC_SGMII 8 | 334 | #define LPSC_SGMII 8 |
320 | #define LPSC_SA 9 | 335 | #define LPSC_SA 9 |
321 | 336 | ||
322 | /* Modules on power domain 3 */ | 337 | /* Modules on power domain 3 */ |
323 | #define LPSC_PCIE 10 | 338 | #define LPSC_PCIE 10 |
@@ -360,11 +375,11 @@ MODULE_LICENSE("GPL v2"); | |||
360 | 375 | ||
361 | #endif | 376 | #endif |
362 | 377 | ||
363 | /* | 378 | /* |
364 | reg: PCIE application registers | 379 | reg: PCIE application registers |
365 | mem: Local L2 | 380 | mem: Local L2 |
366 | msmc: Shared L2 memory | 381 | msmc: Shared L2 memory |
367 | ddr: DDR3 | 382 | ddr: DDR3 |
368 | */ | 383 | */ |
369 | 384 | ||
370 | uint8_t *wDataVirt, *rDataVirt; /* Virtue address for CPU */ | 385 | uint8_t *wDataVirt, *rDataVirt; /* Virtue address for CPU */ |
@@ -390,7 +405,7 @@ resource_size_t regLen = 0; | |||
390 | resource_size_t msmcLen = 0; | 405 | resource_size_t msmcLen = 0; |
391 | resource_size_t ddrLen = 0; | 406 | resource_size_t ddrLen = 0; |
392 | 407 | ||
393 | uint32_t *ptrReg = 0; | 408 | uint32_t *ptrReg = 0; |
394 | int32_t irqNo; | 409 | int32_t irqNo; |
395 | uint32_t dummy; | 410 | uint32_t dummy; |
396 | struct pci_dev *PCIE_DEV = NULL; | 411 | struct pci_dev *PCIE_DEV = NULL; |
@@ -403,7 +418,7 @@ struct timeval test_time4; | |||
403 | /* ============================================================================ | 418 | /* ============================================================================ |
404 | * @func PCI_FindPciDevices | 419 | * @func PCI_FindPciDevices |
405 | * | 420 | * |
406 | * @desc This function locates 6670/6678 PCIE cards on system. | 421 | * @desc This function locates 6670/6678/6657/K2K PCIE cards on system. |
407 | * | 422 | * |
408 | * @modif None. | 423 | * @modif None. |
409 | * ============================================================================ | 424 | * ============================================================================ |
@@ -628,9 +643,9 @@ void HAL_PciDisableDspInterrupt(void) | |||
628 | * @func HAL_readDMA | 643 | * @func HAL_readDMA |
629 | * | 644 | * |
630 | * @desc Move DMAs contents from DSP memory to GPP Memory. For DSP this is | 645 | * @desc Move DMAs contents from DSP memory to GPP Memory. For DSP this is |
631 | * outbound write. | 646 | * outbound write. |
632 | * flag: 0: Move data inside DSP; 1: Move data between GPP and DSP | 647 | * flag: 0: Move data inside DSP; 1: Move data between GPP and DSP |
633 | * | 648 | * |
634 | * @modif None. | 649 | * @modif None. |
635 | * ============================================================================ | 650 | * ============================================================================ |
636 | */ | 651 | */ |
@@ -641,13 +656,13 @@ void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fla | |||
641 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 656 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
642 | 657 | ||
643 | /* Move data between GPP and DSP, need to program PCIE OB registers */ | 658 | /* Move data between GPP and DSP, need to program PCIE OB registers */ |
644 | if (flag) { | 659 | if (flag) { |
645 | iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */ | 660 | iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */ |
646 | 661 | ||
647 | if (size <= PCIE_ADLEN_1MB) { | 662 | if (size <= PCIE_ADLEN_1MB) { |
648 | pageBase = dstAddr & PCIE_1MB_BITMASK; | 663 | pageBase = dstAddr & PCIE_1MB_BITMASK; |
649 | iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4); | 664 | iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4); |
650 | iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4); | 665 | iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4); |
651 | } | 666 | } |
652 | else { | 667 | else { |
653 | for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) { | 668 | 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 | |||
659 | } | 674 | } |
660 | 675 | ||
661 | /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */ | 676 | /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */ |
662 | iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); | 677 | iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); |
663 | 678 | ||
664 | pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */ | 679 | pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */ |
665 | 680 | ||
666 | while (true) { | 681 | while (true) { |
667 | /* Use TC0 for DBS = 128 bytes */ | 682 | /* Use TC0 for DBS = 128 bytes */ |
668 | myIowrite32(0x0, pReg + DMAQNUM0/4); | 683 | myIowrite32(0x0, pReg + DMAQNUM0/4); |
669 | 684 | ||
670 | /* Set the interrupt enable for 1st Channel (IER). */ | 685 | /* Set the interrupt enable for 1st Channel (IER). */ |
671 | myIowrite32(0x1, pReg + IESR/4); | 686 | myIowrite32(0x1, pReg + IESR/4); |
@@ -730,14 +745,14 @@ void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fla | |||
730 | } else { | 745 | } else { |
731 | break; | 746 | break; |
732 | } | 747 | } |
733 | } | 748 | } |
734 | 749 | ||
735 | /* Clear any pending interrupt. */ | 750 | /* Clear any pending interrupt. */ |
736 | myIowrite32(1, pReg + ICR/4); | 751 | myIowrite32(1, pReg + ICR/4); |
737 | 752 | ||
738 | /* Restore pointer */ | 753 | /* Restore pointer */ |
739 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 754 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
740 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); | 755 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); |
741 | } | 756 | } |
742 | 757 | ||
743 | /* ============================================================================ | 758 | /* ============================================================================ |
@@ -757,13 +772,13 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl | |||
757 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 772 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
758 | 773 | ||
759 | /* Move data between GPP and DSP, need to program PCIE OB registers */ | 774 | /* Move data between GPP and DSP, need to program PCIE OB registers */ |
760 | if (flag) { | 775 | if (flag) { |
761 | iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */ | 776 | iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */ |
762 | 777 | ||
763 | if (size <= PCIE_ADLEN_1MB) { | 778 | if (size <= PCIE_ADLEN_1MB) { |
764 | pageBase = srcAddr & PCIE_1MB_BITMASK; | 779 | pageBase = srcAddr & PCIE_1MB_BITMASK; |
765 | iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4); | 780 | iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4); |
766 | iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4); | 781 | iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4); |
767 | } | 782 | } |
768 | else { | 783 | else { |
769 | for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) { | 784 | 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 | |||
775 | } | 790 | } |
776 | 791 | ||
777 | /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */ | 792 | /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */ |
778 | iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); | 793 | iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); |
779 | 794 | ||
780 | pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */ | 795 | pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */ |
781 | 796 | ||
782 | while (true) { | 797 | while (true) { |
783 | /* Use TC0 for DBS = 128 bytes */ | 798 | /* Use TC0 for DBS = 128 bytes */ |
784 | myIowrite32(0x0, pReg + DMAQNUM0/4); | 799 | myIowrite32(0x0, pReg + DMAQNUM0/4); |
785 | 800 | ||
786 | /* Set the interrupt enable for 1st Channel (IER). */ | 801 | /* Set the interrupt enable for 1st Channel (IER). */ |
787 | myIowrite32(0x1, pReg + IESR/4); | 802 | myIowrite32(0x1, pReg + IESR/4); |
@@ -846,14 +861,14 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl | |||
846 | } else { | 861 | } else { |
847 | break; | 862 | break; |
848 | } | 863 | } |
849 | } | 864 | } |
850 | 865 | ||
851 | /* Clear any pending interrupt. */ | 866 | /* Clear any pending interrupt. */ |
852 | myIowrite32(1, pReg + ICR/4); | 867 | myIowrite32(1, pReg + ICR/4); |
853 | 868 | ||
854 | /* Restore pointer */ | 869 | /* Restore pointer */ |
855 | pReg = (uint32_t *)regVirt; //Point to PCIE application registers | 870 | pReg = (uint32_t *)regVirt; //Point to PCIE application registers |
856 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); | 871 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); |
857 | } | 872 | } |
858 | 873 | ||
859 | /** ============================================================================ | 874 | /** ============================================================================ |
@@ -864,7 +879,7 @@ void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t fl | |||
864 | * @modif None. | 879 | * @modif None. |
865 | * ============================================================================ | 880 | * ============================================================================ |
866 | */ | 881 | */ |
867 | static irqreturn_t ISR_handler(int irq, void *arg) | 882 | static irqreturn_t ISR_handler(int irq, void *arg) |
868 | { | 883 | { |
869 | uint32_t i, dma_failure_flag = 0, counter = 0; | 884 | uint32_t i, dma_failure_flag = 0, counter = 0; |
870 | uint32_t status = HAL_CheckPciInterrupt(); | 885 | uint32_t status = HAL_CheckPciInterrupt(); |
@@ -883,9 +898,9 @@ static irqreturn_t ISR_handler(int irq, void *arg) | |||
883 | } | 898 | } |
884 | } | 899 | } |
885 | 900 | ||
886 | if (dma_failure_flag) | 901 | if (dma_failure_flag) |
887 | printk("DMA test failed with %d locations !\n", counter); | 902 | printk("DMA test failed with %d locations !\n", counter); |
888 | else | 903 | else |
889 | printk("DMA test passed!\n"); | 904 | printk("DMA test passed!\n"); |
890 | 905 | ||
891 | HAL_PciClearDspInterrupt(); | 906 | HAL_PciClearDspInterrupt(); |
@@ -895,7 +910,7 @@ static irqreturn_t ISR_handler(int irq, void *arg) | |||
895 | } | 910 | } |
896 | 911 | ||
897 | /* ============================================================================ | 912 | /* ============================================================================ |
898 | * @func byteto32bits | 913 | * @func byteto32bits |
899 | * | 914 | * |
900 | * @desc Convert 4 bytes to 32 bits long word | 915 | * @desc Convert 4 bytes to 32 bits long word |
901 | * | 916 | * |
@@ -917,7 +932,7 @@ uint32_t byteTo32bits(uint8_t *pDspCode) | |||
917 | /* ============================================================================ | 932 | /* ============================================================================ |
918 | * @func swap4bytes | 933 | * @func swap4bytes |
919 | * | 934 | * |
920 | * @desc Endian swap: 0xA0B1C2D3 to 0xD3C2B1A0 | 935 | * @desc Endian swap: 0xA0B1C2D3 to 0xD3C2B1A0 |
921 | * | 936 | * |
922 | * @modif None. | 937 | * @modif None. |
923 | * ============================================================================ | 938 | * ============================================================================ |
@@ -940,14 +955,14 @@ void swap4bytes(uint32_t *pDspCode, uint32_t size) | |||
940 | /* ============================================================================ | 955 | /* ============================================================================ |
941 | * @func writeDSPMemory | 956 | * @func writeDSPMemory |
942 | * | 957 | * |
943 | * @desc Write a block of data into DSP memory from Linux host. | 958 | * @desc Write a block of data into DSP memory from Linux host. |
944 | * Note the data buffer is in 32-bit format, unit of length is byte. | 959 | * Note the data buffer is in 32-bit format, unit of length is byte. |
945 | * coreNum: to write data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR. | 960 | * coreNum: to write data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR. |
946 | * | 961 | * |
947 | * @modif None. | 962 | * @modif None. |
948 | * ============================================================================ | 963 | * ============================================================================ |
949 | */ | 964 | */ |
950 | uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length) | 965 | uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length) |
951 | { | 966 | { |
952 | uint32_t i, offset, tempReg = 0; | 967 | uint32_t i, offset, tempReg = 0; |
953 | uint32_t *ptr; | 968 | uint32_t *ptr; |
@@ -965,7 +980,7 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
965 | case 4: | 980 | case 4: |
966 | case 5: | 981 | case 5: |
967 | case 6: | 982 | case 6: |
968 | case 7: | 983 | case 7: |
969 | #endif | 984 | #endif |
970 | #if EVMC6670L | 985 | #if EVMC6670L |
971 | case 0: | 986 | case 0: |
@@ -977,13 +992,23 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
977 | case 0: | 992 | case 0: |
978 | case 1: | 993 | case 1: |
979 | #endif | 994 | #endif |
995 | #if EVMK2K | ||
996 | case 0: | ||
997 | case 1: | ||
998 | case 2: | ||
999 | case 3: | ||
1000 | case 4: | ||
1001 | case 5: | ||
1002 | case 6: | ||
1003 | case 7: | ||
1004 | #endif | ||
980 | DSPMemAddr &= 0x00FFFFFF; | 1005 | DSPMemAddr &= 0x00FFFFFF; |
981 | tempReg = ioread32(ptrReg + IB_OFFSET(1)/4); | 1006 | tempReg = ioread32(ptrReg + IB_OFFSET(1)/4); |
982 | iowrite32(tempReg + coreNum*0x01000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */ | 1007 | iowrite32(tempReg + coreNum*0x01000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */ |
983 | 1008 | ||
984 | if (DSPMemAddr < LL2_START) { | 1009 | if (DSPMemAddr < LL2_START) { |
985 | return 0; | 1010 | return 0; |
986 | } else { | 1011 | } else { |
987 | offset = DSPMemAddr - LL2_START; | 1012 | offset = DSPMemAddr - LL2_START; |
988 | ptr = (uint32_t *)memVirt + offset/4; | 1013 | ptr = (uint32_t *)memVirt + offset/4; |
989 | } | 1014 | } |
@@ -994,28 +1019,28 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
994 | } else { | 1019 | } else { |
995 | offset = DSPMemAddr - MSMC_START; | 1020 | offset = DSPMemAddr - MSMC_START; |
996 | ptr = (uint32_t *)msmcVirt + offset/4; | 1021 | ptr = (uint32_t *)msmcVirt + offset/4; |
997 | } | 1022 | } |
998 | break; | 1023 | break; |
999 | case 9: /* this is for DDR */ | 1024 | case 9: /* this is for DDR */ |
1000 | if (DSPMemAddr < DDR_START) { | 1025 | if (DSPMemAddr < DDR_START) { |
1001 | return 0; | 1026 | return 0; |
1002 | } else { | 1027 | } else { |
1003 | offset = DSPMemAddr - DDR_START; | 1028 | offset = DSPMemAddr - DDR_START; |
1004 | ptr = (uint32_t *)ddrVirt + offset/4; | 1029 | ptr = (uint32_t *)ddrVirt + offset/4; |
1005 | } | 1030 | } |
1006 | break; | 1031 | break; |
1007 | default: | 1032 | default: |
1008 | 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"); | 1033 | 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"); |
1009 | return 0; | 1034 | return 0; |
1010 | break; | 1035 | break; |
1011 | } | 1036 | } |
1012 | 1037 | ||
1013 | for (i = 0; i < length/4; i++) { | 1038 | for (i = 0; i < length/4; i++) { |
1014 | #if BIG_ENDIAN | 1039 | #if BIG_ENDIAN |
1015 | swap4bytes(&buffer[i], 4); | 1040 | swap4bytes(&buffer[i], 4); |
1016 | #endif | 1041 | #endif |
1017 | *ptr = buffer[i]; | 1042 | *ptr = buffer[i]; |
1018 | ptr++; | 1043 | ptr++; |
1019 | } | 1044 | } |
1020 | 1045 | ||
1021 | if ((coreNum >= 0)&&(coreNum <= 7)) { | 1046 | if ((coreNum >= 0)&&(coreNum <= 7)) { |
@@ -1028,21 +1053,21 @@ uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
1028 | /* ============================================================================ | 1053 | /* ============================================================================ |
1029 | * @func readDSPMemory | 1054 | * @func readDSPMemory |
1030 | * | 1055 | * |
1031 | * @desc Read a block of DSP memory by Linux host. | 1056 | * @desc Read a block of DSP memory by Linux host. |
1032 | * Note the data buffer is in 32-bit format, unit of length is byte. | 1057 | * Note the data buffer is in 32-bit format, unit of length is byte. |
1033 | * coreNum: to read data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR. | 1058 | * coreNum: to read data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR. |
1034 | * | 1059 | * |
1035 | * @modif None. | 1060 | * @modif None. |
1036 | * ============================================================================ | 1061 | * ============================================================================ |
1037 | */ | 1062 | */ |
1038 | uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length) | 1063 | uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length) |
1039 | { | 1064 | { |
1040 | uint32_t i, offset, tempReg = 0; | 1065 | uint32_t i, offset, tempReg = 0; |
1041 | uint32_t *ptr; | 1066 | uint32_t *ptr; |
1042 | 1067 | ||
1043 | if (length == 0) { | 1068 | if (length == 0) { |
1044 | return 0; | 1069 | return 0; |
1045 | } | 1070 | } |
1046 | 1071 | ||
1047 | switch (coreNum) { | 1072 | switch (coreNum) { |
1048 | #if EVMC6678L | 1073 | #if EVMC6678L |
@@ -1053,7 +1078,7 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
1053 | case 4: | 1078 | case 4: |
1054 | case 5: | 1079 | case 5: |
1055 | case 6: | 1080 | case 6: |
1056 | case 7: | 1081 | case 7: |
1057 | #endif | 1082 | #endif |
1058 | #if EVMC6670L | 1083 | #if EVMC6670L |
1059 | case 0: | 1084 | case 0: |
@@ -1065,12 +1090,22 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
1065 | case 0: | 1090 | case 0: |
1066 | case 1: | 1091 | case 1: |
1067 | #endif | 1092 | #endif |
1093 | #if EVMK2K | ||
1094 | case 0: | ||
1095 | case 1: | ||
1096 | case 2: | ||
1097 | case 3: | ||
1098 | case 4: | ||
1099 | case 5: | ||
1100 | case 6: | ||
1101 | case 7: | ||
1102 | #endif | ||
1068 | DSPMemAddr &= 0x00FFFFFF; | 1103 | DSPMemAddr &= 0x00FFFFFF; |
1069 | tempReg = ioread32(ptrReg + IB_OFFSET(1)/4); | 1104 | tempReg = ioread32(ptrReg + IB_OFFSET(1)/4); |
1070 | iowrite32(tempReg + coreNum*0x1000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */ | 1105 | iowrite32(tempReg + coreNum*0x1000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */ |
1071 | if (DSPMemAddr < LL2_START) { | 1106 | if (DSPMemAddr < LL2_START) { |
1072 | return 0; | 1107 | return 0; |
1073 | } else { | 1108 | } else { |
1074 | offset = DSPMemAddr - LL2_START; | 1109 | offset = DSPMemAddr - LL2_START; |
1075 | ptr = (uint32_t *)memVirt + offset/4; | 1110 | ptr = (uint32_t *)memVirt + offset/4; |
1076 | } | 1111 | } |
@@ -1078,24 +1113,24 @@ uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, | |||
1078 | case 8: /* this is for MSMC */ | 1113 | case 8: /* this is for MSMC */ |
1079 | if (DSPMemAddr < MSMC_START) { | 1114 | if (DSPMemAddr < MSMC_START) { |
1080 | return 0; | 1115 | return 0; |
1081 | } else { | 1116 | } else { |
1082 | offset = DSPMemAddr - MSMC_START; | 1117 | offset = DSPMemAddr - MSMC_START; |
1083 | ptr = (uint32_t *)msmcVirt + offset/4; | 1118 | ptr = (uint32_t *)msmcVirt + offset/4; |
1084 | } | 1119 | } |
1085 | break; | 1120 | break; |
1086 | case 9: /* this is for DDR */ | 1121 | case 9: /* this is for DDR */ |
1087 | if (DSPMemAddr < DDR_START) { | 1122 | if (DSPMemAddr < DDR_START) { |
1088 | return 0; | 1123 | return 0; |
1089 | } else { | 1124 | } else { |
1090 | offset = DSPMemAddr - DDR_START; | 1125 | offset = DSPMemAddr - DDR_START; |
1091 | ptr = (uint32_t *)ddrVirt + offset/4; | 1126 | ptr = (uint32_t *)ddrVirt + offset/4; |
1092 | } | 1127 | } |
1093 | break; | 1128 | break; |
1094 | default: | 1129 | default: |
1095 | 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"); | 1130 | 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"); |
1096 | return 0; | 1131 | return 0; |
1097 | break; | 1132 | break; |
1098 | } | 1133 | } |
1099 | 1134 | ||
1100 | for (i = 0; i < length/4; i++) { | 1135 | for (i = 0; i < length/4; i++) { |
1101 | buffer[i] = *ptr; | 1136 | buffer[i] = *ptr; |
@@ -1173,7 +1208,7 @@ void pushData(uint8_t *pDspCode, uint8_t coreNum, uint32_t *bootEntryAddr) | |||
1173 | pDspCode += 4; | 1208 | pDspCode += 4; |
1174 | } | 1209 | } |
1175 | /* Transfer boot tables to DSP */ | 1210 | /* Transfer boot tables to DSP */ |
1176 | writeDSPMemory(newCoreNum, startAddr, tempArray, BLOCK_TRANSFER_SIZE); | 1211 | writeDSPMemory(newCoreNum, startAddr, tempArray, BLOCK_TRANSFER_SIZE); |
1177 | startAddr += BLOCK_TRANSFER_SIZE; | 1212 | startAddr += BLOCK_TRANSFER_SIZE; |
1178 | } | 1213 | } |
1179 | 1214 | ||
@@ -1181,7 +1216,7 @@ void pushData(uint8_t *pDspCode, uint8_t coreNum, uint32_t *bootEntryAddr) | |||
1181 | tempArray[j] = byteTo32bits(pDspCode); | 1216 | tempArray[j] = byteTo32bits(pDspCode); |
1182 | pDspCode += 4; | 1217 | pDspCode += 4; |
1183 | } | 1218 | } |
1184 | writeDSPMemory(newCoreNum, startAddr, tempArray, remainder); | 1219 | writeDSPMemory(newCoreNum, startAddr, tempArray, remainder); |
1185 | // printk("Section %d started at 0x%8x with size 0x%8x bytes written to core %d\n", section, startAddr, size, newCoreNum); | 1220 | // printk("Section %d started at 0x%8x with size 0x%8x bytes written to core %d\n", section, startAddr, size, newCoreNum); |
1186 | } | 1221 | } |
1187 | printk("Total %d sections, 0x%x bytes of data were written\n", section, totalSize); | 1222 | printk("Total %d sections, 0x%x bytes of data were written\n", section, totalSize); |
@@ -1198,19 +1233,19 @@ void pushData(uint8_t *pDspCode, uint8_t coreNum, uint32_t *bootEntryAddr) | |||
1198 | * @modif None. | 1233 | * @modif None. |
1199 | * ============================================================================ | 1234 | * ============================================================================ |
1200 | */ | 1235 | */ |
1201 | void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state) | 1236 | void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state) |
1202 | { | 1237 | { |
1203 | uint32_t *pReg, temp, counter = 0; | 1238 | uint32_t *pReg, temp, counter = 0; |
1204 | 1239 | ||
1205 | /* Point to PCIE application registers */ | 1240 | /* Point to PCIE application registers */ |
1206 | pReg = (uint32_t *)regVirt; | 1241 | pReg = (uint32_t *)regVirt; |
1207 | /* Set MST_PRIV bit to access PSC via PCIE */ | 1242 | /* Set MST_PRIV bit to access PSC via PCIE */ |
1208 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); | 1243 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); |
1209 | 1244 | ||
1210 | /* Temporarily re-map IB region 3 from DDR memory to PSC registers */ | 1245 | /* Temporarily re-map IB region 3 from DDR memory to PSC registers */ |
1211 | iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); | 1246 | iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); |
1212 | /* Now it points to the start of PSC_BASE_ADDRESS */ | 1247 | /* Now it points to the start of PSC_BASE_ADDRESS */ |
1213 | pReg = (uint32_t*)ddrVirt; | 1248 | pReg = (uint32_t*)ddrVirt; |
1214 | 1249 | ||
1215 | temp = myIoread32(pReg + MDCTL(mid)/4); | 1250 | temp = myIoread32(pReg + MDCTL(mid)/4); |
1216 | if (state == 0) { | 1251 | if (state == 0) { |
@@ -1238,7 +1273,7 @@ void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state) | |||
1238 | } | 1273 | } |
1239 | } | 1274 | } |
1240 | 1275 | ||
1241 | myIowrite32((1 << pid), pReg + PTCMD/4); | 1276 | myIowrite32((1 << pid), pReg + PTCMD/4); |
1242 | 1277 | ||
1243 | /* Current transition finished */ | 1278 | /* Current transition finished */ |
1244 | counter = 0; | 1279 | counter = 0; |
@@ -1268,7 +1303,7 @@ void coreLocalReset(uint32_t pid, uint32_t mid, uint32_t state) | |||
1268 | 1303 | ||
1269 | /* Restore pointer */ | 1304 | /* Restore pointer */ |
1270 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 1305 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
1271 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); | 1306 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); |
1272 | } | 1307 | } |
1273 | 1308 | ||
1274 | /* ============================================================================ | 1309 | /* ============================================================================ |
@@ -1289,14 +1324,14 @@ void setPscState(uint32_t pid, uint32_t mid, uint32_t state) | |||
1289 | uint32_t *pReg, mdctl, pdctl, temp, counter = 0; | 1324 | uint32_t *pReg, mdctl, pdctl, temp, counter = 0; |
1290 | 1325 | ||
1291 | /* Point to PCIE application registers */ | 1326 | /* Point to PCIE application registers */ |
1292 | pReg = (uint32_t *)regVirt; | 1327 | pReg = (uint32_t *)regVirt; |
1293 | /* Set MST_PRIV bit to access PSC via PCIE */ | 1328 | /* Set MST_PRIV bit to access PSC via PCIE */ |
1294 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); | 1329 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); |
1295 | 1330 | ||
1296 | /* Temporarily re-map IB region 3 from DDR memory to PSC registers */ | 1331 | /* Temporarily re-map IB region 3 from DDR memory to PSC registers */ |
1297 | iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); | 1332 | iowrite32(PSC_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); |
1298 | /* Now it points to the start of PSC_BASE_ADDRESS */ | 1333 | /* Now it points to the start of PSC_BASE_ADDRESS */ |
1299 | pReg = (uint32_t*)ddrVirt; | 1334 | pReg = (uint32_t*)ddrVirt; |
1300 | 1335 | ||
1301 | mdctl = myIoread32(pReg + MDCTL(mid)/4); | 1336 | mdctl = myIoread32(pReg + MDCTL(mid)/4); |
1302 | pdctl = myIoread32(pReg + PDCTL(pid)/4); | 1337 | pdctl = myIoread32(pReg + PDCTL(pid)/4); |
@@ -1353,7 +1388,7 @@ void setPscState(uint32_t pid, uint32_t mid, uint32_t state) | |||
1353 | 1388 | ||
1354 | /* Restore pointer */ | 1389 | /* Restore pointer */ |
1355 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 1390 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
1356 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); | 1391 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); |
1357 | } | 1392 | } |
1358 | 1393 | ||
1359 | /* ============================================================================ | 1394 | /* ============================================================================ |
@@ -1364,21 +1399,21 @@ void setPscState(uint32_t pid, uint32_t mid, uint32_t state) | |||
1364 | * @modif None. | 1399 | * @modif None. |
1365 | * ============================================================================ | 1400 | * ============================================================================ |
1366 | */ | 1401 | */ |
1367 | uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr) | 1402 | uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr) |
1368 | { | 1403 | { |
1369 | uint32_t *pReg; | 1404 | uint32_t *pReg; |
1370 | /* Point to PCIE application registers */ | 1405 | /* Point to PCIE application registers */ |
1371 | pReg = (uint32_t *)regVirt; | 1406 | pReg = (uint32_t *)regVirt; |
1372 | /* Set MST_PRIV bit to access PSC via PCIE */ | 1407 | /* Set MST_PRIV bit to access PSC via PCIE */ |
1373 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); | 1408 | iowrite32(((ioread32(pReg + PRIORITY/4))|0x00010000), pReg + PRIORITY/4); |
1374 | 1409 | ||
1375 | /* Temporarily re-map IB region 3 from DDR memory to chip level registers */ | 1410 | /* Temporarily re-map IB region 3 from DDR memory to chip level registers */ |
1376 | iowrite32(CHIP_LEVEL_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); | 1411 | iowrite32(CHIP_LEVEL_BASE_ADDRESS, pReg + IB_OFFSET(3)/4); |
1377 | /* Now it points to the start of CHIP_LEVEL_BASE_ADDRESS */ | 1412 | /* Now it points to the start of CHIP_LEVEL_BASE_ADDRESS */ |
1378 | pReg = (uint32_t*)ddrVirt; | 1413 | pReg = (uint32_t*)ddrVirt; |
1379 | 1414 | ||
1380 | /* Unlock KICK0, KICK1 */ | 1415 | /* Unlock KICK0, KICK1 */ |
1381 | myIowrite32(KICK0_UNLOCK, pReg + KICK0/4); | 1416 | myIowrite32(KICK0_UNLOCK, pReg + KICK0/4); |
1382 | myIowrite32(KICK1_UNLOCK, pReg + KICK1/4); | 1417 | myIowrite32(KICK1_UNLOCK, pReg + KICK1/4); |
1383 | 1418 | ||
1384 | /* Check if the last 10 bits of addr is 0 */ | 1419 | /* Check if the last 10 bits of addr is 0 */ |
@@ -1388,13 +1423,13 @@ uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr) | |||
1388 | } | 1423 | } |
1389 | 1424 | ||
1390 | myIowrite32(addr, pReg + DSP_BOOT_ADDR(core)/4); | 1425 | myIowrite32(addr, pReg + DSP_BOOT_ADDR(core)/4); |
1391 | myIowrite32(1, pReg + IPCGR(core)/4); | 1426 | myIowrite32(1, pReg + IPCGR(core)/4); |
1392 | 1427 | ||
1393 | mdelay(1); | 1428 | mdelay(1); |
1394 | 1429 | ||
1395 | /* Restore pointer */ | 1430 | /* Restore pointer */ |
1396 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ | 1431 | pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */ |
1397 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); | 1432 | iowrite32(DDR_START, pReg + IB_OFFSET(3)/4); |
1398 | 1433 | ||
1399 | return 1; | 1434 | return 1; |
1400 | } | 1435 | } |
@@ -1407,7 +1442,7 @@ uint32_t setBootAddrIpcgr(uint32_t core, uint32_t addr) | |||
1407 | * @modif None. | 1442 | * @modif None. |
1408 | * ============================================================================ | 1443 | * ============================================================================ |
1409 | */ | 1444 | */ |
1410 | void dspLocalReset(void) | 1445 | void dspLocalReset(void) |
1411 | { | 1446 | { |
1412 | uint32_t i, bootEntryAddr = 0; | 1447 | uint32_t i, bootEntryAddr = 0; |
1413 | 1448 | ||
@@ -1469,7 +1504,7 @@ void dspLocalReset(void) | |||
1469 | setPscState(PD12, LPSC_VCP2B, PSC_ENABLE); | 1504 | setPscState(PD12, LPSC_VCP2B, PSC_ENABLE); |
1470 | setPscState(PD12, LPSC_VCP2C, PSC_ENABLE); | 1505 | setPscState(PD12, LPSC_VCP2C, PSC_ENABLE); |
1471 | setPscState(PD12, LPSC_VCP2D, PSC_ENABLE); | 1506 | setPscState(PD12, LPSC_VCP2D, PSC_ENABLE); |
1472 | setPscState(PD17, LPSC_TCP3dB, PSC_ENABLE); | 1507 | setPscState(PD17, LPSC_TCP3dB, PSC_ENABLE); |
1473 | 1508 | ||
1474 | /* Local out of reset of all cores */ | 1509 | /* Local out of reset of all cores */ |
1475 | coreLocalReset(PD13, LPSC_C0_TIM0, LOC_RST_DEASSERT); | 1510 | coreLocalReset(PD13, LPSC_C0_TIM0, LOC_RST_DEASSERT); |
@@ -1536,22 +1571,22 @@ void dspLocalReset(void) | |||
1536 | #endif | 1571 | #endif |
1537 | } | 1572 | } |
1538 | 1573 | ||
1539 | #endif | 1574 | #endif |
1540 | /* ============================================================================ | 1575 | /* ============================================================================ |
1541 | * @func init_module | 1576 | * @func init_module |
1542 | * | 1577 | * |
1543 | * @desc Initialize a loadable module | 1578 | * @desc Initialize a loadable module |
1544 | * | 1579 | * |
1545 | * @modif None. | 1580 | * @modif None. |
1546 | * ============================================================================ | 1581 | * ============================================================================ |
1547 | */ | 1582 | */ |
1548 | int init_module(void) | 1583 | int init_module(void) |
1549 | { | 1584 | { |
1550 | uint32_t i; | 1585 | uint32_t i; |
1551 | uint32_t bootEntryAddr = 0; /* Store 32-bit boot entry address read from .h file */ | 1586 | uint32_t bootEntryAddr = 0; /* Store 32-bit boot entry address read from .h file */ |
1552 | #if HELLO_WORLD_DEMO | EDMA_INTC_DEMO | 1587 | #if HELLO_WORLD_DEMO | EDMA_INTC_DEMO |
1553 | uint32_t buffer[BLOCK_TRANSFER_SIZE/4]; /* Store 32-bit DSP memory readback data */ | 1588 | uint32_t buffer[BLOCK_TRANSFER_SIZE/4]; /* Store 32-bit DSP memory readback data */ |
1554 | #endif | 1589 | #endif |
1555 | 1590 | ||
1556 | #if EDMA_INTC_DEMO | 1591 | #if EDMA_INTC_DEMO |
1557 | uint32_t diff; | 1592 | uint32_t diff; |
@@ -1584,14 +1619,14 @@ int init_module(void) | |||
1584 | /* Configure IB_BAR0 to BAR0 for PCIE registers; Configure IB_BAR1 to BAR1 for LL2 for core 0 | 1619 | /* Configure IB_BAR0 to BAR0 for PCIE registers; Configure IB_BAR1 to BAR1 for LL2 for core 0 |
1585 | Configure IB_BAR2 to BAR2 for MSMC; Configure IB_BAR3 to BAR3 for DDR */ | 1620 | Configure IB_BAR2 to BAR2 for MSMC; Configure IB_BAR3 to BAR3 for DDR */ |
1586 | for (i = 0; i < 4; i++) { | 1621 | for (i = 0; i < 4; i++) { |
1587 | iowrite32(i, ptrReg + IB_BAR(i)/4); | 1622 | iowrite32(i, ptrReg + IB_BAR(i)/4); |
1588 | iowrite32(PCIE_DEV->resource[i].start, ptrReg + IB_START_LO(i)/4); | 1623 | iowrite32(PCIE_DEV->resource[i].start, ptrReg + IB_START_LO(i)/4); |
1589 | iowrite32(0, ptrReg + IB_START_HI(i)/4); | 1624 | iowrite32(0, ptrReg + IB_START_HI(i)/4); |
1590 | } | 1625 | } |
1591 | iowrite32(PCIE_BASE_ADDRESS, ptrReg + IB_OFFSET(0)/4); | 1626 | iowrite32(PCIE_BASE_ADDRESS, ptrReg + IB_OFFSET(0)/4); |
1592 | iowrite32(LL2_START + (1 << 28), ptrReg + IB_OFFSET(1)/4); | 1627 | iowrite32(LL2_START + (1 << 28), ptrReg + IB_OFFSET(1)/4); |
1593 | iowrite32(MSMC_START, ptrReg + IB_OFFSET(2)/4); | 1628 | iowrite32(MSMC_START, ptrReg + IB_OFFSET(2)/4); |
1594 | iowrite32(DDR_START, ptrReg + IB_OFFSET(3)/4); | 1629 | iowrite32(DDR_START, ptrReg + IB_OFFSET(3)/4); |
1595 | 1630 | ||
1596 | printk("Registering the irq %d ...\n", irqNo); | 1631 | printk("Registering the irq %d ...\n", irqNo); |
1597 | request_irq(irqNo, ISR_handler, IRQF_SHARED, "TI 667x PCIE", &dummy); | 1632 | request_irq(irqNo, ISR_handler, IRQF_SHARED, "TI 667x PCIE", &dummy); |
@@ -1602,13 +1637,13 @@ int init_module(void) | |||
1602 | pushData(ddrInitCode, 0, &bootEntryAddr); | 1637 | pushData(ddrInitCode, 0, &bootEntryAddr); |
1603 | 1638 | ||
1604 | /* Write boot entry address into MAGIC_ADDR */ | 1639 | /* Write boot entry address into MAGIC_ADDR */ |
1605 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); | 1640 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); |
1606 | 1641 | ||
1607 | while (1) { | 1642 | while (1) { |
1608 | readDSPMemory(0, MAGIC_ADDR, buffer, 4); | 1643 | readDSPMemory(0, MAGIC_ADDR, buffer, 4); |
1609 | if (buffer[0] == 0) break; | 1644 | if (buffer[0] == 0) break; |
1610 | for (i = 0; i < 1000; i++) i++; | 1645 | for (i = 0; i < 1000; i++) i++; |
1611 | } | 1646 | } |
1612 | 1647 | ||
1613 | /* Load "Hello World" demo into DSP */ | 1648 | /* Load "Hello World" demo into DSP */ |
1614 | pushData(bootCode, 9, &bootEntryAddr); | 1649 | pushData(bootCode, 9, &bootEntryAddr); |
@@ -1622,12 +1657,12 @@ int init_module(void) | |||
1622 | pushData(post, 0, &bootEntryAddr); | 1657 | pushData(post, 0, &bootEntryAddr); |
1623 | 1658 | ||
1624 | /* Write boot entry address into MAGIC_ADDR */ | 1659 | /* Write boot entry address into MAGIC_ADDR */ |
1625 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); | 1660 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); |
1626 | #endif | 1661 | #endif |
1627 | 1662 | ||
1628 | #if EDMA_INTC_DEMO | 1663 | #if EDMA_INTC_DEMO |
1629 | 1664 | ||
1630 | printk("Allocating consistent memory ...\n"); | 1665 | printk("Allocating consistent memory ...\n"); |
1631 | wDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &wData, GFP_KERNEL); | 1666 | wDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &wData, GFP_KERNEL); |
1632 | rDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &rData, GFP_KERNEL); | 1667 | rDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &rData, GFP_KERNEL); |
1633 | 1668 | ||
@@ -1640,43 +1675,43 @@ int init_module(void) | |||
1640 | pushData(pcieInterrupt, 0, &bootEntryAddr); | 1675 | pushData(pcieInterrupt, 0, &bootEntryAddr); |
1641 | 1676 | ||
1642 | /* Write boot entry address into MAGIC_ADDR */ | 1677 | /* Write boot entry address into MAGIC_ADDR */ |
1643 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); | 1678 | writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4); |
1644 | 1679 | ||
1645 | while (1) { | 1680 | while (1) { |
1646 | readDSPMemory(0, MAGIC_ADDR, buffer, 4); | 1681 | readDSPMemory(0, MAGIC_ADDR, buffer, 4); |
1647 | if (buffer[0] == 0) break; | 1682 | if (buffer[0] == 0) break; |
1648 | for (i = 0; i < 1000; i++) i++; | 1683 | for (i = 0; i < 1000; i++) i++; |
1649 | } | 1684 | } |
1650 | 1685 | ||
1651 | /* Wait 2 second for DDR init */ | 1686 | /* Wait 2 second for DDR init */ |
1652 | mdelay(2000); | 1687 | mdelay(2000); |
1653 | 1688 | ||
1654 | printk ("Write DMA to DSP ...\n"); | 1689 | printk ("Write DMA to DSP ...\n"); |
1655 | do_gettimeofday(&test_time1); | 1690 | do_gettimeofday(&test_time1); |
1656 | HAL_writeDMA (wData, DDR_START, DMA_TRANSFER_SIZE, 1); /* Move from GPP to DSP */ | 1691 | HAL_writeDMA (wData, DDR_START, DMA_TRANSFER_SIZE, 1); /* Move from GPP to DSP */ |
1657 | do_gettimeofday(&test_time2); | 1692 | do_gettimeofday(&test_time2); |
1658 | 1693 | ||
1659 | /* Note: From PCIE specification, legacy interrupts cannot be generated from RC and be passed downstream. | 1694 | /* Note: From PCIE specification, legacy interrupts cannot be generated from RC and be passed downstream. |
1660 | The example below is just making use of the facility that RC can access EP side register to generate | 1695 | The example below is just making use of the facility that RC can access EP side register to generate |
1661 | a generic interrupt on local (EP) side using one of the event inputs of Interrupt Controller (INTC). | 1696 | a generic interrupt on local (EP) side using one of the event inputs of Interrupt Controller (INTC). |
1662 | There is no real interrupt signal sent over the PCIe link */ | 1697 | There is no real interrupt signal sent over the PCIe link */ |
1663 | printk ("Generating interrupt to DSP ...\n"); | 1698 | printk ("Generating interrupt to DSP ...\n"); |
1664 | iowrite32(1, ptrReg + LEGACY_A_IRQ_STATUS_RAW/4); | 1699 | iowrite32(1, ptrReg + LEGACY_A_IRQ_STATUS_RAW/4); |
1665 | 1700 | ||
1666 | /* Waiting DSP ISR handler to process the interrupt from DSP and then generates an interrupt to host | 1701 | /* Waiting DSP ISR handler to process the interrupt from DSP and then generates an interrupt to host |
1667 | Waiting for host ISR handler to process the interrupt from DSP before program exits */ | 1702 | Waiting for host ISR handler to process the interrupt from DSP before program exits */ |
1668 | mdelay(1000); | 1703 | mdelay(1000); |
1669 | 1704 | ||
1670 | /* For demo how to move inside DSP purpose only, you can directly move between GPP and DSP using flag = 1 */ | 1705 | /* For demo how to move inside DSP purpose only, you can directly move between GPP and DSP using flag = 1 */ |
1671 | // HAL_writeDMA (0x80000000, 0x11800000, 0x10000, 0); | 1706 | // HAL_writeDMA (0x80000000, 0x11800000, 0x10000, 0); |
1672 | // HAL_writeDMA (0x11800000, 0x0C000000, 0x10000, 0); | 1707 | // HAL_writeDMA (0x11800000, 0x0C000000, 0x10000, 0); |
1673 | 1708 | ||
1674 | diff = (test_time2.tv_sec - test_time1.tv_sec)*1000000 + (test_time2.tv_usec - test_time1.tv_usec); | 1709 | diff = (test_time2.tv_sec - test_time1.tv_sec)*1000000 + (test_time2.tv_usec - test_time1.tv_usec); |
1675 | printk("DMA write throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff, | 1710 | printk("DMA write throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff, |
1676 | ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff); | 1711 | ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff); |
1677 | 1712 | ||
1678 | diff = (test_time4.tv_sec - test_time3.tv_sec)*1000000 + (test_time4.tv_usec - test_time3.tv_usec); | 1713 | diff = (test_time4.tv_sec - test_time3.tv_sec)*1000000 + (test_time4.tv_usec - test_time3.tv_usec); |
1679 | printk("DMA read throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff, | 1714 | printk("DMA read throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff, |
1680 | ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff); | 1715 | ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff); |
1681 | 1716 | ||
1682 | printk("Freeing consistent memory ...\n"); | 1717 | printk("Freeing consistent memory ...\n"); |
@@ -1698,7 +1733,7 @@ int init_module(void) | |||
1698 | /* ============================================================================ | 1733 | /* ============================================================================ |
1699 | * @func cleanup_module | 1734 | * @func cleanup_module |
1700 | * | 1735 | * |
1701 | * @desc Unregister a loadable module | 1736 | * @desc Unregister a loadable module |
1702 | * | 1737 | * |
1703 | * @modif None. | 1738 | * @modif None. |
1704 | * ============================================================================ | 1739 | * ============================================================================ |
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.ccsproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.ccsproject new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.cproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.cproject new file mode 100755 index 0000000..97e4c47 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.cproject | |||
@@ -0,0 +1,94 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1504254705" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1661580358" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"> | ||
41 | <listOptionValue builtIn="false" value="DEVICE_K2K"/> | ||
42 | </option> | ||
43 | <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"> | ||
44 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
45 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
46 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
47 | </option> | ||
48 | <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"/> | ||
49 | <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"> | ||
50 | <listOptionValue builtIn="false" value="225"/> | ||
51 | </option> | ||
52 | <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"/> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | <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"/> | ||
56 | <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"/> | ||
57 | </tool> | ||
58 | <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"> | ||
59 | <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"/> | ||
60 | <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"/> | ||
61 | <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"> | ||
62 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
63 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
64 | </option> | ||
65 | <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"> | ||
66 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
67 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
68 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
69 | </option> | ||
70 | </tool> | ||
71 | </toolChain> | ||
72 | </folderInfo> | ||
73 | </configuration> | ||
74 | </storageModule> | ||
75 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
76 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
77 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
78 | </cconfiguration> | ||
79 | </storageModule> | ||
80 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
81 | <project id="pcieboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
82 | </storageModule> | ||
83 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
84 | <project-mappings> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
88 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
89 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
90 | </project-mappings> | ||
91 | </storageModule> | ||
92 | <storageModule moduleId="refreshScope"/> | ||
93 | <storageModule moduleId="scannerConfiguration"/> | ||
94 | </cproject> | ||
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.project b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.project new file mode 100755 index 0000000..47a1fdf --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>pcieboot_ddrinit_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.pdf</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_ddrinit/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_PCIEBOOT_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..9786996 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/header.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
18 | * its contributors may be used to endorse or promote products derived | ||
19 | * from this software without specific prior written permission. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
25 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
26 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
27 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
28 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
29 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
30 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
32 | * | ||
33 | */ | ||
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 new file mode 100755 index 0000000..a2f8b47 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit.rmd | |||
@@ -0,0 +1,11 @@ | |||
1 | -a | ||
2 | -boot | ||
3 | -e _c_int00 | ||
4 | |||
5 | ROMS | ||
6 | { | ||
7 | ROM1: org = 0x800000, length = 0x80000, memwidth = 32, romwidth = 32 | ||
8 | files = { pcieboot_ddrinit.btbl } | ||
9 | } | ||
10 | |||
11 | |||
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 new file mode 100755 index 0000000..ae6f6b1 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.bat | |||
@@ -0,0 +1,25 @@ | |||
1 | set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4" | ||
2 | set TARGET=k2k | ||
3 | set ENDIAN=little | ||
4 | set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; | ||
5 | |||
6 | |||
7 | @echo off | ||
8 | |||
9 | echo C6000_CG_DIR set as: %C6000_CG_DIR% | ||
10 | echo TARGET set as: %TARGET% | ||
11 | |||
12 | echo Converting .out to HEX ... | ||
13 | if %ENDIAN% == little ( | ||
14 | %C6000_CG_DIR%\bin\hex6x -order L pcieboot_ddrinit.rmd pcieboot_ddrinit_evm%TARGET%.out | ||
15 | ) else ( | ||
16 | %C6000_CG_DIR%\bin\hex6x -order M pcieboot_ddrinit.rmd pcieboot_ddrinit_evm%TARGET%.out | ||
17 | ) | ||
18 | |||
19 | ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_ddrinit.btbl pcieboot_ddrinit.h pcieboot_ddrinit.bin | ||
20 | |||
21 | ..\..\..\..\..\..\hfile2array\hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode | ||
22 | |||
23 | move pcieDdrInit.h ..\..\..\linux_host_loader\pcieDdrInit_%TARGET%.h | ||
24 | |||
25 | |||
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 new file mode 100755 index 0000000..51e4c1f --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/bin/pcieboot_ddrinit_elf2HBin.sh | |||
@@ -0,0 +1,20 @@ | |||
1 | export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4 | ||
2 | export TARGET=k2k | ||
3 | export ENDIAN=little | ||
4 | |||
5 | echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR} | ||
6 | echo TARGET set as: ${TARGET} | ||
7 | |||
8 | echo Converting .out to HEX ... | ||
9 | if [ ${ENDIAN} == little ] | ||
10 | then | ||
11 | ${CGT_INSTALL_DIR}/bin/hex6x -order L pcieboot_ddrinit.rmd pcieboot_ddrinit_evm${TARGET}.out | ||
12 | else | ||
13 | ${CGT_INSTALL_DIR}/bin/hex6x -order M pcieboot_ddrinit.rmd pcieboot_ddrinit_evm${TARGET}.out | ||
14 | fi | ||
15 | |||
16 | ../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_ddrinit.btbl pcieboot_ddrinit.h pcieboot_ddrinit.bin | ||
17 | |||
18 | ../../../../../../hfile2array/hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode | ||
19 | |||
20 | 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 new file mode 100755 index 0000000..5f9fb3f --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/macros.ini | |||
@@ -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 new file mode 100755 index 0000000..f52e33d --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/evmk2k/pcieboot_ddrinit.cmd | |||
@@ -0,0 +1,74 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x1000 | ||
40 | -stack 0x1000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | L2_LOCAL (RWX) : org = 0x10820000, len = 0x20000 | ||
46 | } | ||
47 | |||
48 | SECTIONS | ||
49 | { | ||
50 | .text:_boot_entry > L2_LOCAL | ||
51 | .csl_vect > L2_LOCAL | ||
52 | .cppi > L2_LOCAL | ||
53 | .linkram > L2_LOCAL | ||
54 | .mac_buffer > L2_LOCAL | ||
55 | platform_lib > L2_LOCAL | ||
56 | .text > L2_LOCAL | ||
57 | GROUP (NEAR_DP) | ||
58 | { | ||
59 | .neardata | ||
60 | .rodata | ||
61 | .bss | ||
62 | } load > L2_LOCAL | ||
63 | .stack > L2_LOCAL | ||
64 | .cinit > L2_LOCAL | ||
65 | .cio > L2_LOCAL | ||
66 | .const > L2_LOCAL | ||
67 | .data > L2_LOCAL | ||
68 | .switch > L2_LOCAL | ||
69 | .sysmem > L2_LOCAL | ||
70 | .far > L2_LOCAL | ||
71 | .testMem > L2_LOCAL | ||
72 | .fardata > L2_LOCAL | ||
73 | } | ||
74 | |||
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c b/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c index 5378739..d75fb4f 100644..100755 --- a/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c +++ b/boot_loader/examples/pcie/pcieboot_ddrinit/src/pcieboot_ddrinit.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions | 5 | * modification, are permitted provided that the following conditions |
@@ -59,6 +59,10 @@ | |||
59 | #define MAGIC_ADDR 0x8ffffc | 59 | #define MAGIC_ADDR 0x8ffffc |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | #ifdef DEVICE_K2K | ||
63 | #define MAGIC_ADDR 0x8ffffc | ||
64 | #endif | ||
65 | |||
62 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) | 66 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) |
63 | 67 | ||
64 | /* OSAL functions for Platform Library */ | 68 | /* 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 new file mode 100755 index 0000000..c7a3f58 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.3.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.cproject b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.cproject new file mode 100755 index 0000000..8239773 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.cproject | |||
@@ -0,0 +1,94 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1844946064" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1567410726" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1289819785" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols"> | ||
41 | <listOptionValue builtIn="false" value="DEVICE_K2K"/> | ||
42 | </option> | ||
43 | <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"> | ||
44 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
45 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
46 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
47 | </option> | ||
48 | <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"/> | ||
49 | <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"> | ||
50 | <listOptionValue builtIn="false" value="225"/> | ||
51 | </option> | ||
52 | <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"/> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | <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"/> | ||
56 | <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"/> | ||
57 | </tool> | ||
58 | <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"> | ||
59 | <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"/> | ||
60 | <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"/> | ||
61 | <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1841501414" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs"> | ||
62 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
63 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
64 | </option> | ||
65 | <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"> | ||
66 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
67 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
68 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
69 | </option> | ||
70 | </tool> | ||
71 | </toolChain> | ||
72 | </folderInfo> | ||
73 | </configuration> | ||
74 | </storageModule> | ||
75 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
76 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
77 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
78 | </cconfiguration> | ||
79 | </storageModule> | ||
80 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
81 | <project id="pcieboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
82 | </storageModule> | ||
83 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
84 | <project-mappings> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
88 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
89 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
90 | </project-mappings> | ||
91 | </storageModule> | ||
92 | <storageModule moduleId="refreshScope"/> | ||
93 | <storageModule moduleId="scannerConfiguration"/> | ||
94 | </cproject> | ||
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.project b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.project new file mode 100755 index 0000000..7622d10 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>pcieboot_helloworld_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.pdf</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_helloworld/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_PCIEBOOT_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..9786996 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/header.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
18 | * its contributors may be used to endorse or promote products derived | ||
19 | * from this software without specific prior written permission. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
25 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
26 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
27 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
28 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
29 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
30 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
32 | * | ||
33 | */ | ||
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 new file mode 100755 index 0000000..5fbbab6 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat | |||
@@ -0,0 +1,27 @@ | |||
1 | set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4" | ||
2 | set TOOL_DIR="..\..\..\..\..\..\" | ||
3 | set TARGET=k2k | ||
4 | set ENDIAN=little | ||
5 | set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; | ||
6 | |||
7 | |||
8 | @echo off | ||
9 | |||
10 | echo C6000_CG_DIR set as: %C6000_CG_DIR% | ||
11 | echo TARGET set as: %TARGET% | ||
12 | echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR% | ||
13 | |||
14 | echo Converting .out to HEX ... | ||
15 | if %ENDIAN% == little ( | ||
16 | %C6000_CG_DIR%\bin\hex6x -order L helloworld_image.rmd pcieboot_helloworld_evm%TARGET%.out | ||
17 | ) else ( | ||
18 | %C6000_CG_DIR%\bin\hex6x -order M helloworld_image.rmd pcieboot_helloworld_evm%TARGET%.out | ||
19 | ) | ||
20 | |||
21 | ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_helloworld.btbl pcieboot_helloworld.h pcieboot_helloworld.bin | ||
22 | |||
23 | ..\..\..\..\..\..\hfile2array\hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode | ||
24 | |||
25 | move pcieBootCode.h ..\..\..\linux_host_loader\pcieBootCode_%TARGET%.h | ||
26 | |||
27 | |||
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 new file mode 100755 index 0000000..cea91ea --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh | |||
@@ -0,0 +1,23 @@ | |||
1 | export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4 | ||
2 | export TOOL_DIR="../../../../../../" | ||
3 | export TARGET=k2k | ||
4 | export ENDIAN=little | ||
5 | export PATH=${PATH};${SystemRoot}/system32;${SystemRoot}; | ||
6 | |||
7 | echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR} | ||
8 | echo TARGET set as: ${TARGET} | ||
9 | echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR} | ||
10 | |||
11 | echo Converting .out to HEX ... | ||
12 | if [ ${ENDIAN} == little ] | ||
13 | then | ||
14 | ${CGT_INSTALL_DIR}/bin/hex6x -order L helloworld_image.rmd pcieboot_helloworld_evm${TARGET}.out | ||
15 | else | ||
16 | ${CGT_INSTALL_DIR}/bin/hex6x -order M helloworld_image.rmd pcieboot_helloworld_evm${TARGET}.out | ||
17 | fi | ||
18 | |||
19 | ../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_helloworld.btbl pcieboot_helloworld.h pcieboot_helloworld.bin | ||
20 | |||
21 | ../../../../../../hfile2array/hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode | ||
22 | |||
23 | 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 new file mode 100755 index 0000000..a0effff --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/bin/helloworld_image.rmd | |||
@@ -0,0 +1,11 @@ | |||
1 | -a | ||
2 | -boot | ||
3 | -e _c_int00 | ||
4 | |||
5 | ROMS | ||
6 | { | ||
7 | ROM1: org = 0x80000000, length = 0x200000, memwidth = 32, romwidth = 32 | ||
8 | files = { pcieboot_helloworld.btbl } | ||
9 | } | ||
10 | |||
11 | |||
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/macros.ini b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/macros.ini new file mode 100755 index 0000000..5f9fb3f --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/macros.ini | |||
@@ -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 new file mode 100755 index 0000000..bf36f80 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_helloworld/evmk2k/pcieboot_helloworld.cmd | |||
@@ -0,0 +1,64 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x2000 | ||
40 | -stack 0x2000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | DDR (RWX) : org = 0x80000000, len = 0x20000000 | ||
46 | LL2 (RWX) : org = 0x00800000, len = 0x00010000 | ||
47 | } | ||
48 | |||
49 | SECTIONS | ||
50 | { | ||
51 | .text > DDR | ||
52 | platform_lib > DDR | ||
53 | .const > DDR | ||
54 | .neardata > LL2 | ||
55 | .fardata > DDR | ||
56 | .switch > DDR | ||
57 | .cinit > DDR | ||
58 | .stack > LL2 | ||
59 | .sysmem > LL2 | ||
60 | .bss > LL2 | ||
61 | .far > LL2 | ||
62 | .cio > LL2 | ||
63 | } | ||
64 | |||
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c b/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c index ffe9b4e..780c669 100644..100755 --- a/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c +++ b/boot_loader/examples/pcie/pcieboot_helloworld/src/pcieboot_helloworld.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions | 5 | * modification, are permitted provided that the following conditions |
@@ -64,6 +64,10 @@ | |||
64 | #define MAGIC_ADDR 0x8ffffc | 64 | #define MAGIC_ADDR 0x8ffffc |
65 | #endif | 65 | #endif |
66 | 66 | ||
67 | #ifdef DEVICE_K2K | ||
68 | #define MAGIC_ADDR 0x8ffffc | ||
69 | #endif | ||
70 | |||
67 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) | 71 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) |
68 | #define IPCGR(x) (0x02620240 + x*4) | 72 | #define IPCGR(x) (0x02620240 + x*4) |
69 | 73 | ||
@@ -72,7 +76,7 @@ | |||
72 | #define BOOT_UART_BAUDRATE 115200 | 76 | #define BOOT_UART_BAUDRATE 115200 |
73 | 77 | ||
74 | /* pcieboot_helloworld version */ | 78 | /* pcieboot_helloworld version */ |
75 | char version[] = "01.00.00.00"; | 79 | char version[] = "01.00.00.01"; |
76 | 80 | ||
77 | extern cregister volatile unsigned int DNUM; | 81 | extern cregister volatile unsigned int DNUM; |
78 | extern far uint32_t _c_int00; | 82 | 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 new file mode 100755 index 0000000..9786996 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/header.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
18 | * its contributors may be used to endorse or promote products derived | ||
19 | * from this software without specific prior written permission. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
25 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
26 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
27 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
28 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
29 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
30 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
32 | * | ||
33 | */ | ||
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 new file mode 100755 index 0000000..ad903f9 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.bat | |||
@@ -0,0 +1,25 @@ | |||
1 | set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4" | ||
2 | set TOOL_DIR="..\..\..\..\..\..\" | ||
3 | set TARGET=k2k | ||
4 | set ENDIAN=little | ||
5 | set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; | ||
6 | |||
7 | |||
8 | @echo off | ||
9 | |||
10 | echo C6000_CG_DIR set as: %C6000_CG_DIR% | ||
11 | echo TARGET set as: %TARGET% | ||
12 | echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR% | ||
13 | |||
14 | copy ..\..\..\..\..\..\post\evm%TARGET%\bin\post_evm%TARGET%.out | ||
15 | |||
16 | echo Converting .out to HEX ... | ||
17 | if %ENDIAN% == little ( | ||
18 | %C6000_CG_DIR%\bin\hex6x -order L post.rmd post_evm%TARGET%.out | ||
19 | ) else ( | ||
20 | %C6000_CG_DIR%\bin\hex6x -order M post.rmd post_evm%TARGET%.out | ||
21 | ) | ||
22 | |||
23 | ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin | ||
24 | ..\..\..\..\..\..\hfile2array\hfile2array pcieboot_post.h post.h post | ||
25 | 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 new file mode 100755 index 0000000..e64cae2 --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/pcieboot_post_elf2HBin.sh | |||
@@ -0,0 +1,22 @@ | |||
1 | export C6000_CG_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4 | ||
2 | export TOOL_DIR="../../../../../../" | ||
3 | export TARGET=k2k | ||
4 | export ENDIAN=little | ||
5 | |||
6 | echo C6000_CG_DIR set as: ${C6000_CG_DIR} | ||
7 | echo TARGET set as: ${TARGET} | ||
8 | echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR} | ||
9 | |||
10 | cp ../../../../../../post/evm${TARGET}/bin/post_evm${TARGET}.out . | ||
11 | |||
12 | echo Converting .out to HEX ... | ||
13 | if [ ${ENDIAN} == little ] | ||
14 | then | ||
15 | ${C6000_CG_DIR}/bin/hex6x -order L post.rmd post_evm${TARGET}.out | ||
16 | else | ||
17 | ${C6000_CG_DIR}/bin/hex6x -order M post.rmd post_evm${TARGET}.out | ||
18 | fi | ||
19 | |||
20 | ../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin | ||
21 | ../../../../../../hfile2array/hfile2array pcieboot_post.h post.h post | ||
22 | 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 new file mode 100755 index 0000000..d306bda --- /dev/null +++ b/boot_loader/examples/pcie/pcieboot_post/evmk2k/bin/post.rmd | |||
@@ -0,0 +1,12 @@ | |||
1 | -a | ||
2 | -boot | ||
3 | -e _c_int00 | ||
4 | |||
5 | ROMS | ||
6 | { | ||
7 | ROM1: org = 0x00800000, length = 0x80000, memwidth = 32, romwidth = 32 | ||
8 | files = { pcieboot_post.btbl } | ||
9 | } | ||
10 | |||
11 | |||
12 | \ 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 new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.cproject new file mode 100755 index 0000000..59b52bf --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.cproject | |||
@@ -0,0 +1,94 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1839694787" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srioboot_helloworld.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1271077405" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | </option> | ||
46 | <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"> | ||
47 | <listOptionValue builtIn="false" value="DEVICE_K2K"/> | ||
48 | </option> | ||
49 | <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"/> | ||
50 | <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"> | ||
51 | <listOptionValue builtIn="false" value="225"/> | ||
52 | </option> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | <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"/> | ||
56 | <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"/> | ||
57 | </tool> | ||
58 | <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"> | ||
59 | <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"/> | ||
60 | <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"/> | ||
61 | <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"> | ||
62 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
63 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
64 | </option> | ||
65 | <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"> | ||
66 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
67 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
68 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
69 | </option> | ||
70 | </tool> | ||
71 | </toolChain> | ||
72 | </folderInfo> | ||
73 | </configuration> | ||
74 | </storageModule> | ||
75 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
76 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
77 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
78 | </cconfiguration> | ||
79 | </storageModule> | ||
80 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
81 | <project id="srioboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
82 | </storageModule> | ||
83 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
84 | <project-mappings> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
88 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
89 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
90 | </project-mappings> | ||
91 | </storageModule> | ||
92 | <storageModule moduleId="scannerConfiguration"/> | ||
93 | <storageModule moduleId="refreshScope"/> | ||
94 | </cproject> | ||
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.project b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.project new file mode 100755 index 0000000..edcdfd3 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>srioboot_ddrinit_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.pdf</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_ddrinit/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_SRIOBOOT_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..9786996 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/header.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
18 | * its contributors may be used to endorse or promote products derived | ||
19 | * from this software without specific prior written permission. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
25 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
26 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
27 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
28 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
29 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
30 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
32 | * | ||
33 | */ | ||
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 new file mode 100755 index 0000000..743f964 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit.rmd | |||
@@ -0,0 +1,11 @@ | |||
1 | -a | ||
2 | -boot | ||
3 | -e _c_int00 | ||
4 | |||
5 | ROMS | ||
6 | { | ||
7 | ROM1: org = 0x800000, length = 0x80000, memwidth = 32, romwidth = 32 | ||
8 | files = { srioboot_ddrinit.btbl } | ||
9 | } | ||
10 | |||
11 | |||
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 new file mode 100755 index 0000000..f80530b --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.bat | |||
@@ -0,0 +1,25 @@ | |||
1 | set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4" | ||
2 | set TARGET=k2k | ||
3 | set ENDIAN=little | ||
4 | set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; | ||
5 | |||
6 | |||
7 | @echo off | ||
8 | |||
9 | echo C6000_CG_DIR set as: %C6000_CG_DIR% | ||
10 | echo TARGET set as: %TARGET% | ||
11 | |||
12 | echo Converting .out to HEX ... | ||
13 | if %ENDIAN% == little ( | ||
14 | %C6000_CG_DIR%\bin\hex6x -order L srioboot_ddrinit.rmd srioboot_ddrinit_evm%TARGET%.out | ||
15 | ) else ( | ||
16 | %C6000_CG_DIR%\bin\hex6x -order M srioboot_ddrinit.rmd srioboot_ddrinit_evm%TARGET%.out | ||
17 | ) | ||
18 | |||
19 | ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile srioboot_ddrinit.btbl srioboot_ddrinit.h srioboot_ddrinit.bin | ||
20 | |||
21 | ..\..\..\..\..\..\hfile2array\hfile2array srioboot_ddrinit.h srioDdrInit.h ddrInitCode | ||
22 | |||
23 | move srioDdrInit.h ..\..\..\srioboot_example\src\ | ||
24 | |||
25 | |||
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 new file mode 100755 index 0000000..e8d41ea --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/bin/srioboot_ddrinit_elf2HBin.sh | |||
@@ -0,0 +1,20 @@ | |||
1 | export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4 | ||
2 | export TARGET=k2k | ||
3 | export ENDIAN=little | ||
4 | |||
5 | echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR} | ||
6 | echo TARGET set as: ${TARGET} | ||
7 | |||
8 | echo Converting .out to HEX ... | ||
9 | if [ ${ENDIAN} == little ] | ||
10 | then | ||
11 | ${CGT_INSTALL_DIR}/bin/hex6x -order L srioboot_ddrinit.rmd srioboot_ddrinit_evm${TARGET}.out | ||
12 | else | ||
13 | ${CGT_INSTALL_DIR}/bin/hex6x -order M srioboot_ddrinit.rmd srioboot_ddrinit_evm${TARGET}.out | ||
14 | fi | ||
15 | |||
16 | ../../../../../../bttbl2hfile/Bttbl2Hfile srioboot_ddrinit.btbl srioboot_ddrinit.h srioboot_ddrinit.bin | ||
17 | |||
18 | ../../../../../../hfile2array/hfile2array srioboot_ddrinit.h srioDdrInit.h ddrInitCode | ||
19 | |||
20 | 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 new file mode 100755 index 0000000..6be232e --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/macros.ini | |||
@@ -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 new file mode 100755 index 0000000..f226d4b --- /dev/null +++ b/boot_loader/examples/srio/srioboot_ddrinit/evmk2k/srioboot_helloworld.cmd | |||
@@ -0,0 +1,74 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x1000 | ||
40 | -stack 0x1000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | L2_LOCAL (RWX) : org = 0x10800000, len = 0x80000 | ||
46 | } | ||
47 | |||
48 | SECTIONS | ||
49 | { | ||
50 | .text:_boot_entry > L2_LOCAL | ||
51 | .csl_vect > L2_LOCAL | ||
52 | .cppi > L2_LOCAL | ||
53 | .linkram > L2_LOCAL | ||
54 | .mac_buffer > L2_LOCAL | ||
55 | platform_lib > L2_LOCAL | ||
56 | .text > L2_LOCAL | ||
57 | GROUP (NEAR_DP) | ||
58 | { | ||
59 | .neardata | ||
60 | .rodata | ||
61 | .bss | ||
62 | } load > L2_LOCAL | ||
63 | .stack > L2_LOCAL | ||
64 | .cinit > L2_LOCAL | ||
65 | .cio > L2_LOCAL | ||
66 | .const > L2_LOCAL | ||
67 | .data > L2_LOCAL | ||
68 | .switch > L2_LOCAL | ||
69 | .sysmem > L2_LOCAL | ||
70 | .far > L2_LOCAL | ||
71 | .testMem > L2_LOCAL | ||
72 | .fardata > L2_LOCAL | ||
73 | } | ||
74 | |||
diff --git a/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c b/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c index d672c4f..99e8665 100644..100755 --- a/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c +++ b/boot_loader/examples/srio/srioboot_ddrinit/src/srioboot_ddrinit.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions | 5 | * modification, are permitted provided that the following conditions |
@@ -59,6 +59,10 @@ | |||
59 | #define MAGIC_ADDR 0x8ffffc | 59 | #define MAGIC_ADDR 0x8ffffc |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | #ifdef DEVICE_K2K | ||
63 | #define MAGIC_ADDR 0x8ffffc | ||
64 | #endif | ||
65 | |||
62 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) | 66 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) |
63 | 67 | ||
64 | /* OSAL functions for Platform Library */ | 68 | /* 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 new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/srio/srioboot_example/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_example/evmk2k/.cproject new file mode 100755 index 0000000..8417ba0 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_example/evmk2k/.cproject | |||
@@ -0,0 +1,94 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.647357048" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srio_boot_example.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.449966648" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | </option> | ||
46 | <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"> | ||
47 | <listOptionValue builtIn="false" value="DEVICE_K2K"/> | ||
48 | </option> | ||
49 | <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"/> | ||
50 | <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"> | ||
51 | <listOptionValue builtIn="false" value="225"/> | ||
52 | </option> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | <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"/> | ||
56 | <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"/> | ||
57 | </tool> | ||
58 | <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"> | ||
59 | <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"/> | ||
60 | <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"/> | ||
61 | <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"> | ||
62 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
63 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
64 | </option> | ||
65 | <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"> | ||
66 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
67 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
68 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
69 | </option> | ||
70 | </tool> | ||
71 | </toolChain> | ||
72 | </folderInfo> | ||
73 | </configuration> | ||
74 | </storageModule> | ||
75 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
76 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
77 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
78 | </cconfiguration> | ||
79 | </storageModule> | ||
80 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
81 | <project id="srioboot_example.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
82 | </storageModule> | ||
83 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
84 | <project-mappings> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
88 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
89 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
90 | </project-mappings> | ||
91 | </storageModule> | ||
92 | <storageModule moduleId="refreshScope"/> | ||
93 | <storageModule moduleId="scannerConfiguration"/> | ||
94 | </cproject> | ||
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/.project b/boot_loader/examples/srio/srioboot_example/evmk2k/.project new file mode 100755 index 0000000..1cc8ccd --- /dev/null +++ b/boot_loader/examples/srio/srioboot_example/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>srioboot_example_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.pdf</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_example/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_SRIOBOOT_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </projectDescription> | ||
diff --git a/boot_loader/examples/srio/srioboot_example/evmk2k/macros.ini b/boot_loader/examples/srio/srioboot_example/evmk2k/macros.ini new file mode 100755 index 0000000..6be232e --- /dev/null +++ b/boot_loader/examples/srio/srioboot_example/evmk2k/macros.ini | |||
@@ -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 new file mode 100755 index 0000000..6e1a8a3 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_example/evmk2k/srio_boot_example.cmd | |||
@@ -0,0 +1,76 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x2000 | ||
40 | -stack 0x2000 | ||
41 | |||
42 | MEMORY | ||
43 | { | ||
44 | L2 : origin = 0x800000, length = 0x80000 | ||
45 | |||
46 | } | ||
47 | |||
48 | SECTIONS | ||
49 | { | ||
50 | .csl_vect > L2 | ||
51 | .cppi > L2 | ||
52 | .linkram > L2 | ||
53 | .mac_buffer > L2 | ||
54 | platform_lib > L2 | ||
55 | .text > L2 | ||
56 | GROUP (NEAR_DP) | ||
57 | { | ||
58 | .neardata | ||
59 | .rodata | ||
60 | .bss | ||
61 | } load > L2 | ||
62 | .stack > L2 | ||
63 | .cinit > L2 | ||
64 | .cio > L2 | ||
65 | .const > L2 | ||
66 | .data > L2 | ||
67 | .switch > L2 | ||
68 | .sysmem > L2 | ||
69 | .far > L2 | ||
70 | .testMem > L2 | ||
71 | .fardata > L2 | ||
72 | } | ||
73 | |||
74 | |||
75 | |||
76 | |||
diff --git a/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c b/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c index 9bd7a2e..085fce3 100644..100755 --- a/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c +++ b/boot_loader/examples/srio/srioboot_example/src/srioBootExample.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions | 5 | * modification, are permitted provided that the following conditions |
@@ -52,6 +52,10 @@ | |||
52 | #define MAGIC_ADDR 0x8ffffc | 52 | #define MAGIC_ADDR 0x8ffffc |
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | #ifdef DEVICE_K2K | ||
56 | #define MAGIC_ADDR 0x8ffffc | ||
57 | #endif | ||
58 | |||
55 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) | 59 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) |
56 | 60 | ||
57 | /* Entry address of the boot image */ | 61 | /* Entry address of the boot image */ |
@@ -64,7 +68,7 @@ | |||
64 | #define WAIT_TIMEOUT 500000 | 68 | #define WAIT_TIMEOUT 500000 |
65 | 69 | ||
66 | /* SRIO Boot Example Version */ | 70 | /* SRIO Boot Example Version */ |
67 | char version[] = "01.00.00.01"; | 71 | char version[] = "01.00.00.02"; |
68 | 72 | ||
69 | uint32_t coreNum; | 73 | uint32_t coreNum; |
70 | 74 | ||
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.ccsproject b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.ccsproject new file mode 100755 index 0000000..e82706d --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.ccsproject | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?ccsproject version="1.0"?> | ||
3 | |||
4 | <projectOptions> | ||
5 | <deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/> | ||
6 | <deviceEndianness value="little"/> | ||
7 | <codegenToolVersion value="7.2.4"/> | ||
8 | <isElfFormat value="true"/> | ||
9 | <rts value="rts6600_elf.lib"/> | ||
10 | <deviceFamily value="C6000"/> | ||
11 | </projectOptions> | ||
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.cproject b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.cproject new file mode 100755 index 0000000..847b17e --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.cproject | |||
@@ -0,0 +1,94 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <?fileVersion 4.0.0?> | ||
3 | |||
4 | <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> | ||
5 | <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings"> | ||
6 | <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513"> | ||
7 | <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug"> | ||
8 | <macros> | ||
9 | <stringMacro name="TI_MCSDK_SRIOBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/> | ||
10 | </macros> | ||
11 | <externalSettings/> | ||
12 | <extensions> | ||
13 | <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/> | ||
14 | <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
15 | <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
16 | <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | ||
17 | </extensions> | ||
18 | </storageModule> | ||
19 | <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | ||
20 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
21 | <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"> | ||
22 | <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath=""> | ||
23 | <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"> | ||
24 | <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1697507976" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList"> | ||
25 | <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/> | ||
26 | <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/> | ||
27 | <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/> | ||
28 | <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/> | ||
29 | <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=srioboot_helloworld.cmd"/> | ||
30 | <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/> | ||
31 | <listOptionValue builtIn="false" value="RTSC_PRODUCTS=ti.pdk:1.0.0.05;"/> | ||
32 | <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/> | ||
33 | </option> | ||
34 | <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"/> | ||
35 | <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1725890663" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/> | ||
36 | <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"/> | ||
37 | <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"> | ||
38 | <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"/> | ||
39 | <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"/> | ||
40 | <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"/> | ||
41 | <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"> | ||
42 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
43 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform""/> | ||
44 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages""/> | ||
45 | </option> | ||
46 | <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"> | ||
47 | <listOptionValue builtIn="false" value="DEVICE_K2K"/> | ||
48 | </option> | ||
49 | <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"/> | ||
50 | <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"> | ||
51 | <listOptionValue builtIn="false" value="225"/> | ||
52 | </option> | ||
53 | <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"/> | ||
54 | <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"/> | ||
55 | <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"/> | ||
56 | <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"/> | ||
57 | </tool> | ||
58 | <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"> | ||
59 | <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"/> | ||
60 | <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"/> | ||
61 | <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"> | ||
62 | <listOptionValue builtIn="false" value=""ti.platform.evmk2k.ae66""/> | ||
63 | <listOptionValue builtIn="false" value=""libc.a""/> | ||
64 | </option> | ||
65 | <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"> | ||
66 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/> | ||
67 | <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/> | ||
68 | <listOptionValue builtIn="false" value=""${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmk2k/platform_lib/lib/debug""/> | ||
69 | </option> | ||
70 | </tool> | ||
71 | </toolChain> | ||
72 | </folderInfo> | ||
73 | </configuration> | ||
74 | </storageModule> | ||
75 | <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | ||
76 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> | ||
77 | <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> | ||
78 | </cconfiguration> | ||
79 | </storageModule> | ||
80 | <storageModule moduleId="cdtBuildSystem" version="4.0.0"> | ||
81 | <project id="srioboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/> | ||
82 | </storageModule> | ||
83 | <storageModule moduleId="org.eclipse.cdt.core.language.mapping"> | ||
84 | <project-mappings> | ||
85 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/> | ||
86 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
87 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/> | ||
88 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
89 | <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/> | ||
90 | </project-mappings> | ||
91 | </storageModule> | ||
92 | <storageModule moduleId="refreshScope"/> | ||
93 | <storageModule moduleId="scannerConfiguration"/> | ||
94 | </cproject> | ||
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.project b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.project new file mode 100755 index 0000000..c377126 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/.project | |||
@@ -0,0 +1,102 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>srioboot_helloworld_evmk2k</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | ||
10 | <arguments> | ||
11 | <dictionary> | ||
12 | <key>?name?</key> | ||
13 | <value></value> | ||
14 | </dictionary> | ||
15 | <dictionary> | ||
16 | <key>org.eclipse.cdt.make.core.append_environment</key> | ||
17 | <value>true</value> | ||
18 | </dictionary> | ||
19 | <dictionary> | ||
20 | <key>org.eclipse.cdt.make.core.autoBuildTarget</key> | ||
21 | <value>all</value> | ||
22 | </dictionary> | ||
23 | <dictionary> | ||
24 | <key>org.eclipse.cdt.make.core.buildArguments</key> | ||
25 | <value>-k</value> | ||
26 | </dictionary> | ||
27 | <dictionary> | ||
28 | <key>org.eclipse.cdt.make.core.buildCommand</key> | ||
29 | <value>${CCS_UTILS_DIR}/bin/gmake</value> | ||
30 | </dictionary> | ||
31 | <dictionary> | ||
32 | <key>org.eclipse.cdt.make.core.buildLocation</key> | ||
33 | <value>${BuildDirectory}</value> | ||
34 | </dictionary> | ||
35 | <dictionary> | ||
36 | <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> | ||
37 | <value>clean</value> | ||
38 | </dictionary> | ||
39 | <dictionary> | ||
40 | <key>org.eclipse.cdt.make.core.contents</key> | ||
41 | <value>org.eclipse.cdt.make.core.activeConfigSettings</value> | ||
42 | </dictionary> | ||
43 | <dictionary> | ||
44 | <key>org.eclipse.cdt.make.core.enableAutoBuild</key> | ||
45 | <value>true</value> | ||
46 | </dictionary> | ||
47 | <dictionary> | ||
48 | <key>org.eclipse.cdt.make.core.enableCleanBuild</key> | ||
49 | <value>true</value> | ||
50 | </dictionary> | ||
51 | <dictionary> | ||
52 | <key>org.eclipse.cdt.make.core.enableFullBuild</key> | ||
53 | <value>true</value> | ||
54 | </dictionary> | ||
55 | <dictionary> | ||
56 | <key>org.eclipse.cdt.make.core.fullBuildTarget</key> | ||
57 | <value>all</value> | ||
58 | </dictionary> | ||
59 | <dictionary> | ||
60 | <key>org.eclipse.cdt.make.core.stopOnError</key> | ||
61 | <value>false</value> | ||
62 | </dictionary> | ||
63 | <dictionary> | ||
64 | <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> | ||
65 | <value>true</value> | ||
66 | </dictionary> | ||
67 | </arguments> | ||
68 | </buildCommand> | ||
69 | <buildCommand> | ||
70 | <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | ||
71 | <triggers>full,incremental,</triggers> | ||
72 | <arguments> | ||
73 | </arguments> | ||
74 | </buildCommand> | ||
75 | </buildSpec> | ||
76 | <natures> | ||
77 | <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature> | ||
78 | <nature>com.ti.ccstudio.core.ccsNature</nature> | ||
79 | <nature>org.eclipse.cdt.core.cnature</nature> | ||
80 | <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | ||
81 | <nature>org.eclipse.cdt.core.ccnature</nature> | ||
82 | <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | ||
83 | </natures> | ||
84 | <linkedResources> | ||
85 | <link> | ||
86 | <name>README.pdf</name> | ||
87 | <type>1</type> | ||
88 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/docs/README.pdf</locationURI> | ||
89 | </link> | ||
90 | <link> | ||
91 | <name>src</name> | ||
92 | <type>2</type> | ||
93 | <locationURI>TI_MCSDK_SRIOBOOT_DIR/srioboot_helloworld/src</locationURI> | ||
94 | </link> | ||
95 | </linkedResources> | ||
96 | <variableList> | ||
97 | <variable> | ||
98 | <name>TI_MCSDK_SRIOBOOT_DIR</name> | ||
99 | <value>$%7BPARENT-2-PROJECT_LOC%7D</value> | ||
100 | </variable> | ||
101 | </variableList> | ||
102 | </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 new file mode 100755 index 0000000..9786996 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/header.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
18 | * its contributors may be used to endorse or promote products derived | ||
19 | * from this software without specific prior written permission. | ||
20 | * | ||
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
25 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
26 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
27 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
28 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
29 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
30 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
32 | * | ||
33 | */ | ||
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 new file mode 100755 index 0000000..ff855e9 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.bat | |||
@@ -0,0 +1,27 @@ | |||
1 | set C6000_CG_DIR="C:\ti\ccsv5\tools\compiler\c6000_7.3.4" | ||
2 | set TOOL_DIR="..\..\..\..\..\..\" | ||
3 | set TARGET=k2k | ||
4 | set ENDIAN=little | ||
5 | set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; | ||
6 | |||
7 | |||
8 | @echo off | ||
9 | |||
10 | echo C6000_CG_DIR set as: %C6000_CG_DIR% | ||
11 | echo TARGET set as: %TARGET% | ||
12 | echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR% | ||
13 | |||
14 | echo Converting .out to HEX ... | ||
15 | if %ENDIAN% == little ( | ||
16 | %C6000_CG_DIR%\bin\hex6x -order L helloworld_image.rmd srioboot_helloworld_evm%TARGET%.out | ||
17 | ) else ( | ||
18 | %C6000_CG_DIR%\bin\hex6x -order M helloworld_image.rmd srioboot_helloworld_evm%TARGET%.out | ||
19 | ) | ||
20 | |||
21 | ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile srioboot_helloworld.btbl srioboot_helloworld.h srioboot_helloworld.bin | ||
22 | |||
23 | ..\..\..\..\..\..\hfile2array\hfile2array srioboot_helloworld.h srioBootCode.h bootCode | ||
24 | |||
25 | move srioBootCode.h ..\..\..\srioboot_example\src\ | ||
26 | |||
27 | |||
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 new file mode 100755 index 0000000..53ddc94 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_elf2HBin.sh | |||
@@ -0,0 +1,22 @@ | |||
1 | export CGT_INSTALL_DIR=~/ti/ccsv5/tools/compiler/c6000_7.3.4 | ||
2 | export TOOL_DIR="../../../../../../" | ||
3 | export TARGET=k2k | ||
4 | export ENDIAN=little | ||
5 | |||
6 | echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR} | ||
7 | echo TARGET set as: ${TARGET} | ||
8 | echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR} | ||
9 | |||
10 | echo Converting .out to HEX ... | ||
11 | if [ ${ENDIAN} == little ] | ||
12 | then | ||
13 | ${CGT_INSTALL_DIR}/bin/hex6x -order L helloworld_image.rmd srioboot_helloworld_evm${TARGET}.out | ||
14 | else | ||
15 | ${CGT_INSTALL_DIR}/bin/hex6x -order M helloworld_image.rmd srioboot_helloworld_evm${TARGET}.out | ||
16 | fi | ||
17 | |||
18 | ../../../../../../bttbl2hfile/Bttbl2Hfile srioboot_helloworld.btbl srioboot_helloworld.h srioboot_helloworld.bin | ||
19 | |||
20 | ../../../../../../hfile2array/hfile2array srioboot_helloworld.h srioBootCode.h bootCode | ||
21 | |||
22 | 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 new file mode 100755 index 0000000..d5410cc --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/bin/helloworld_image.rmd | |||
@@ -0,0 +1,11 @@ | |||
1 | -a | ||
2 | -boot | ||
3 | -e _c_int00 | ||
4 | |||
5 | ROMS | ||
6 | { | ||
7 | ROM1: org = 0xc000000, length = 0x20000, memwidth = 32, romwidth = 32 | ||
8 | files = { srioboot_helloworld.btbl } | ||
9 | } | ||
10 | |||
11 | |||
diff --git a/boot_loader/examples/srio/srioboot_helloworld/evmk2k/macros.ini b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/macros.ini new file mode 100755 index 0000000..6be232e --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/macros.ini | |||
@@ -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 new file mode 100755 index 0000000..05ca549 --- /dev/null +++ b/boot_loader/examples/srio/srioboot_helloworld/evmk2k/srioboot_helloworld.cmd | |||
@@ -0,0 +1,74 @@ | |||
1 | /****************************************************************************** | ||
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | * its contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | * | ||
32 | *****************************************************************************/ | ||
33 | /* | ||
34 | * Linker command file | ||
35 | * | ||
36 | */ | ||
37 | |||
38 | -c | ||
39 | -heap 0x2000 | ||
40 | -stack 0x2000 | ||
41 | |||
42 | /* Memory Map 1 - the default */ | ||
43 | MEMORY | ||
44 | { | ||
45 | DDR (RWX) : org = 0x80000000, len = 0x20000000 | ||
46 | } | ||
47 | |||
48 | SECTIONS | ||
49 | { | ||
50 | .text:_boot_entry > DDR | ||
51 | .csl_vect > DDR | ||
52 | .cppi > DDR | ||
53 | .linkram > DDR | ||
54 | .mac_buffer > DDR | ||
55 | platform_lib > DDR | ||
56 | .text > DDR | ||
57 | GROUP (NEAR_DP) | ||
58 | { | ||
59 | .neardata | ||
60 | .rodata | ||
61 | .bss | ||
62 | } load > DDR | ||
63 | .stack > DDR | ||
64 | .cinit > DDR | ||
65 | .cio > DDR | ||
66 | .const > DDR | ||
67 | .data > DDR | ||
68 | .switch > DDR | ||
69 | .sysmem > DDR | ||
70 | .far > DDR | ||
71 | .testMem > DDR | ||
72 | .fardata > DDR | ||
73 | } | ||
74 | |||
diff --git a/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c b/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c index 87aeba9..3a97ffb 100644..100755 --- a/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c +++ b/boot_loader/examples/srio/srioboot_helloworld/src/srioboot_helloworld.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /****************************************************************************** | 1 | /****************************************************************************** |
2 | * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com | 2 | * Copyright (c) 2011-2012 Texas Instruments Incorporated - http://www.ti.com |
3 | * | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions | 5 | * modification, are permitted provided that the following conditions |
@@ -64,6 +64,10 @@ | |||
64 | #define MAGIC_ADDR 0x8ffffc | 64 | #define MAGIC_ADDR 0x8ffffc |
65 | #endif | 65 | #endif |
66 | 66 | ||
67 | #ifdef DEVICE_K2K | ||
68 | #define MAGIC_ADDR 0x8ffffc | ||
69 | #endif | ||
70 | |||
67 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) | 71 | #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) |
68 | #define IPCGR(x) (0x02620240 + x*4) | 72 | #define IPCGR(x) (0x02620240 + x*4) |
69 | 73 | ||
@@ -72,7 +76,7 @@ | |||
72 | #define BOOT_UART_BAUDRATE 115200 | 76 | #define BOOT_UART_BAUDRATE 115200 |
73 | 77 | ||
74 | /* srioboot_helloworld version */ | 78 | /* srioboot_helloworld version */ |
75 | char version[] = "01.00.00.01"; | 79 | char version[] = "01.00.00.02"; |
76 | 80 | ||
77 | /* OSAL functions for Platform Library */ | 81 | /* OSAL functions for Platform Library */ |
78 | uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment) | 82 | uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment) |
@@ -163,7 +167,7 @@ void main () | |||
163 | { | 167 | { |
164 | sprintf(boot_msg, "\r\n\r\nBooting Hello World image on Core %d from Core 0 ...", core); | 168 | sprintf(boot_msg, "\r\n\r\nBooting Hello World image on Core %d from Core 0 ...", core); |
165 | write_uart(boot_msg); | 169 | write_uart(boot_msg); |
166 | 170 | ||
167 | DEVICE_REG32_W(BOOT_MAGIC_ADDR(core), (uint32_t)write_boot_magic_number); | 171 | DEVICE_REG32_W(BOOT_MAGIC_ADDR(core), (uint32_t)write_boot_magic_number); |
168 | 172 | ||
169 | /* Delay 1 sec */ | 173 | /* Delay 1 sec */ |