[linux-l] Embedded Linux
Axel Weiß
aweiss at informatik.hu-berlin.de
Do Nov 3 22:04:52 CET 2005
Oliver Bandel schrieb:
> > Hab hier'n Board, das mit 4
> > solchen Dual-Core Prozessoren bestückt ist,
>
> *hechel*
>
> > unter uCLinux zum Spielen
> > gebracht.
>
> Ach, wie?
> Auf den Teilen läuft Linux, oder ist das eine Entwicklungsumgebung
> unter Linux für Embedded-Teile?
Hi Oliver,
von den vier Blackfins ist einer mit doppelten Ressourcen (RAM und Flash)
ausgestattet, der spielt den Steuerprozessor. Die anderen drei sind
Arbeitsprozessoren. Auf dem Steuerprozessor läuft uCLinux, die
Arbeitsprozessoren werden mit Firmware beschickt. Das Linux ist dafür
da, dass man sich auf dem Board zu Hause fühlt (Konsole über USB-UART,
TCP/IP über Ethernet usw.). Die Prozessoren haben jeweils privaten
Speicher und kommunizieren über SPI miteinander. Über allen wacht noch
ein ARM7 als Watchdog, und in dem FPGA sind schätzungsweise 90% frei.
> Was ist das für ein Board?
> Ist as irgendwo her zu bekommen?
Es heißt Tepla und wurde von Aglaia entwickelt (www.aglaia-gmbh.de).
Derzeit gibt es sechs Exemplare, auf denen ein SDK entwickelt werden
soll. Jetzt bin ich dabei, Leute zu finden, die mir beim Programmieren
helfen (ja, es ist Geld dafür da;). Haste Interesse?
> Was musste denn da alles gemacht werden (Aufwandstechnisch),
> damit das Teil nun läuft?
Mit dem Tepla habe ich zum ersten Mal einen Blackfin aus der Nähe
gesehen. Google -> es gibt uCLinux für Blackfin-Prozessoren, leider wird
der BF561 noch nicht unterstützt. Hardware-Manual runtergeladen,
Toolchain, U-Boot und uCLinux vom CVS gezogen und nächtens an der
Portierung geschraubt.
Das Gute: die Toolchain funktioniert, liefert Code, der auf dem Blackfin
läuft. Das Schlechte: keine Komponente läuft 'von selbst'. So habe ich
mit dem Bootvorgang angefangen (der beim BF561 ganz anders funktioniert,
als bei den anderen Blackfins, sogar anders als dokumentiert) und nach
elf Tagen den ersten U-Boot-Prompt gesehen.
Bei Linux ist bekanntlich alles etwas ausführlicher als bei einem
Bootloader. Und mit einem neuen Prozessor muss man wirklich alles
anfassen, von der start.S über die Interruptverwaltung, den UART-Treiber
und die Speicherverwaltung, sogar der Flash-Treiber läuft nicht wie bei
den anderen. Jetzt habe ich aber ein bootendes uCLinux (derzeit nur auf
einem Core) und kann mich an die Treiber für die anderen Komponenten
machen (Flash-Filesystem, Ethernet, DMA, SPI, Firewire). Mittlerweile
habe ich weit über zweihundert Stunden verbraten.
> Machst Du das privat oder auf Arbeit?
Bis Ende September war ich noch Mitarbeiter an der Uni (befristeter
Vertrag, und Berlin ist pleite), Tepla habe ich sozusagen im Urlaub in
Betrieb genommen (und somit meinen neuen Arbeitsplatz bei Aglaia
'erarbeitet').
Gruß,
Axel
Mehr Informationen über die Mailingliste linux-l