summaryrefslogtreecommitdiffstats
blob: d1ce5e50e6c2d7b2b23c8b9e99940eac351596af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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.