m3dev

cortex m3 debug tools -- superceded by mdebug
git clone http://frotz.net/git/m3dev.git
Log | Files | Refs | README | LICENSE

building-cross-compiler.txt (1931B)


      1 
      2 New Instructions
      3 ----------------
      4 
      5 Use http://github.com/travisg/toolchains
      6 
      7 1. % git clone https://github.com/travisg/toolchains.git
      8 2. % cd toolchains
      9 3. % ARCHES=arm ./doit
     10 4. wait while it downloads and builds the toolchain
     11 5. arrange for toolchains/arm-eabi-4.8.2-Linux-x86_64/bin to be in your
     12    path or use local.mk to override the TOOLCHAIN build variable
     13 
     14 
     15 
     16 Old Instructions
     17 ----------------
     18 
     19 This is a transcript of how I built the toolchain, not really intended 
     20 to be run as a script.
     21 
     22 TODO: see if it's smaller/faster/etc to build only for cortex-m3
     23 
     24 Inspired by http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source and the gcc online manuals.
     25 
     26 
     27 # install packages needed on ubuntu
     28 sudo apt-get install libgmp3-dev libmpc-dev libgmp3-dev zlib1g-dev build-essential libncurses5-dev texinfo
     29 
     30 # setup workspace
     31 mkdir /work/tools
     32 cd /work/tools
     33 
     34 # grab sources
     35 wget http://mirrors.kernel.org/gnu/binutils/binutils-2.22.tar.bz2
     36 wget http://mirrors.kernel.org/gnu/gcc/gcc-4.6.2/gcc-4.6.2.tar.bz2
     37 wget http://mirrors.kernel.org/gnu/gdb/gdb-7.3.1.tar.bz2
     38 tar -xjvf binutils-2.22.tar.bz2
     39 tar -xjvf gcc-4.6.2.tar.bz2
     40 tar -xjvf gdb-7.3.1.tar.bz2
     41 
     42 mkdir build 
     43 
     44 cd build
     45 ../binutils-2.22/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls
     46 make
     47 make install
     48 cd ..
     49 rm -rf build/*
     50 
     51 cd build
     52 ../gcc-4.6.2/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib --enable-languages="c" --disable-nls --disable-shared --disable-threads --without-headers --with-gnu-as --with-gnu-ld  --with-system-zlib --disable-libssp --disable-libmudflap --disable-libgomp
     53 make
     54 make install
     55 cd ..
     56 rm -rf build/*
     57 
     58 cd build
     59 ../gdb-7.3.1/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib
     60 make
     61 make install
     62 cd ..
     63 rm -rf build/*
     64