Frage

Ich versuche, mit dem STM32 (Cortex-M3) und mein Plan, um loszulegen ist dies bekommen Arbeit von Ubuntu (9.04 / AMD64).

Zunächst bekam ich die Olimex STM32-H103 Topschild und der Olimex ARM-USB-OCD jtag, und auf der, dass ich wahrscheinlich OpenOCD verwenden, gcc und Eclipse.

Aber jetzt suche ich in welche Version von gcc zu verwenden und wie die Einrichtung in der Lage sein, den Code crosscompile.

Es scheinen einige Arm Projekte da draußen zu sein, aber ich weiß nicht, was mit zu beginnen, in der richtigen Richtung kann mich jemand schieben?

Danke Johan


Aktualisieren : Es scheint fast zu sein, was ich will von CodeSourcery , aber sie scheinen auf IA32 und AMD64 nicht konzentrieren können.

Doch in den unterstützten Geräten Ich finde die Cortex-M3

  • ARM EABI ARM M-Profil Simulator -mcpu = Cortex-M3 -mthumb

Aktualisieren : Es besteht die Möglichkeit IA32 ist auf AMD64 zu installieren, so vielleicht die deutliche Antwort ist bereits veraltet.

Aktualisieren : Gefunden dieser Verbindung, um crosscompile für den Cortex-M3.

War es hilfreich?

Lösung

Da diese Antwort ein wenig „unleserlich“ wurde, Ich habe eine Seite mit dieser Info.



Dies ist eine freie Interpretation auf diesen beiden Führungen basiert, aber ich hatte Versionen zu ändern und einige Patches anwenden, um es an die Arbeit.

Erste einige grundlegende Dinge

sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential

Dann habe ich einen Ort, um die Werkzeugkette (ändern cj.users zu, was gut für sie ist) zu speichern.

export TOOLPATH=/usr/local/cross-cortex-m3
sudo mkdir /usr/local/cross-cortex-m3
sudo chown cj.users /usr/local/cross-cortex-m3

Binutils

wget http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2
tar -xvjf binutils-2.19.tar.bz2
cd binutils-2.19
mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls

Wenden Sie den Patch zu tc-arm.c nach diesen Informationen http://sourceware.org /bugzilla/show_bug.cgi?id=7026 / http: // sourceware.org/bugzilla/attachment.cgi?id=3058&action=view

vi ../gas/config/tc-arm.c


make 
make install
export PATH=${TOOLPATH}/bin:$PATH
cd ../..

gcc

wget ftp://ftp.sunet.se/pub/gnu/gcc/releases/gcc-4.3.4/gcc-4.3.4.tar.bz2
tar -xvjf gcc-4.3.4.tar.bz2
cd gcc-4.3.4
mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
make all-gcc
make install-gcc
cd ../..

Newlib

wget ftp://sources.redhat.com/pub/newlib/newlib-1.17.0.tar.gz
wget http://www.esden.net/content/embedded/newlib-1.14.0-missing-makeinfo.patch
tar -xvzf newlib-1.17.0.tar.gz
cd newlib-1.17.0

Dann würde Ich mag den Patch mit so etwas gelten (aber es hat nicht funktioniert)

patch -p1 -i ../newlib-1.14.0-missing-makeinfo.patch

So öffnete ich es manuell und bearbeiten Linie 6651 nach dem Patch.

vi configure

mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as --disable-shared
make CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer -mcpu=cortex-m3 -mthumb -D__thumb2__ -D__BUFSIZ__=256" CCASFLAGS="-mcpu=cortex-m3 -mthumb -D__thumb2__"
make install
cd ../..

Weitere gcc

cd gcc-4.3.4/build
make CFLAGS="-mcpu=cortex-m3 -mthumb" CXXFLAGS="-mcpu=cortex-m3 -mthumb" LIBCXXFLAGS="-mcpu=cortex-m3 -mthumb" all
make install

aufsummieren

Jetzt gerade habe ich ein paar Wege zu meinem ~ / .bashrc

#STM32 gcc...
export TOOLPATH=/usr/local/cross-cortex-m3
export PATH=${TOOLPATH}/bin:$PATH

Und ich soll für den nächsten Schritt bereit sein ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top