wiki:FirmwareEntwicklung

Firmware-Entwicklung

Alle Projektdaten sind in einem Subversion-System (SVN) abgelegt. Die URL lautet http://o28.sischa.net/fifisdr/svn.

Allgemeine Informationen

Die aktuelle Firmware findet sich hier im SVN. Dort sind sowohl die fertig kompilierten .bin-Dateien als auch der Quellcode (im Unterordner fifisdr) zu finden. Die zur Entwicklung und Kompilierung benötigte Software ist nach Betriebssystem unten aufgeführt.

Die spezielle Firmware zur CPLD-Programmierung und auch der Bootloader sind aufgrund von Lizenzbestimmungen nur als kompilierte .bin öffentlich verfügbar. Der Quellcode dazu ist daher leider nur für registrierte Benutzer oder auf Anfrage verfügbar.

Compiler / Toolchain

Windows

Einen unter Windows lauffähigen Compiler um die Firmware zu übersetzen gibt es bei CodeSourcery, das aktuelle (8.8.2010) Release ist unter http://www.codesourcery.com/sgpp/lite/arm/portal/release1294 zu finden (Installer für Windows oder Linux).

Unbedingt auch die "getting started" Anleitung lesen! (auf der Downloadseite ein Stück weiter unten, unter "Documentation" zu finden.)

Linux

Der Quellcode läßt sich mit dem GNU-Compiler für den ARM Cortex-M3 übersetzen. Man bekommt ihn als komplettes Paket auf der Seite von Codesourcery. Man kann die Lite-Version herunterladen ohne irgendwelche Angaben zu machen. Wenn man auf einer Seite landet die Name oder Email abfragt, ist man falsch. Unter folgendem Link erhält man derzeit die aktuelle Version: Download

Unter Next Steps auf den Download-Link klicken. Auf der nächsten Seite unter EABI die Sourcery G++ Lite auswählen. Dann den IA32 GNU/Linux Installer herunterladen und installieren.

Wenn das Paket installiert ist und das zugehörige bin-Verzeichnis dem Pfad hinzugefügt wurde, dann sollte man die Firmware einfach per make aus dem obersten Verzeichnis des Quelltextes heraus übersetzen können.

$ cd <irgendwo>/trunk/Software/LPC/fifisdr
$ make

Die Firmware wird dann als Binary in src/fifisdr.bin abgelegt.

Mac

Die passende Toolchain zum bauen der Firmware unter OS-X ist unter folgender URL zu beziehen: http://github.com/jsnyder/arm-eabi-toolchain . Vorgehensweise (26.09.2010):

  • Falls nicht bereits vorhanden, ist zunächst das Versionsverwaltungstool Git zu installieren (z.B. mittels Fink)
  • Anschließend ein Verzeichnis zum bauen des Compilers anlegen (z.B. ~/arm_toolchain) und das Repository mit dem Script zum bauen der Toolchain mit git clone git://github.com/jsnyder/arm-eabi-toolchain.git herunterladen.
  • Danach entsprechend der README.md vorgehen (es folgen Auszüge):
  • sudo make install-deps um alle benötigen Bibliotheken 'am Start' zu haben (u.a. gmp und mpfr)
  • Den Bau der Toolchain mit mkdir -p $HOME/arm-cs-tools/bin und export PATH=$HOME/arm-cs-tools/bin:$PATH vorbereiten
  • Die Toolchain selbst bauen (dauert eine Weile und erfordert Internetzugang, da die Sourcen von der CodeSourcery Webseite geholt werden müssen): make install-cross
  • Zuletzt empfiehlt es sich, den Pfad zur Toolchain in die ~/.profile bzw. ~/.bash_profile Datei einzufügen, damit die Tools auch gefunden werden. Dazu folgende Zeile in die passende Datei (meist eine der eben genannten) einfügen: export PATH=$HOME/arm-cs-tools/bin:$PATH
Last modified 5 years ago Last modified on Mar 6, 2012 9:07:05 PM