Empfehlungen für ein Entwicklungsboard für Embedded-Programmierung [Duplizieren]

9

Ich bin ein Elektronik- und Software-Student und würde gerne in die Welt der Embedded-Geräte einsteigen. An diesem Punkt ist es nur ein persönliches Interesse, keine Karrierewahl.

Ich habe etwas Erfahrung in C / C ++ (meist C ++). Ich bin ein erfahrener Linux-Benutzer. Ich habe ein Arduino, aber ich mag es wegen der Java-Schicht oben nicht. Es gibt Möglichkeiten, C-Code auf das Gerät zu laden, und ich habe dies getan.

Allerdings bin ich an dieser Stelle etwas verwirrt. Ich habe Dev gesehen. Kits mit Debugger und Programmiergeräten. Ich weiß nicht, wofür diese verwendet werden = & gt; Ich brauche Informationen über diese. Es gibt auch viele Entwickler. Kits da draußen, die verschiedene Funktionen zu bieten scheinen. Einige kommen mit Software (MPLab on PICs) wie Compiler und IDEs, die das Leben erleichtern.

Ich habe nach Büchern und Informationen gesucht, aber die meisten konzentrieren sich auf einen Prozessor, den ich nicht finden kann (oder kostet $ 500). Andere verbringen die meiste Zeit damit, C zu unterrichten (ich kenne C bereits).

Ich habe auch das Gefühl, dass es am besten wäre, mit einem ARM-Prozessor zu beginnen. Ich bin mir nicht sicher, ob das der beste Prozessor für den Anfang ist, aber sie scheinen eine Menge Features zu haben und sind jetzt sehr beliebt. Sie packen auch einen signifikanten Durchsatz (ich weiß, dass sie auch mehr Strom verbrauchen). Irgendwelche Empfehlungen dazu?

Ich habe mir das angesehen: Ссылка

Eine Buchempfehlung wäre auch willkommen. Wie ich schon sagte, habe ich mir einige angesehen, die sich auf PIC konzentrieren (meistens) -Keywords = eingebettete + Systeme & amp; x = 0 & amp; y = 0 "> Ссылка

Ich habe ein gutes Buch über ARM gefunden, aber ich bin mir nicht sicher, ob es für Leute ist, die neu in der Embedded-Entwicklung sind. Ich denke, es könnte für Leute sein, die neu bei ARM sind, aber mit Erfahrung in Embedded.

Danke und hoffe, es ist kein Doppel

    
s5s 28.03.2012, 00:38
quelle

5 Antworten

2

Wenn Sie C oder C ++ kennen und einen Eindruck von Embedded-Entwicklung gewinnen wollen, dann würde ich auch Arduino aus dem Weg gehen, da es im Vergleich zu neueren Mikros, insbesondere ARM Cortex-Geräten, ein schreckliches Preis- / Leistungsverhältnis hat. Es hat ein großartiges Ökosystem und eine barrierefreie Toolchain, aber wenn Sie keine Angst davor haben, schmutzig zu werden und mit einigen unfreundlichen Tools zu arbeiten, wird Ihnen ein ARM-Gerät einen besseren Einblick in die Embedded-Entwicklung geben.

Im Moment denke ich, das beste Angebot da draußen ist STM32F4Discovery von STMicroelectronics STM32F4Discovery . Sie sind um die $ 20, haben ein C-SDK und eine Toolchain, und es ist ein echter, leistungsfähiger Teil, den Sie zum Entwerfen und Embedded Device verwenden würden. Viele Peripheriegeräte und CPU (für was es ist); Der Cortex M4-Core ist für Mikrocontroller ziemlich weit fortgeschritten. Der einzige Nachteil bei diesem Board ist, dass es nicht ein kleines LCD-Display hat, aber die Dev-Kits, die dazu neigen, über $ 50 zu sein (obwohl, wenn Sie so etwas wollen, das TI/Stellaris Cortex M3-Kits sind auch ziemlich gut.Sie ​​sollten in der Lage sein, viele Ressourcen zu finden, um arm-eabi-gcc und OpenOCD (zum Programmladen) zu bekommen / debugging) unter Linux eingerichtet.

Raspberry Pi hört sich an, als hätte es bald die Chance, dieses Segment zu besitzen, obwohl ich denke, dass es eine etwas softwaregesteuerte Umgebung ist, da es ein ausgewachsenes Linux-System ist, obwohl es Header für Peripheriegeräte hat ein bisschen schwieriger, ein einfaches Embedded-System mit RPi im Vergleich zu einem MCU-Kit zu prototypieren, je nachdem, was Sie tun möchten. Das Gleiche gilt für BeagleBoard oder PandaBoard, sie sind verschiedene Klassen von Systemen und wenn Sie nur etwas Elektronik und Prototypen lernen wollen, ist die eine oder andere Idee vielleicht komplexer, als Sie wollen. Leider Verfügbarkeit von Raspberry Pi ist derzeit irgendwo zwischen unglaublich begrenzt und eines Tages bald, so ist es eigentlich keine brauchbare Wahl, wenn Sie heute etwas bestellen möchten.

    
Suboptimus 28.03.2012, 02:46
quelle
1

Neuros OSD ist ziemlich anständig. Sie können das Neuros OSD-Gerät für alles, wofür es verkauft wird, erhalten, und der gesamte Software-Stack ist Open-Source-Code, mit dem Sie frei arbeiten können. Sie haben eine anständige Dokumentation im Wiki-Stil und eine GNU-basierte Werkzeugkette. Wenn ich mich nicht irre ARM-basiert.

Ich konnte es auf den Punkt bringen und innerhalb weniger Stunden Code schreiben. Möglicherweise benötigen Sie ein RS232-Konverterkabel - senden Sie ihnen eine E-Mail und sie werden Ihnen eins schicken, wenn Sie bei eBay nichts finden.

    
littleadv 28.03.2012 01:03
quelle
1

Raspberry Pi ist das neue Kind auf dem Block. Entwickelt speziell für das Lernen, läuft es Linux und ist ein voll leistungsfähiger Computer für sich allein - kein Cross-Compiling notwendig. Es könnte schwierig sein, in naher Zukunft in die Hände zu bekommen.

    
Mark Ransom 28.03.2012 01:28
quelle
0

Ссылка

Keine Probleme bei der Verwendung von Straight C und Asm auf dem AVR, kein Grund, die Java-basierte Sandbox zu installieren, geschweige denn. gut, je nachdem, was Sie erleben möchten, wenn Sie Apps auf eine Umgebung schreiben möchten, ist es perfekt, wenn Sie eingebettete lernen wollen, dann schreiben Sie eingebettet. Der Preis für das, was Sie bekommen, ist jedoch ein Problem.

Die stm32f4-Entdeckung über $ 20, überraschend, was sie in einen Cortex-m4 packen. Die stm32-Wertlinien-Erkennung ist fast die Hälfte und nicht schlecht, aber ich würde mit dem stm32f4 gehen.

Die mbed-Familie ist in Ordnung, die Cortex-m0 ist einfacher zu brick (gut, Sie können mit einem kleinen bitty Draht und etwas Lötmittel erholen). Super einfach zu bedienen, aber Sie brauchen ihre Sandbox nicht, wenn Sie nicht wollen.

Sie könnten einfach mit dem amber_samples Repo / Simulator spielen. Sie können ARM asm und C embedded Erfahrung erhalten, ohne einen Groschen auszugeben. Der Amber-Prozessor ist ein Klon des Arm2, der Vorgänger des ARM von ARM. Nur wenige Unterschiede zwischen diesen und den modernen Waffen und die Unterschiede sind vermeidbar. Der Thumbulator-Simulator simuliert den Daumen-Befehlssatz, den Sie in den Cortex-M-Mikrocontrollern finden.

Es gibt eine Reihe anderer Simulatoren, skyeeye, gdb, habe Armsimulatoren von dem, was ich verstehe.

Es ist kein Arm, aber für $ 5 können Sie ein MSP430 Launchpad mit ein paar verschiedenen Mikros bekommen. Einfach zu bedienen, C / ASM, kein schlechter Befehlssatz.

    
old_timer 28.03.2012 04:28
quelle
0

Und um Ihre Frage zu Debuggern zu beantworten - Sie benötigen eine Möglichkeit, Ihr Programm zu laden und zu debuggen - und da Mikrocontroller normalerweise nicht mit Tastatur und Monitor ausgestattet sind, müssen Sie dies von einem Host-System aus tun. Da Sie Code auf der untersten Ebene schreiben, können Sie sich nicht auf Ethernet oder sogar RS232 verlassen, da diese in Software auf dem Mikrocontroller eingerichtet werden müssen, bevor sie verwendet werden können.

Hier kommt der Debugger ins Spiel. Neuere verbinden sich über USB mit Ihrem Computer und über eine JTAG-Schnittstelle (oder eine der neueren Alternativen) direkt mit Ihrem Mikrocontroller. Der Debugger ermöglicht es Ihnen, Code direkt in den eingebetteten Flash-Speicher des Mikrocontrollers zu laden und dessen Ausführung zu steuern, so dass Sie ihn debuggen können (Single-Stepping, Breakpoints, Speicherinspektion, usw.) von Ihrem Host.

Ein Debugger ist normalerweise die einzige Möglichkeit, mit einem komplett leeren Mikrocontroller zu kommunizieren. Sie können dann zum Beispiel einen Bootloader programmieren und damit alternative Interfaces starten lassen, von denen aus Anwendungen ausgeführt werden können.

Alles in allem ist ein Debugger ein wesentliches Werkzeug für die Embedded-Entwicklung. Ohne einen wirst du nicht weit kommen. Viele komplette Entwicklungskits haben einen eigenen Debugger, können aber auch separat gekauft werden. Ich benutze derzeit eine Olimex ARM-USB-OCD-H , für die Programmierung eines Custom-Board mit einem STM ARM-Cortex-M3-Chip, obwohl Eclipse unter Windows7. Der Olimex ist wahrscheinlich nicht der beste Debugger da draußen, aber er ist billig und hat gute Unterstützung durch Open-Source-Software (wie OpenOCD, wie in einer der anderen Antworten erwähnt). OpenOCD ist die Software, die für die Kommunikation mit dem Debugger verwendet wird Schnittstelle zu Eclipse Debugging-Tool).

Und noch ein Tipp: Wenn Sie anfangen, ist es eine gute Idee, ein Entwicklungskit mit allem zu bekommen: Board, Debugger / Programmierkabel und IDE. Dies gibt Ihnen alles, was Sie brauchen, um loszulegen, und ist viel viel einfacher als Compiler / Makefiles / Debugging-Umgebungen / Startup-Code und solche selbst einrichten (obwohl man argumentieren könnte, indem Sie dies durch Man lernt wertvolle Informationen darüber, wie alles zusammenpasst, aber es ist normalerweise nicht das, was ein Anfänger zuerst tun möchte (oder sollte).

    
sonicwave 28.03.2012 06:24
quelle

Tags und Links