Forum: Mikrocontroller und Digitale Elektronik AVR32 & Linux Anfängerfragen (Speicherausl., Flashen,.)


von Christian H. (ichris)


Lesenswert?

Ich bin ein Mikrocontroller Einsteiger, der sich aber aus Interesse 
einen avr32 besorgt hat, aber nun ein paar Fragen an euch hat :)

Info: avr32 ap7000 256mb nand flash mit linux 2.6.18? & busybox 1.8

*Wie kann ich die Belegung des NAND Speichers abfragen? mit df (-h) 
funktioniert es nicht :( Da werden 0 Einträge angezeigt

*Ich habe ein linux auf dem NAND und einen bootloader auf dem NOR 
Speicher - kann ich ohne jtag diese flashen ? ich will aus 
Übungs/Interessegründen einmal linux header usw. kompilieren (also mit 
cross-compiler und dann flashen)... könnte man dies über sd karte oder 
USB transferieren und dann installieren?? Ich habe nur Anleitungen für 
JTag gefunden und welche die per NAS übers Netzwerk booten und dann 
flashen - das klingt aber gefährlich/umständlich und ziemlich spezifisch 
:/

*kann man bei einem embedded linux ohne Probleme das Tastaturlayout auf 
Deutsch umstellen, oder wäre eine englische Tastatur besser geeignet?

mfg
ichris

ps: Risiko hin her, ich habe mir das Kit aus Interesse besorgt, also 
wäre es auch nicht allzu tragisch, wenn etwas Risikobereitschaft 
voraussetzt.

von ... (Gast)


Lesenswert?

Das Linux kannst du mit dem bootloader neu flashen. Den bootloader 
selbst besser nur mit JTAG.
Noch besser wäre der Weg direkt von der SD-Karte zu booten. Oder über 
NFS.

Busybox hat kein loadkeys implementiert, insofern ist eine Umstellung 
auf deutsches Tastaturlayout nicht möglich.

von Harry L. (mysth)


Lesenswert?

... schrieb:
> Busybox hat kein loadkeys implementiert, insofern ist eine Umstellung
> auf deutsches Tastaturlayout nicht möglich.

..was aber auch ziemlich egal ist, wenn man per SSH oder Telnet darauf 
zugreift ;)

Harry

von ... (Gast)


Lesenswert?

Harald L. schrieb:
> ..was aber auch ziemlich egal ist, wenn man per SSH oder Telnet darauf
>
> zugreift ;)

richtig, aber nicht wenn man die Tastatur direkt an das embedded System 
anschließt.

von Christian H. (ichris)


Lesenswert?

Danke für die Antworten! Also ich habe die Tastatur direkt am Board 
angeschlossen, daher entfällt die ssh-Geschichte, aber dann werde ich 
mir wohl eine englische Tastatur besorgen...

Ich hätte außer SD auch noch usb. Was soll ich nun machen? Wäre das NAND 
nicht schneller und daher besser für Linux? (als SD-Karte oder auf USB 
Stick) .. oder reichen die 256MB nicht für etwas anstendiges? .. Wieviel 
bräuchte Linux in minimaler Ausführung ? und wie könnte ich jetzt 
nachschauen, wieviel vom Speicher belegt sind ? ...

von ... (Gast)


Lesenswert?

kannst du mal schreiben welches Board du hast,oder ist das ein 
Geheimnis?
Von USB wird der bootloader (ich vermute mal u-boot) nicht booten, also 
bleibt nur SD-Karte oder wenn man häufiger das filesystem ändern will 
über NFS booten.
Ein einfaches filesystem hat ca. 8-10MB. Wenn viele Prg.dazukommen auch 
schon mal 60MB.

von Christian H. (ichris)


Lesenswert?

Nein, das ist natürlich kein Geheimnis ;)

Dieses Kit habe ich vor mir liegen
http://www.ic-board.de/product_info.php?info=p89_STK-ADB1000-AP7000OEMplus-3-5inchTFT.html

Von der Geschwindigkeit, wäre es wohl am Besten, wenn ich Linux auf den 
NAND lege - 256MB sollten dann ja kaum ein Problem machen. (oder?) Und 
ich neue Daten usw. per SD Karte auf das Gerät lege. Was wäre sinnvoll? 
Ich möchte möglichst viel über das System lernen und vl. sogar eigene 
Treiber programmieren. Busybox? Da in dem Kit auch ein Touchscreen 
enthalten war, wäre vielleicht auch QT interessant ..

NFS ist mir nicht wirklich sympatisch, da ich eigentlich vom Netzwerk 
unabhängig wäre und vl. mobil zB per GPS Daten verarbeiten möchte.

von Imon (Gast)


Lesenswert?

Hallo,

Ich denke auf dein Bord ist eine Netzwerk anschluss. um nur mal eben mit 
Linux zu Experimentieren würde ich das u-boot anweisen meinen Test 
kernel via TFTP zu laden und das Rootfilesystem per NFS  einbinden.

Sicher ist das nicht der Weisheit letzter Schluss weil man immer an 
seinen Entwicklungsrechner gebunden ist. Aber für die Zeit des 
Entwickeln ist es genau das was du braucht, denn so kommst du auf einen 
schnellen Zyklus beim Testen.

Das Brennen in denn Flash, ist nach meiner Erfahrung immer das 
langsamste am Debuggen, also ist man in der Regel ganz froh wenn man 
einfach nur ein neues Programm auf sein rechner von A nach B schieben 
muss um die geänderte Version zu testen.
Beim Kernel debuggen muss du dann halt nur denn Rest am Bord drücken 
werden und dein neuer Kernel wird gestartet.

Gerade wenn man mit der Materie anfängt hat man anfangs schnell mal eine 
Kernel Option Vergessen und ist dann recht froh wenn man nicht gefühlte 
15 Minuten warten muss bis der nächste Kernel ins Flash gebrannt ist.

Außerdem hat das entwickeln über TFTP und NFS denn großen Vorteil das 
man bis die Entwicklung abgeschlossen ist De facto immer noch die 
aktuelle Software auf den Flash hat und man diese jederzeit nutzen kann, 
bis die neue Software Einsatz bereit ist.

Erst wenn du zufrieden bist mit denn was dein NFS und TFTP System kann 
wird es zeit sich Gedanken zu machen das ganze in denn Flash zu brennen 
und das kannst du dann auf mehre arten machen, der uboot kann denn NAND 
im allgemeinen beschreiben, der Kernel sollte unter /proc/mtd die 
Partionen des Flash anzeigen, so das du auch unter Linux einen neuen 
Kernel und ein neues Rootfs auf das Bord bekommen kannst.

Diese zwei Methoden sind die von mir präferierten, da sie fast immer auf 
embedded linux Maschinen gehen,keinen Jtag oder ähnliches brauchen und 
auch relativ flott sind. Wichtig hierbei ist es auf keinen Fall das 
u-boot und denn ggf. Vorhanden preloader zu überschreiben, leider kenne 
ich das Bord nicht so das ich nicht weiß von wo er startet (NAND oder 
NOR FLASH) und ob es einen Preloader gibt.
Aber generell gilt wenn du eine dieser beiden Komponenten zerschießt 
brauchst du ein JTag um dann wieder ein Funktionierendes Bord zu haben.
Ausserdem gibt es IMHO selten einen guten Grund den prloader oder u-boot 
auszutauschen da diese eigentlich nur denn Kernel Starten sollen.Also am 
besten am anfang hiervon die Finger lassen.

von Christian H. (ichris)


Lesenswert?

Danke ! Das hat mir wirklich geholfen - und so werde ich es auch machen. 
Die Variante per SD scheint auch nicht ganz so einfach zu sein, bei 
meiner inet-Recherche bin darauf gestoßen, dass man anscheinend nicht 
direkt auf den Flash der SD zugreifen kann und das erschwert das ganze.

Weiters wusste ich auch nicht welches Dateisystem ich hätte nehmen 
sollen - Die meisten Anleitungen basieren auf jffs2, doch einigen Tests 
zufolge ist YAFFS & LogFS besser, aber letzteres noch nicht fertig.

Egal, auf jeden Fall werde ich jetzt einmal probieren, ob ich übers 
Netzwerk booten kann :)

thx

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.