Frage:
MCU + Linux + Video?
Andrew
2010-10-31 05:02:23 UTC
view on stackexchange narkive permalink

Wie kann ich ein Gerät unter Linux (Android OS) mit Videoausgabe erstellen?

PS. Ich möchte kein vorhandenes, sehr anspruchsvolles Entwicklungsboard verwenden, sondern eines erstellen.

Danke!

kein Bild, aber irgendein Mikrocontroller ???????
Es ist in Ordnung, wenn Sie Ihre Frage bearbeiten, während Sie sie verfeinern
Möglicherweise können Sie einen leistungsstärkeren Mikrocontroller verwenden, der auf einer ARM-Architektur basiert, z. B. einen STM32 mit externem Speicher. Sie benötigen mindestens 1 MB, um Linux über eine Shell-Eingabeaufforderung zu starten, und wahrscheinlich mehr als 32 MB, um Android zum Laufen zu bringen. Selbst wenn es funktioniert, kostet es jedoch weit mehr als eine CPU + Speicherlösung oder eine einfache Lösung wie das von Joby Taffey vorgeschlagene BeagleBoard.
Fünf antworten:
pingswept
2010-10-31 06:47:46 UTC
view on stackexchange narkive permalink

Ich habe ungefähr 4 der letzten 6 Monate so etwas gemacht (ich habe dazwischen an einigen anderen Sachen gearbeitet). Das Erstellen meines eigenen Linux-Boards war eine enorme Lernerfahrung, aber es war auch eine ziemliche Herausforderung.

Hier sind einige Dinge, die ich gerne gewusst hätte, bevor ich angefangen habe:

  1. Im Allgemeinen bedeuten BGA-Pakete, dass Sie Spuren und Durchkontaktierungen mit feiner Tonhöhe verwenden müssen und es schwierig ist, die Platinen selbst zusammenzubauen. Selbst wenn es Ihnen gelingen würde, einen BGA selbst zu löten, würden Sie bei einem Problem nicht wissen, ob dies auf schlechtes Löten oder schlechtes Design zurückzuführen ist. Das schlimmste Problem ist jedoch, dass das Iterieren Ihres Designs dadurch teuer wird - etwa 1000 US-Dollar und 15 Werktage pro Umdrehung, wenn Sie in den USA leben.

  2. Aus Liebe zu William Shockley, beginnen Sie mit einem Referenzdesign mit Android-Unterstützung (in meinem Fall nur Linux). Mein Board basiert auf dem Atmel AT91SAM9G20 Evaluierungskit. Das hat mir viel Kopfschmerzen erspart.

  3. Verwenden Sie den U-Boot-Bootloader. Es ist die dominierende, was bedeutet, dass Sie an mehreren Stellen Unterstützung erhalten können.

  4. Bevor Sie mit dem Auslegen einer Platine beginnen, sollten Sie sich genau überlegen, wie Sie die Komponenten positionieren, um Spuren zu minimieren Länge. Ich habe dies bis zu einem gewissen Grad getan, aber nicht so viel, wie ich hätte tun sollen.

  5. Kaufen Sie das Entwicklungskit, das dem, was Sie bauen möchten, am ähnlichsten ist, und bauen Sie das Bootloader und Kernel von der Quelle. Das wird dir viel beibringen. Wenn Sie es mit Video ernst meinen, würde ich wahrscheinlich versuchen, die von mir gewählte Hardwareplattform zu überprüfen, bevor ich ein Board auslege.

  6. ol>

    Viel Glück.

Ich beende = x danke für deine Erfahrung
ps.: was kann ich mit 2 oder 3 altoids boxen machen?! muss ein Cinch-Adapter für Video sein. Vielen Dank
Mit nur 2 oder 3 Altoids-Boxen kann man nicht viel anfangen. Vielleicht 2 oder 3 Hochspannungskondensatoren mit niedrigem Wert herstellen? Oder eine Art Lagersystem für Münzstätten?
Ich möchte etwas wie die ybox machen http://www.ladyada.net/make/ybox2/
Vielleicht versuchen Sie es mit dem Chumby Hacker Board? http://www.adafruit.com/index.php?cPath=46&main_page=product_info&products_id=278
Diese Kommentare haben nichts mit der ursprünglichen Frage zu tun. Pingswept, als Mod solltest du solche Dinge identifizieren und vorschlagen, dass er eine neue Frage erstellt, anstatt ihn hier zu beantworten.
Das scheint mir hartnäckig zu sein, aber ich mache das gerne mit, wenn Andrew seinen Kommentar in eine Frage verwandeln möchte.
tcrosley
2010-10-31 06:07:46 UTC
view on stackexchange narkive permalink

TI hat mehrere Videoprozessoren in seiner DaVinci-Serie, von denen einige einen Mikroprozessor mit einem Videosystem mit oder ohne DSP kombinieren, auf dem Linux ausgeführt wird. Zum Beispiel enthält der TMS320DM365 einen ARM9 und einen H.264 / MPEG4 / MJPEG-Videobeschleuniger. Es kann 720p H.264 und MPEG4 mit 30 fps ausgeben.

Ich weiß, dass Sie nicht an einem Entwicklungsboard interessiert sind, sondern nur zu Ihrer Information, das Leopardboard 365, das diesen Chip verwendet, kostet nur 129 US-Dollar, und die Schaltpläne sind verfügbar. Sie können sie für Ihr eigenes Projekt anpassen.

Die beiden Linux-Varianten, die DM365 unterstützen, sind Ubuntu und MontaVista. Ich weiß nichts über Android.

akohlsmith
2010-10-31 05:13:40 UTC
view on stackexchange narkive permalink

Nicht möglich. PIC-Mikrocontroller sind weder 32-Bit noch haben sie etwas, das selbst den Anforderungen des kleinsten Linux-Kernels nahe kommt, geschweige denn des Benutzerraums.

Selbst PIC32s verfügen immer noch nicht über die Ressourcen, die selbst ein winziger Linux-Kernel bietet erfordert.

PIC32 sind keine ARM-Prozessoren. Sie sind eine Mischung aus MIPS und einigen benutzerdefinierten Funktionen. Ein STM32 ist ein Beispiel für einen Mikrocontroller mit einem ARM-Prozessor.
Ugh, das war ein ziemlich großer Gedanke. Ja, Sie haben absolut Recht, sie basieren auf MIPS und nicht auf ARM. Entschuldigung für die Fehlinformationen. Die anderen Punkte sind jedoch weiterhin gültig. :-)
Keine Sorge, wir haben sie alle ... wie mein Moment "Warum wird mein Interrupt nicht ausgelöst ... oh Mist, es ist in den falschen Pin eingesteckt", der nach 2 Tagen beim Debuggen eines Problems auftrat.
Thomas O
2010-10-31 05:14:49 UTC
view on stackexchange narkive permalink

Ich hasse es, Ihre Idee zu beeinträchtigen, aber ich glaube nicht, dass Sie einen PIC unter Linux und schon gar nicht unter Android bekommen könnten.

Möglicherweise können Sie einen PIC32 mit einem einfachen RTOS ausführen, aber nicht Linux - da die PIC32 nicht über genügend Speicher verfügen (maximal 128 KB).

atmel vielleicht ????
Zeigen Sie mir einen Atmel AVR (oder AVR32) mit mindestens 1 MB integriertem Datenspeicher und einer unterstützten Architektur. Sie könnten existieren, aber ich denke nicht.
Mit @Thomas, können Sie einem Mikrocontroller jederzeit Speicher hinzufügen. Sie können Ihr Mikro dann auf einer kleinen Menge Systemspeicher starten und von dem angeschlossenen Speicher booten. Das Problem beim Ausführen von Linux besteht darin, es so zu kompilieren, dass es das tut, was Sie möchten.
Ja, aber warum sollten Sie sich die Mühe machen, externe Logik hinzuzufügen, um ein paar Megabyte mehr zu erhalten, wenn Sie überhaupt einen Prozessor verwenden könnten, der für diese Aufgabe entwickelt wurde? Mikrocontroller sind keine CPUs und nicht für die Ausführung großer Kernel wie Linux ausgelegt.
Als Prozessor muss der Speicher von Natur aus extern sein, zumindest meines Wissens. Klingt so, als ob Sie in beiden Fällen externen Speicher benötigen.
Einige mobile Prozessoren haben Speicher auf dem Chip oder in einer Chip-auf-Chip-Konfiguration.
Toby Jaffey
2010-10-31 05:20:51 UTC
view on stackexchange narkive permalink

Mikrocontroller sind komplette Computer (RAM + CPU + Speicher + E / A) auf einem einzigen Chip.

Soweit ich weiß, gibt es keine Linux-Ports für Mikrocontroller, die ohne zusätzlichen externen RAM ausgeführt werden können - Linux benötigt also 2 oder mehr Chips (außer vielleicht in FPGAs).

Wenn Sie nach einem gut unterstützten Linux-Entwicklungsboard mit Videoausgabe suchen, ist das Beagleboard sehr beliebt Auswahl.

Oder Sie können Ihre eigenen erstellen. Sie benötigen jedoch auch eine Art Videoprozessor und Video-RAM, um mehr als nur einfache Grafiken zu erstellen.

Darüber hinaus ist Android groß - wirklich groß.

Einige relevante Tags: Android, Bild, Mikrocontroller, Linux



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...