description | none |
repository URL | git://git.xilinx.com/microblaze-gnu.git |
owner | gkrichar@purdue.edu |
last change | Thu, 16 Aug 2012 10:35:14 +0000 (16 03:35 -0700) |
mirror URL | git://repo.or.cz/microblaze-gnu.git |
| https://repo.or.cz/microblaze-gnu.git |
| ssh://git@repo.or.cz/microblaze-gnu.git |
bundle info | microblaze-gnu.git downloadable bundles |
content tags
|
|
README
Toolchain directory
mb_gnu_14.3_early
|
|---------> src
| |
| |----->gcc,gdb,newlib,binutils,eglibc,linux (source files)
| |-----> microblaze specific library related files (newlib-variant-links newlib-variants-be newlib-variants-le)
|
|
|
|---------> Standalone toolchain build scripts (ex: build_binutils.sh, build_gdb.sh, .etc)
|
|---------> Crosstool-ng to build microblaze linux toolchains
|
|---------> binaries (contain linux toolchain binaries)
|
|---------> README
Standalone-toolchain
Building Standalone toolchain requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+ libraries
A. Steps to build Standalone toolchain (for linux)
1. Run "source build_all.sh" in bash shell it will run all the required scripts
(or)
2. There are 6 steps in building the standalone tool chain. Following steps should be executed in the same order.
a. Building binutils
Run ./build_binutils.sh
b. Building gcc intial phase
Run ./build_gcc_bootstrap.sh
c. Building Newlib
Run ./build_newlib.sh
d. Building gcc second phase
Run ./build_gcc_release_updated.sh
f. Building gdb
Run ./build_gdb.sh
g. Building newlib variants
Run ./build_newlib_variants.sh
3. On the successful completion of build process a new directory named gnu is created which contains the microblaze tool chain for linux platform.
NOTE: These scripts will generate log files in build folder. We can refer them if we have any issues during build
B. Building standalone tool chain for NT platform (built on linux platform):
1. This tool chain is built on linux machine using Canadian cross compilation technique.
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.
3. scripts used to build Standalone NT toolchain
. mingw_build_binutils.sh
. mingw_build_gcc.sh
. mingw_build_newlib.sh
. mingw_build_gcc_release.sh
. mingw_build_newlib_variants.sh
4. Run the following commands in bash shell:
./link.sh <creates static links for standalone tool chain on linux platform>
Add the location to the PATH variable using the following command export PATH=$PWD/tools/bin:$PATH
5. Run windows_all.sh or run scripts of step3 in the same order
Nt Tool chain is built in release/mingw folder.
Linux-toolchain
Steps to build Linux toolchain (built on linux platform)
1. We need to configure crosstool-ng. Go to crosstool-ng folder (cd crosstool-ng)
./configure --prefix=$HOME/ctng
make
make install
export PATH=$PATH:$HOME/ctng/bin
2. Create a temporary folder for build cross toolchains
mkdir toolchain-build
cd toolchain-build
3. copy required config file from sample folder to temp folder. (sample configs are explained below)
ex: cp ../samples/microblazeel-xilinx-linux-gnu/crosstool.config .
mv crosstool.config .config
4. then run "ct-ng menuconfig"
In menuconfig go to Paths and misc options >> common Root of Source Directory need to specify toolchain source folder
5. then run "ct-ng build" to build complete toolchain
There are 4 config files useful to build different varaints of linux toolchain
1. microblazeel-xilinx-linux-gnu
To build this varaiant of toolchain we need to use "crosstool-ng/samples/microblazeel-xilinx-linux-gnu/crosstool.config" file in step-3
2. microblaze-xilinx-linux-gnu
To build this varaiant of toolchain we need to use "crosstool-ng/samples/microblaze-xilinx-linux-gnu/crosstool.config" file in step-3
3. i686-w64-mingw32_microblazeel-xilinx-linux-gnu
pre-requisites
-> mingw toolchain
mingw toolchain is avaiable at "crosstool-ng/i686-pc-mingw32" folder
-> microblazeel-xilinx-linux-gnu toolchain
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
4. i686-w64-mingw32_microblaze-xilinx-linux-gnu
pre-requisites
-> mingw toolchain
mingw toolchain is avaiable at "crosstool-ng/i686-pc-mingw32" folder
-> microblaze-xilinx-linux-gnu toolchain
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
After sucessful compilation toolchain is found in bld folder which is present at same crosstool-ng level(mb_gnu_13.4_early/bld )
If you need anymore informaion then mail us nmekala@xilinx.com