2009-03-13 6 views
12

Ich versuche meine Embedded C/C++ Entwicklung auf ARM Architektur zu verbessern. Ich bin kürzlich von der 68K-Entwicklung auf ARM umgestiegen und wollte etwas von meiner Freizeit nutzen, um in die Plattform einzusteigen und die besten Praktiken zu lernen, insbesondere bei der Entwicklung für mobile Plattformen.Was ist das beste Evaluierungskit für das Lernen von Embedded C/C++ - Entwicklung?

Vorzugsweise ist die 32bit-Architektur hilfreich bei der Unterstützung von Entwicklungstools. Ein bisschen Spaß während des Lernprozesses kann mein Verständnis der Plattform verbessern.

Antwort

4

ST Micro hat ein sehr attraktives (und verpacktes) Kit für ihre ARM Cortex-M3-basierte STM32-Linie. MSRP läuft für die STM32-PRIMER mit 128x128 Farb-LCD, MEMS-Beschleunigungsmesser, Druckknopf, LEDs, USB und einigen Ersatz-GPIOs alles in einem Paket, das eine Batterie und USB zu JTAG-Debug-Verbindung enthält. Eine GCC-Toolchain und ein kommerzieller Debugger sollen mit dabei sein. Ich habe eine auf Bestellung, und werde versuchen, sich daran zu erinnern, diese Antwort zu bearbeiten, um eine kurze Überprüfung einzubeziehen, nachdem sie nächste Woche irgendwann ankommt.

Sie haben ein neues Modell basierend auf einem STM32 mit mehr FLASH und RAM auf dem Chip, die auch einen Micro-SD-Kartenanschluss hat, und ein größeres LCD, das einen resistiven Touchscreen enthält, der knapp über $ 100 läuft, wenn Sie es finden können Stock.

Luminary Micro hat eine Reihe von preiswerten Demo/Eval-Board-Kits. Die Leute hinter der eLua project (eine komplette Lua-Programmierumgebung, die in SoC- und MCU-Scale-Geräten läuft) scheinen die Luminary Micro Produktlinie zu mögen, aber ich habe keine persönliche Erfahrung damit.

+0

danke RBertig. sehr nützliche Informationen. Freue mich auf eine schnelle Überprüfung. Ich werde in der Zwischenzeit die Details der vorgeschlagenen Boards aus den verschiedenen Antworten untersuchen. – dubnde

+0

Der PRIMER kam genau nach Plan an, und ich war zu beschäftigt, um damit zu spielen. Ich werde sagen, dass meine schnelle Reaktion ist, dass sie einen netten Job gemacht haben, es ein lustiges Spielzeug zu machen ... und es ist sicher nicht überverpackt. Ich möchte eine echte Kritik schreiben. "Bald." – RBerteig

5

Es scheint, als gäbe es eine Menge Spaß mit der Arduino Plattform.

Die grundlegende Antwort ist wirklich "alles, was Sie sich leisten können, damit Sie Spaß Sachen bauen können" und Arduino scheint die Rechnung zu passen.

3

Da Sie für eine mobile Plattform entwickeln möchten, könnte die Beagle Board etwas für Sie sein.

Das STM32/Cortex M3, das andere erwähnte Poster ist tiefer eingebettet, es ist eher für mäßig anspruchsvolle Steuerungsanwendungen geeignet.

Arduino verwendet AVR-Controller, nicht ARM, und ist in der Nähe des unteren Endes noch tiefer eingebettet (das untere Ende ist PIC).

+0

AVR und PIC sind auf dem gleichen "Level", beide haben eine sehr große Auswahl an Chips, von wirklich einfach bis ziemlich leistungsstark. –

1

Ich denke, Sie müssen einen bestimmten Zweck haben, bevor Sie Embedded Arbeit beginnen. Was ich meine, ist, dass eingebettete Arbeit tendenziell spezialisierte Hardware hat, die versucht, eine Nische zu erreichen, die Allzweck-Computer derzeit nicht füllen können (oder zu teuer sind).

Wenn Sie einige Embedded-Hardware kaufen würden, würden Sie schließlich die "Hallo Welt" -App in einer Art Konsolenumgebung (entweder Telnet oder eine Art von UART oder über JTAG oder USB) laufen lassen, aber was dann? Warum töten Sie sich selbst, um den Boot-Up/Treiber usw. etc läuft "Hallo Welt"?


Ein bestimmter Zweck, den ich untersuche, ist Software-Defined-Radio. Vielleicht möchten Sie versuchen, ein einfaches UKW- oder AM-Radio auf einem Embedded-Gerät in Code zu implementieren, da dies Ihnen ein bestimmtes Ziel geben würde und es wirklich Spaß machen würde, das zu tun (und einen guten Grund, sich um das eingebettete System zu kümmern) !)

Es gibt nichts Besseres, als irgendeine Art von früher leerer Hardware wieder zum Leben zu erwecken und sie von der main() - Funktion bis zu etwas Nützlichem (wie FM oder AM Radio) einzuschalten.

dass Software Defined Radio Hardware Beachten Sie wird ein wenig mehr als erwartet kosten ...

0

www.embeddedarm. com - der TS-7800

th Es ist eine nette Plattform, die einen PC/104-Stack bietet. Für ungefähr $ 200 können Sie viel tun und viel über ihre Hardware lernen (UARTs, ADCs und Ähnliches) und Sie können Ihre Lernerfahrung über den 104-Stack erweitern.

1

Die Gumstix platform hat mich immer beeindruckt. Es ist eine "bullige" Plattform mit Linux, aber sie haben eine Vielzahl von Paketen starting at $150, aber auch eine Fülle von veröffentlichten how-tos/user projects. Die eine, die ich benutze, ist eine Art von uCLinux, so dass es ein leicht leichterer Übergang für neue Benutzer wäre.

1

Vorausgesetzt, dass Sie in die Embedded-Entwicklung interessiert sind:

Ich mag die Olimex Boards und die Nicht-Olimex Bretter verkauft durch sparkfun.com. sam7, lpc, etc.
Die stellaris Boards sind auch sehr gut.
Sie können eine Menge Zufriedenheit und Spaß bekommen, wenn Sie nur einen alten Gameboy Advance und eine Supercard SD bekommen, oder eine nds mit einem R4DS oder Cyclods verwenden. Die nds ist ein wenig schmerzhafter für einen Anfänger und die Einstiegskosten sind drei bis vier mal höher als ein GBA. Die gba mini oder sp hat eine Hintergrundbeleuchtung, die Sie fast sofort über die unbeleuchtete Original-Gba zu schätzen wissen. Und mit der GBA (oder nds) können Sie Ihre Füße nass mit einem Emulator wie VBA und müssen nichts kaufen. Die Luminary Micros sind ein guter Start mit einem schönen Display und ein paar anderen Bord-Gadgets zum Spielen. Seien Sie vorsichtig mit dem 811-Board, da es sehr einfach ist, zu brickeln, da es einen Jtag-Pin an einem Port mit Pins gibt, die Sie als generische I/O verwenden möchten. Auf der anderen Seite werden sie mit den Treibern für die On-Board-Peripheriegeräte geizig und versuchen, ein Betriebssystem wie Erfahrung anstatt einer eingebetteten Erfahrung zu verkaufen.

Wenn Sie nur Apps auf einem Betriebssystem schreiben möchten: Beagleboard oder embeddedarm oder qemu-Arm, es ist wirklich nicht anders als das Schreiben von Apps für jede andere Linux-Maschine, so dass der Arm-Faktor wirklich nicht da ist.