Forum: Mikrocontroller und Digitale Elektronik ARM9 und Embedded Linux: Einstieg gesucht


von asd (Gast)


Lesenswert?

Hallo,

bei uns in der 4ma soll ein ARM9-Chip mit einem Embedded Linux neu 
eingesetzt werden.
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00288442.pdf
Die Artikel bei mikrocontroller.net und in der Linksammlung gehen ja 
alle eher auf ARM7 Chips ein. Sind die ARM9 Chips zu neu? Oder zu groß?
Wir wollen ein Embedded Linux drauf laufen lassen, vermutlich oder 
möglicherweise das von ST selber das auch schon auf dem Demoboard drauf 
ist:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00253464.pdf
bzw.
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00254644.pdf
Aber da ich mich mit Linux-Internas noch gar nicht beschäftigt habe hab 
ich noch nicht den Durchblick wie man sich die Ansteuerung der 
Peripherie vorstellen muß (bzw. die Struktur eines Programms das auf so 
einem Chip läuft allgemein). Für einiges gibt es sicher schon "Treiber" 
die man vom Userspace aus per /dev/xxx ansteuern kann. Aber wenn ich was 
spezielles brauche, z.B. einen Timer oder ein Pin der einen Interrupt 
auslöst, worauf zeitnah reagiert werden muß, kann es sein dass ich 
selber im Kernel was schreiben muß? Ein Modul?
Gibt es Literatur die da die Zusammenhänge aufklärt?
Bisher kenne ich Linux nur als Klick-Bunti-Benutzer (Suse auf dem 
Desktop), und hab 8Bit-AVR-uC per WinAVR in C programmiert. Ganz ohne 
OS, alle ISR selber programmiert, die mit dem Hauptprogramm über globale 
Variablen kommunizieren. Von diesem Niveau aus will ich mich in die 
Embedded Linux Geschichte einlesen. Hints? Links? Buchtipps?

Vielen Dank schon mal im voraus.

von Sven Wagner (Gast)


Lesenswert?

asd schrieb:
> Sind die ARM9 Chips zu neu? Oder zu groß?
Inzwischen sind die auch schon leicht abgehangen. Für den Linux-Bastler 
dürften die einfach zu teuer und/oder zu selten gewesen sein. Es gibt es 
viel weniger Kontroller mit ARM9-Kern, als mit ARM7. Wenn es was 
längerfristiges werden soll, würde ich gleich auf Cortex-M3/Cortex-M4 
setzen. Aber da sieht es zwar auch (noch) etwas dünn aus auf dem Markt, 
aber es scheint sich zu entwickeln.

Grüße
Sven

von jops (Gast)


Lesenswert?

Sven Wagner schrieb:

>Cortex-M3/Cortex-M4
> setzen. Aber da sieht es zwar auch (noch) etwas dünn aus auf dem Markt,

Schlaf´ weiter und träum süss!

jops

von JojoS (Gast)


Lesenswert?

im Wiki gibt es einen einfachen Vergleich der ARM Serien:
http://de.wikipedia.org/wiki/Cortex_M3
Zum ARM7 findet man vlt. hier etwas mehr weil das noch ein rel. 
einfacher µC ist und es günstige Boards z.B. mit den Atmel ATSAM7 
Prozessoren gibt.
Die ARM9 sind aufwändiger, brauchen ext. Arbeits- und Programmspeicher 
und sind schon für Betriebssysteme wie Linux oder WinCE ausgelegt (mit 
MMU). Die können eher mit viel Speicher umgehen, sind dafür bei I/O 
langsamer weil das über einen extra Bus läuft und die Reaktion auf 
Interrupts ist langsamer. Die neue Cortex Architektur ist da in vielen 
Dingen besser, man muss nur durch die neuen Bezeichnungen M0, M3, A5 
usw. durchsteigen.
Für Linux auf ARM9/11 oder Cortex-A muss sich für Hardwarezugriffe mit 
der Devicetreiberprogrammierung auseinandersetzen, aber das ist nicht 
meine Welt.

von asd (Gast)


Lesenswert?

> im Wiki gibt es einen einfachen Vergleich der ARM Serien:
> http://de.wikipedia.org/wiki/Cortex_M3

Vielen Dank für den Hinweis, hätte natürlich selber drauf kommen können 
in WP nachzuschauen. Was mich wundert dass der Cortex-A9 als ARM9 
Nachfolger von 2005 eingetragen ist, bei ST die CPUs mit Cortex-A9 aber 
erst ganz frisch rauskommen:

(http://www.st.com/internet/mcu/subclass/1156.jsp)
SPEAr1310/1340: Cortex A9 Kern (Marketing Status: Target/Preview)
SPEAr300/310/320/600: ARM9 Kern (ARM926EJ-S) (Marketing Status: Active)

> Für Linux auf ARM9/11 oder Cortex-A muss sich für Hardwarezugriffe mit
> der Devicetreiberprogrammierung auseinandersetzen, aber das ist nicht
> meine Welt.

Darum gings mir in dem Post. Irgendwo müssen die Programmierer ihr 
Wissen her haben. Ich weiß nicht ob die Bücher über 
Linux-Kernel-Programmierung für mich richtig sind, denn da dürfte es um 
x86 und PCs gehen, und ich weiß (noch) nicht wo die Ähnlichkeiten und 
die Unterschiede sind.


Beitrag "Re: ARM7, ARM9, AVR32 ..."
schreibt dann noch:
"... und irgendwann stellt man dann fest, dass eine solche grosse Lösung
erst bei erheblicher Stückzahl günstiger liegt als ein Mini-PC-Board wie
beispielsweise die VIAs."

Gibts da was was (erheblich) kleiner ist als Mini-ITX? So 1 
Quadratdezimeter, nicht wirklich hoch und mit 1 bis 3 Watt, aber schon 
ein Standard bei dem man davon ausgehen kann dass er quasi immer einen 
(Pin-/Steckerkompatiblen)Nachfolger findet wenn (eben wie Mini-ITX)
Sowas wie
http://www.taskit.de/produkte/stamp9g45/index.htm
zum Beispiel, aber nicht Firmen-spezifisch, sich mit sowas von einer 
einzigen (kleinen) Firma abhängig machen könnte fatal enden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.