summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c31e466)
raw | patch | inline | side by side (parent: c31e466)
author | Hao Zhang <hzhang@ti.com> | |
Thu, 17 Mar 2011 15:59:54 +0000 (11:59 -0400) | ||
committer | Hao Zhang <hzhang@ti.com> | |
Thu, 17 Mar 2011 15:59:54 +0000 (11:59 -0400) |
boot_loader/MAD_README.txt | [new file with mode: 0644] | patch | blob |
boot_loader/MAD_buildmad | [new file with mode: 0644] | patch | blob |
boot_loader/MAD_setupenv.bat | [new file with mode: 0644] | patch | blob |
diff --git a/boot_loader/MAD_README.txt b/boot_loader/MAD_README.txt
--- /dev/null
@@ -0,0 +1,85 @@
+Tools required to build MAD loader on Windows environment:
+MinGW MSYS v1.0.11 (http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe)
+
+Steps to build MAD loader:
+1. Go to mad-utils\mad-loader directory, and modify the MYSYSPATH in setupenv.bat if necessary to set up the right tools path
+2. Run "setupenv.bat"
+3. Run ". ./buildmad" under bash command prompt, the buildmad script will build the MAD loader library/application and example applications
+
+
+Contents:
+./examples: This folder contains example applications and DSO(s) for testing the MAD flow
+./mal: This folder contains the source for MAD loader library and the loader application
+./nmlLoader: This folder contains the source for the no man's land loader(NML). NML is a
+ sub-component of the MAD loader and resides in a reserved virtual address space.
+
+Build instructions:
+NOTE FOR BUILDING ON WINDOWS ENVIRONMENT: For building on windows environment GNU utilities like
+"make" would be required. The following build procedure should also work on Cygwin or MINGW-MSYS Bourne shell.
+
+ Before starting the build following environment setup has to be done
+ 1) variable C_DIR should be set to the top directory of the Code Generation tools e.g.
+ Linux bash shell:
+ export C_DIR=/opt/TI/TI_CGT_C6000_7.2.0A10232/
+ MSYS bash shell:
+ export C_DIR='"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000"'
+ 2) Code Generation tool binaries should be in the path e.g.
+ Linux bash shell:
+ export PATH=/opt/TI/TI_CGT_C6000_7.2.0A10232/bin:$PATH
+ MSYS bash shell:
+ export PATH=$PATH:/c/Program\ Files/Texas\ Instruments/ccsv5/tools/compiler/c6000/bin/
+
+Example applications:
+ Each of the applications have a makefile which should be used to build the application.
+ make DEVICE=<device number>
+ supported device numbers are
+ C6472 (Tomahawk)
+ C6616 (Nyquist)
+ C6678 (Tomahawk)
+
+MAD loader library:
+ The makefile for building the MAD loader library is in the directory "mal/malLib/build"
+ Following are the steps to build the MAD loader library:
+ cd mal/malLib/build
+ make DEVICE=<device number>
+ supported device numbers are
+ C6472 (Tomahawk)
+ C6616 (Nyquist)
+ C6678 (Tomahawk)
+
+MAD loader application:
+ The makefile for building the MAD loader library is in the directory "mal/malApp/build"
+ NOTE: The MAD loader library has to be built prior to building MAD loader App
+ Following are the steps to build the MAD loader library:
+ cd mal/malApp/build
+ make DEVICE=<device number>
+ supported device numbers are
+ C6472 (Tomahawk)
+ C6616 (Nyquist)
+ C6678 (Tomahawk)
+
+ NOTE: MAD loader application needs to be XIP in DDR. The linker command file "lnk_<device number>.cmd"
+ is used to ensure that the MAD loader app is bound to XIP address in DDR.
+
+NML:
+ The makefile for building the NML is in the directory "nmlLoader/build"
+ Following are the steps to build NML:
+ cd nmlLoader/build
+ make DEVICE=<device number>
+ supported device numbers are
+ C6472 (Tomahawk)
+ C6616 (Nyquist)
+ C6678 (Tomahawk)
+
+ NOTE: Since NML is XIP in DDR, it has to be ensured that the NML code segments are bound to virtual address
+ which is XIP in DDR. NML is a part of the ROM file system loaded on DDR. if the offset of the
+ NML ELF file changes in the ROM file system, then this address needs to be modified. This can happen
+ if the size of the MAD loader application changes.
+ To get the current offset of NML in ROM file system, do a trial run of the MAP tool,
+ MAP tool will create a file ./tmp/fsOffsets.txt. This file will list the offset of all the
+ files in the filesystem.
+ The linker command file "lnk_<device number>.cmd" is used to ensure that the NML is bound to XIP address in DDR.
+ NOTE: NML also needs RW area for stack and global variables. By default the linker command file has been setup
+ to allocate the RW area towards the end of DDR memory. This should be changed by the user according to the
+ target execution environment.
+
diff --git a/boot_loader/MAD_buildmad b/boot_loader/MAD_buildmad
--- /dev/null
+++ b/boot_loader/MAD_buildmad
@@ -0,0 +1,23 @@
+export C_DIR='"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000"'
+export PATH=$PATH:/c/Program\ Files/Texas\ Instruments/ccsv5/tools/compiler/c6000/bin/
+
+cd mal/malLib/build
+make DEVICE=C6678
+
+cd ../../malApp/build
+make DEVICE=C6678
+
+cd ../../../nmlLoader/build
+make DEVICE=C6678
+
+cd ../../examples/shlibs
+make DEVICE=C6678
+
+cd ../app_1
+make DEVICE=C6678
+
+cd ../app_2
+make DEVICE=C6678
+
+cd ../../
+
diff --git a/boot_loader/MAD_setupenv.bat b/boot_loader/MAD_setupenv.bat
--- /dev/null
@@ -0,0 +1,4 @@
+set MYSYSPATH=c:/msys/1.0/bin
+
+%MYSYSPATH%/bash
+