Getting the 68hc1x compile/debug tools on some OS distributions can be a bit of work. After getting every thing sorted out I built a down-loadable package along with a bash quick-install script. The script will build and install
* GNU Binutils 2.15
* GCC 3.3.6
* GDB 6.4
* Newlib 1.12.0
1.Download and extract the sources http://computer-ss.com/downloads.php?ca ... nload_id=1.
2.From the command prompt run the quick-install script (sh quick-install).
Please note the the 68hc1x tools are configured for the MC9S12 processor family. If you need 68hc11 support you must modify the quick-install script.
-Sean
Compiling 68hc1x Tools the Easy Way
- SleepyKeys
- LQFP144 - On Top Of The Game
- Posts: 549
- Joined: Mon Feb 11, 2008 10:52 pm
- Location: Arizona
- Contact:
Compiling 68hc1x Tools the Easy Way
You snooze, you lose!
Re: Compiling 68hc1x Tools the Easy Way
Thank you for the download you provided. I was finally able to get the tool chain to compile successfully on my redhat 9 linux.
However I had to make one change to your quick-install script before I could get it to work...
After the make install for binutils I had to add the following line to your quick-install script
export PATH=$INSTALLDIR/bin:$PATH
The above line is required so that the new binutils can be used for the rest of the builds.
Here is your modified script that worked for me...
#! /bin/bash
echo "This script was created to help you build the m68hc11/12 tools needed to compile FreeEMS code."
echo "Questions/Comments Please email info@powerEFI.com"
echo "Press enter to continue"
read
# Some nice defines
export ROOTDIR=`pwd`
export BINUTILS=binutils-2.15
export GCC=gcc-3.3.6
export GDB=gdb-6.4
export NEWLIB=newlib-1.12.0
export TARGET=m6812-elf
export PROGRAM_PREFIX=m6812-elf-
export INSTALLDIR=$ROOTDIR/tools
mv binutils-2.15 binutils-2.15-m68hc1x
cd binutils-2.15-m68hc1x
patch -p1 < ../binutils-2.15-m68hc1x-20040801.diffs
cd binutils-2.15-m68hc1x
sh ./configure --target=m6812-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6812-elf-
make
make install
# Further steps require the binutils we just built
export PATH=$INSTALLDIR/bin:$PATH
cd ..
mv gcc-3.3.6 gcc-3.3.6-m68hc1x
cd gcc-3.3.6-m68hc1x
patch -p1 < ../gcc-3.3.6-m68hc1x-20060122.diffs
sh ./configure --target=m6812-elf \
--program-prefix=m6812-elf- \
--prefix=$INSTALLDIR \
--enable-languages=c,c++
make
make install
cd ..
mv gdb-6.4 gdb-6.4-m68hc1x
cd gdb-6.4-m68hc1x
patch -p1 < ../gdb-6.4-m68hc1x-20060122.diffs
sh ./configure --target=m6811-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6811-elf-
make
make install
cd ..
mv newlib-1.12.0 newlib-1.12.0-m68hc1x
cd newlib-1.12.0-m68hc1x
patch -p1 < ../newlib-1.12.0-m68hc1x-20040801.diffs
cd ..
mkdir build-newlib
cd build-newlib
sh ../newlib-1.12.0-m68hc1x/configure \
--disable-newlib-io-float --disable-newlib-multithread \
--target=m6812-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6812-elf-
make
make install
echo "Remember to set
BIN = /tools/bin
PREFIX = m6812-elf-
in Makefile"
Thanks again. I could not get it to work using the GNU 68hc11/12 downloads. But your download worked for me with the above small addition.
However I had to make one change to your quick-install script before I could get it to work...
After the make install for binutils I had to add the following line to your quick-install script
export PATH=$INSTALLDIR/bin:$PATH
The above line is required so that the new binutils can be used for the rest of the builds.
Here is your modified script that worked for me...
#! /bin/bash
echo "This script was created to help you build the m68hc11/12 tools needed to compile FreeEMS code."
echo "Questions/Comments Please email info@powerEFI.com"
echo "Press enter to continue"
read
# Some nice defines
export ROOTDIR=`pwd`
export BINUTILS=binutils-2.15
export GCC=gcc-3.3.6
export GDB=gdb-6.4
export NEWLIB=newlib-1.12.0
export TARGET=m6812-elf
export PROGRAM_PREFIX=m6812-elf-
export INSTALLDIR=$ROOTDIR/tools
mv binutils-2.15 binutils-2.15-m68hc1x
cd binutils-2.15-m68hc1x
patch -p1 < ../binutils-2.15-m68hc1x-20040801.diffs
cd binutils-2.15-m68hc1x
sh ./configure --target=m6812-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6812-elf-
make
make install
# Further steps require the binutils we just built
export PATH=$INSTALLDIR/bin:$PATH
cd ..
mv gcc-3.3.6 gcc-3.3.6-m68hc1x
cd gcc-3.3.6-m68hc1x
patch -p1 < ../gcc-3.3.6-m68hc1x-20060122.diffs
sh ./configure --target=m6812-elf \
--program-prefix=m6812-elf- \
--prefix=$INSTALLDIR \
--enable-languages=c,c++
make
make install
cd ..
mv gdb-6.4 gdb-6.4-m68hc1x
cd gdb-6.4-m68hc1x
patch -p1 < ../gdb-6.4-m68hc1x-20060122.diffs
sh ./configure --target=m6811-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6811-elf-
make
make install
cd ..
mv newlib-1.12.0 newlib-1.12.0-m68hc1x
cd newlib-1.12.0-m68hc1x
patch -p1 < ../newlib-1.12.0-m68hc1x-20040801.diffs
cd ..
mkdir build-newlib
cd build-newlib
sh ../newlib-1.12.0-m68hc1x/configure \
--disable-newlib-io-float --disable-newlib-multithread \
--target=m6812-elf \
--prefix=$INSTALLDIR \
--program-prefix=m6812-elf-
make
make install
echo "Remember to set
BIN = /tools/bin
PREFIX = m6812-elf-
in Makefile"
Thanks again. I could not get it to work using the GNU 68hc11/12 downloads. But your download worked for me with the above small addition.