descriptionnone
repository URLgit://git.xilinx.com/microblaze-gnu.git
ownergkrichar@purdue.edu
last changeThu, 16 Aug 2012 10:35:14 +0000 (16 03:35 -0700)
content tags
add:
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
		 
		 
shortlog
2012-08-16 GIT Repomb_gnu: Intial commit for Gcc-4.6.2 sources and toolcha... master
heads
11 years ago master