Forum: Mikrocontroller und Digitale Elektronik Olimex sam9-L9260 Board und Linux


von A. F. (artur-f) Benutzerseite


Lesenswert?

Hi Leute, heute ist mein bestelltes Board angekommen. Die Hardware 
funktioniert soweit und ich kann mich als root über terminal einloggen. 
Nun würde ich gerne irgendwas in C ausprobieren, irgend ein kleines 
Programm schreiben, was unter Linux laufen sollte. Jetzt stehe ich aber 
leider auf dem Schlauch.

Es sind leider gar keine Beispiele auf der CD dabei und in der 26 Seiten 
langen Doku zu dem Board finde ich nur folgendes:

########################################################################
Extract one of the provided cross-compilers on your host system and add 
it
to the PATH variable. Use the cross-compiler to build the example, then
transfer it to the board by e.g. USB flash drive, http download etc.
Example commands:

----- On the host system -----
$ PATH=$PATH:/usr/local/arm/4.1.1-920t/bin
$ cat > hello.c
#include <stdio.h>
int main(void)
{
unsigned int i;
printf("\r\nProba proba ");
for (i=0; i<10; i++)
printf("\r\n%d", i);
return 0;
}
^D
$ arm-linux-gcc -o hello hello.c
$ cp hello ~/htdocs/
----- On the board -----
~ # wget http://192.168.0.xx/hello
~ # chmod 777 hello
~ # ./hello
Proba proba
01
....
########################################################################
Verstehe ich folgende Sachen richtig?:

- Man wird aufgefordert einen Cross-Compiler auf einem Linux Rechner zu 
installieren? (Ich arbeite mit Windows).

- Olimex setzt auch voraus, dass man auf seinem Linux-PC einen Webserver 
laufen hat um dann von diesem das Programm auf das Board zu holen?

Wenn ich jetzt noch bedenke, dass man nach jedem Compiliervorgang das 
gleiche ständig wiederholen muss und das bei einem Projekt von ca. 10000 
Zeilen Code, dreht sich mein Magen.

Was mir auch unklar ist, was genau über den http-Download übertragen 
werden soll. Welche(s) File(s) braucht Linux, um das programmierte 
Beispiel ausführen zu können? Werden diese Programme von Linux 
automatisch geladen? Wenn nicht, gibt es da eine Möglichkeit wie run 
unter Windows?

Kann mir jemand erklären, wie solch eine Programmierung unter den ARMs 
mit Linux überhaupt abläuft? Wie schreibt man ein Programm, welches nach 
dem Systemstart geladen wird und bestimmte IO Ports überwacht und 
reagiert?

Im Internet finde ich zu dem Board kaum Informationen. Kennt jemand eine 
gute Anleitung vielleicht?

Bin für jeden guten Rat dankbar.

von Thomas U. (tommy12)


Lesenswert?

Nimm VirtualBox als virtuelle Maschine und
installiere Dir da ein Linux rein.

Alles kostenlos und gut zu verwenden für genau diese Anwendung.

von Thomas U. (tommy12)


Lesenswert?

Kann mir jemand erklären, wie solch eine Programmierung unter den ARMs
mit Linux überhaupt abläuft? Wie schreibt man ein Programm, welches nach
dem Systemstart geladen wird und bestimmte IO Ports überwacht und
reagiert?


Na mit nem Crosscompiler genau für die ARM Plattform kompilieren,
dann auf die Zielplatform übertragen,
Debuging wohl über Terminal!

von A. F. (artur-f) Benutzerseite


Lesenswert?

Kann man nicht in WinARM programmieren/complilieren und dann die 
bin-files auf den ARM laden? Oder geht es  nur dann, wenn man auf dem 
ARM kein Linux laufen hat?

von A. F. (artur-f) Benutzerseite


Lesenswert?

Ich habe noch eine Frage. Ich kenne mich mit Linux so gut wie gar nicht 
aus. Beim Booten vom Board dauert es schon gute 10 Min bis User-Login 
angezeigt wird. Wenn ich jetzt ein Programm für das Board schreibe, was 
z.B. paar IO-Pins abfragt, wird dieses auch erst nach 10 Min ausgeführt 
oder direkt nach dem Laden des Kernels?

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.