Hallo, ich habe ein ca. Scheckkartengrosses Board mit Cortex M3 sowie Ethernet, USB und microSD gebaut. SDRAM ist auch mit drauf. Ich frage mich: wäre es prinzipiell möglich, ein Linux da drauf laufen zu lassen? RAM ist ja genug vorhanden und eine MPU gibt es auch. Booten könnte man es von der microSD. Was wäre alles noch zu tun?
alfons schrieb: > Ich frage mich: wäre es prinzipiell möglich, ein Linux da drauf laufen > zu lassen? Ja, prinzipiell ist das möglich, siehe z.B. [1]. alfons schrieb: > Was wäre alles noch zu tun? Das wird z.T. auch unter [1] beschrieben. Allerdings sollte man schon fundiertes Wissen in Sachen Patchen, (Cross-)Kompilieren & Co. haben. Für einen Anfänger ist das jedenfalls nichts. [1] http://www.linux-arm.org/LinuxKernel/LinuxM3
Hallo, nun ja, mit Linux habe ich einfach Grundkenntnisse, aber C usw. sitzt, auch das Programmieren des CM3 ist kein Problem, daran soll es also nicht liegen. Sooo ein blutiger Anfänger bin ich also nicht :-) aber es stimmt insofern, dass ich mit embedded Linux bisher noch nichts gemacht habe. Der Vorteil da wäre halt, dass Netzwerkstacks und Filesysteme fertig sind; die selber zu implementieren macht nicht soooo Spass ;-)
Hallo nochmal, ich habe mir noch ein paar weiter Gedanken hierzu gemacht. Kann mir jemand zu folgenden Vermutungen/Fragen etwas sagen: 1. Wenn ich Ethernet sauber laufen habe, dann kann ich auch Software auf das Board runter laden und debuggen? 2. ist die Performance einigermassen brauchbar? ich werde den Prozessor mit 120 MHz rennen lassen, das SDRAM ist aber nur 16 Bit breit angebunden (ging leider nicht anders wegen Platz).
alfons schrieb: > 1. Wenn ich Ethernet sauber laufen habe, dann kann ich auch Software auf > das Board runter laden und debuggen? Seit wann ist Ethernet dafür gedacht Daten an andere Rechner zu schicken ?
Du brauchst ersteinmal einen Bootloader. UBoot oder was anderes passendes. Dann einen Kernel der für dein System Kompilliert ist und dann noch in Rootfilesystem.
also, das heisst, debugging via Ethernet sollte gehen? sehr gut. Michael, ok, das von u-boot habe ich bereits geahnt. Aber wenn ich einen bootloader habe, brauche ich dann ja auch noch etwas zum booten ;-) die frage ist, wie ich den kernel genau an meine HW anpasse, da bin ich auf Karol's Website (http://www.linux-arm.org/LinuxKernel/LinuxM3) nicht schlauer geworden.
Über Ethernet Debuggen ist ja ganz nett, aber soweit musst Du erstmal kommen. Bis dahin wirst Du eine serielle Schnittstelle zum Debuggen brauchen. Also ist ein FTDI Chip quasi Pflicht. Den kannst DU dann auch gleich für den Bootloader verwenden. Hast Du schonmal ein Minimal-Linux (z.B. auf einer Diskette) für einen PC zusammengestellt? Wenn nicht, dann versuch' das erstmal - ist nicht einfach. Programmierkenntnisse alleine sind nur die halbe Miete.
Hi Stefan, eine serielle Schnittstelle ist vorhanden. FTDI ebenso, ich kann also wählen. :-) ich habe nochmals ausgiebig gesucht mit Google, aber was so richtig hilfreiches habe ich noch nicht rausgefunden. Das einzige, was ich bisher weiss, ist, dass ich von kernel.org den Kernel runterladen und für meine Plattform ein Image "bauen" muss. Dem Kernel kann ich die für meine Plattform passenden Treiber gleich hinein programmieren, dann sollte das gehen. Die Frage ist, wie diese Hardwareanpassung genau funktioniert. Wie ich die Hardware ansprechen muss, ist klar, aber irgendwie muss ich da ja dann auch noch ein Interface zum Kernel haben, da stehe ich momentan auf dem Schlauch...
Ach ja: das mit der Diskette kann ich leider nicht machen, ich habe kein Diskettenlaufwerk. Unter Umständen könnte ich mit einer VirtualBox VM etwas machen?
Als erstes musst du einen funktionierenden Bootlader(uboot) bauen, den du anschliessend mit einem "OpenOCD-JTAG" (usbprog od. Wiggler) in deinen MC lädst. Als 1. Stufe muss der uboot eine USB-Terminal-Verbindung und eine Bootmöglichkeit von der SD-Karte oder über die Ethernet-Schnittstelle aufweisen, um den Linuxkernel zu laden. Da dein MC einen Cortex M3-Kern aufweist kannst möglicherweise einen Apex-Bootlader entsprechend bauen. http://www.lpclinux.com/LPC313x/LPC313xGettingstartedELDK Ansonsten würde ich zum bessern Verständnis die Gnublin-Veröffentlichungen durcharbeiten http://elk.informatik.fh-augsburg.de/pub/eplpc3131/Artikel/main.html# sowie die "embedded projects journal" ausgabe 12 und 13 in welchen ein Gnublin-goto enthalten ist Hans Peter
Hallo, Ok ich schaue mir diesen uboot mal an. Kompilieren und in den MC laden kann ich den sicher auch mit IAR Embedded Workbench oder? Oder muss ich da bereit zwingend GNU Tools benutzen (aus Kompatibilitätsgründen?) ich habe nur einen Segger JLink. Also ich versuche demnach erstmal uboot ans laufen zu kriegen, dann melde ich mich wieder.
Hallo, ich bins nochmal. Ich habe in den vergangenen Tagen mich intensiv mit dem Thema befasst. Ich denke ich werde wie folgt vorgehen: Von http://emcraft.com/index.php/home kann man ein "Board Support Package" für STM32F4 herunterladen, sowie einen u-Boot Port. Diese lade ich also runter, führe in meiner Linux VM "make all" aus und dann sollte da eine .bin-Datei entstehen, die ich auf meine HW runterladen kann, richtig? Mir ist noch nicht ganz klar, wie ich das an meine spezifischen Komponenten von meinem Board anpasse, z.B. RAM-Grösse und dergleichen. Wie geht man richtig vor? Auf der Site von Ulrich Radig sieht man auch, dass er ucLinux auf seine eigene ARM7-HW portieren konnte, aber wie es im Detail genau geht, ist leider auch nicht beschrieben :-( Viele Grüsse
alfons schrieb: > Oder muss ich > da bereit zwingend GNU Tools benutzen (aus Kompatibilitätsgründen?) Um die GNU Tools wirst du nicht herum kommen. Der Kernel z.B. ist in der Praxis eigentlich nur mit GCC kompilierbar. Von uBoot & Co. kann ich das zwar nicht mit Sicherheit sagen, aber in Anbetracht der Tatsache, dass du GCC sowieso benötigst und es kostenfrei ist, kannst du diesen auch jetzt schon aufsetzen.
In deinem Eingangspost hattest du von einem Eigenbauboard mit Cortex-M3-Kern geredet und jetzt ist es plötzlich ein M4-Kern?(STM32F4) Was ist es nun? Ein Selbstbauboard mit einem jungfräulichen µC, ein Bausatz oder ein Fertigboard? Welcher µC-Typ verwendest du und, wenn es sich nicht um einen Selbstbau handelt, welcher Boardtyp und Hersteller? Hans Peter
Sorry sorry, ich hatte mich vertippt! Natürlich ist es ein M3-Kern. Es war ein Tippfehler. Die HW ist ein Eigenbau.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.