9 | |----->gcc,gdb,newlib,binutils,eglibc,linux (source files)
10 | |-----> microblaze specific library related files (newlib-variant-links newlib-variants-be newlib-variants-le)
14 |---------> Standalone toolchain build scripts (ex: build_binutils.sh, build_gdb.sh, .etc)
16 |---------> Crosstool-ng to build microblaze linux toolchains
18 |---------> binaries (contain linux toolchain binaries)
24 Building Standalone toolchain requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+ libraries
26 A. Steps to build Standalone toolchain (for linux)
29 1. Run "source build_all.sh" in bash shell it will run all the required scripts
33 2. There are 6 steps in building the standalone tool chain. Following steps should be executed in the same order.
36 Run ./build_binutils.sh
38 b. Building gcc intial phase
39 Run ./build_gcc_bootstrap.sh
44 d. Building gcc second phase
45 Run ./build_gcc_release_updated.sh
50 g. Building newlib variants
51 Run ./build_newlib_variants.sh
53 3. On the successful completion of build process a new directory named gnu is created which contains the microblaze tool chain for linux platform.
55 NOTE: These scripts will generate log files in build folder. We can refer them if we have any issues during build
58 B. Building standalone tool chain for NT platform (built on linux platform):
61 1. This tool chain is built on linux machine using Canadian cross compilation technique.
63 2. To build microblaze tool chain using Canadian cross compilation it requires standalone microblaze tool chain built on linux platform and mingw toolchain Hence for building the NT tool chain there is a need to build the microblaze tool chain in linux platform using above steps.
65 3. scripts used to build Standalone NT toolchain
66 . mingw_build_binutils.sh
68 . mingw_build_newlib.sh
69 . mingw_build_gcc_release.sh
70 . mingw_build_newlib_variants.sh
72 4. Run the following commands in bash shell:
73 ./link.sh <creates static links for standalone tool chain on linux platform>
74 Add the location to the PATH variable using the following command export PATH=$PWD/tools/bin:$PATH
76 5. Run windows_all.sh or run scripts of step3 in the same order
78 Nt Tool chain is built in release/mingw folder.
84 Steps to build Linux toolchain (built on linux platform)
86 1. We need to configure crosstool-ng. Go to crosstool-ng folder (cd crosstool-ng)
88 ./configure --prefix=$HOME/ctng
91 export PATH=$PATH:$HOME/ctng/bin
93 2. Create a temporary folder for build cross toolchains
97 3. copy required config file from sample folder to temp folder. (sample configs are explained below)
99 ex: cp ../samples/microblazeel-xilinx-linux-gnu/crosstool.config .
100 mv crosstool.config .config
102 4. then run "ct-ng menuconfig"
104 In menuconfig go to Paths and misc options >> common Root of Source Directory need to specify toolchain source folder
106 5. then run "ct-ng build" to build complete toolchain
109 There are 4 config files useful to build different varaints of linux toolchain
111 1. microblazeel-xilinx-linux-gnu
112 To build this varaiant of toolchain we need to use "crosstool-ng/samples/microblazeel-xilinx-linux-gnu/crosstool.config" file in step-3
114 2. microblaze-xilinx-linux-gnu
115 To build this varaiant of toolchain we need to use "crosstool-ng/samples/microblaze-xilinx-linux-gnu/crosstool.config" file in step-3
117 3. i686-w64-mingw32_microblazeel-xilinx-linux-gnu
120 mingw toolchain is avaiable at "crosstool-ng/i686-pc-mingw32" folder
121 -> microblazeel-xilinx-linux-gnu toolchain
122 To build this varaiant of toolchain we need to use "crosstool-ng/samples/i686-w64-mingw32_microblazeel-xilinx-linux-gnu/crosstool.config" file in step-3
124 4. i686-w64-mingw32_microblaze-xilinx-linux-gnu
127 mingw toolchain is avaiable at "crosstool-ng/i686-pc-mingw32" folder
128 -> microblaze-xilinx-linux-gnu toolchain
129 To build this varaiant of toolchain we need to use "crosstool-ng/samples/i686-w64-mingw32_microblaze-xilinx-linux-gnu/crosstool.config" file in step-3
131 After sucessful compilation toolchain is found in bld folder which is present at same crosstool-ng level(mb_gnu_13.4_early/bld )
134 If you need anymore informaion then mail us nmekala@xilinx.com