From c4a92f4be6b9525d6b40fe820d4ddf37bcc6341c Mon Sep 17 00:00:00 2001 From: Hao Zhang Date: Thu, 17 Mar 2011 11:59:54 -0400 Subject: [PATCH] Added build scripts for MAD --- boot_loader/MAD_README.txt | 85 ++++++++++++++++++++++++++++++++++++ boot_loader/MAD_buildmad | 23 ++++++++++ boot_loader/MAD_setupenv.bat | 4 ++ 3 files changed, 112 insertions(+) create mode 100644 boot_loader/MAD_README.txt create mode 100644 boot_loader/MAD_buildmad create mode 100644 boot_loader/MAD_setupenv.bat diff --git a/boot_loader/MAD_README.txt b/boot_loader/MAD_README.txt new file mode 100644 index 0000000..d1ce5e5 --- /dev/null +++ b/boot_loader/MAD_README.txt @@ -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= + 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= + 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= + 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_.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= + 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_.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 index 0000000..3ab2f51 --- /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 new file mode 100644 index 0000000..daa1d9a --- /dev/null +++ b/boot_loader/MAD_setupenv.bat @@ -0,0 +1,4 @@ +set MYSYSPATH=c:/msys/1.0/bin + +%MYSYSPATH%/bash + -- 2.39.2