Added build scripts for MAD
authorHao Zhang <hzhang@ti.com>
Thu, 17 Mar 2011 15:59:54 +0000 (11:59 -0400)
committerHao 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]
boot_loader/MAD_buildmad [new file with mode: 0644]
boot_loader/MAD_setupenv.bat [new file with mode: 0644]

diff --git a/boot_loader/MAD_README.txt b/boot_loader/MAD_README.txt
new file mode 100644 (file)
index 0000000..d1ce5e5
--- /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
new file mode 100644 (file)
index 0000000..3ab2f51
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..daa1d9a
--- /dev/null
@@ -0,0 +1,4 @@
+set MYSYSPATH=c:/msys/1.0/bin
+
+%MYSYSPATH%/bash
+