Headings: !!Info !!Aufbau !!Verbesserungen !!Fortschritt !!Bottomline
Das Sabrelite ist ein Entwicklungsboard von Embest, mit einer i.mx6 ARM-CPU con Freescale mit folgenden Features:
- 4 Kerne bis 1,5GHz, mit jeweils
- Mali- Grafikkern
- Vektor Floatingpoint Unit
- Sata Port
- Gigabit Ethernet
- bis zu drei Monitore, 2x HD, 1x TV
Dies wird durch das Board nach draussen gereicht, zusätzlich hat es USB-Ports und 2 SD-Kartenslots sowie audio-buchsen und einen Jtag anschluss (in 10-Pin fine-pitch)
Das Board ist eine schöne Basis um sich im portieren zu üben.
Dazu habe ich mir einen Flyswatter2 angeschafft (Jtag), der über einen Daemon (OpenOCD) unter Linux ein Telnet oder Gdb interface zum Debugging bereitstellt.
Der Testaufbau besteht im Moment aus folgendem und ist meines Erachtens etwas aufwendig:
- Sourcen aus CVS auschecken (?RaspberryPi unter RiscOS oder Ubuntu-virtual Box)
- Transport zwischen virtual box und ?RaspberryPi mit Sunfish/Moonfish
- ?RaspberryPi RiscOS für das Compilieren der Sourcen mit Norcroft Compiler
- Sabrelite Board als Ziel
- Jtag Adapter zum Testen und Programmieren
- Ubuntu 10.4. virtual Box für den OpenOCD Dämon
- Telnet Client zum Registerdebugging und Source-upload von Hand, Upload direkt vom ?RaspberryPi möglich
- Das System kann viel einfacher aufgebaut werden wenn man es wie Willi macht: Openocd auf den Raspberry Portieren (die USB-Library mit Castle-Stack ist da das verbleibende Problem) und nur Raspberry, Flyswatter und Sabrelite verwenden.
- Zur Ausführung wäre ein Debugger schön, da wird's aber mit Norcroft schwierig ohne laufendes System. Als Alternative wäre Gdb mit cross-compiler interessant, nur muss dann geklärt werden was die Unterschiede sind, und evtl. nach Norcroft zurückportieren.
- GCCSDK läuft nicht unter Ubuntu 10.4., zumindestens nicht nach Anleitung
- Gdb Session einrichten
- Sabrelite testen
- Jtag-Kabel bauen
- virtuelle Maschine einrichten
- OpenOCD compilieren
- OpenOCD einrichten für Flyswatter2
- OpenOCD Sabrelite-cfg file organisieren
- OpenOCD Daemon von ?RaspberryPi, PC und Table erreichbar machen
- Register aus Prozessor auslesen
- Compiler auf ?RaspberryPi einrichten
- Quellenbaum auf ?RaspberryPi anlegen
- Baum vom Beagleboard übernehmen und aktualisieren
- CVS client einrichten
- oder aktualisierte sourcen über PC einpflegen
- aktuelles RISCOS für Beagleboard auf ?RaspberryPi bauen
- Branch für Sabrelite anlegen
- Startadresse ermitteln
- Serielle Schnittstelle ansprechen und Debugging-Infos ausgeben
- alles bis zur Programmierung der MMU ausführen
- MMU Einrichten
- Kommandozeile erreichen
- USB ansprechen
- Sata ansprechen
- Netzwerk ansprechen
- Desktop erreichen
- Bildschirmmodi abdecken
- Lima für Mali checken
---
UwesSeite ?StartSeite