[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