Frage

Ich bin auf der Suche über Embedded-Programmierung zu lernen (in C hauptsächlich, aber ich hoffe auch auf meinem ASM auffrischen) und ich frage mich, was die beste Plattform wäre. Ich habe einige Erfahrung im Umgang mit Atmel AVR und deren Programmierung mit dem STK500 und festgestellt, dass relativ einfach zu sein. Besonders gut gefällt mir AVR Studio und dem Debugger, dass Sie diesen Zustand der Register anzeigen können.

Wenn ich jedoch die Zeit nehmen, war zu lernen, würde ich lieber über etwas erfahren, die weit verbreitet in der Industrie ist. Ich denke ARM, das heißt, es sei denn jemand einen besseren Vorschlag hat.

Ich würde auch für einige Referenzmaterial suchen, ich habe die Bücher Abschnitt auf der ARM-Website, und wenn man ein technisch besseres Buch als eine andere ist, würde ich ein Heads-up zu schätzen wissen.

Das letzte, was ich suchen würde, ist eine Prototyping / Programmierung Bord wie das STK500, die einige Tasten hat und so weiter.

Dank =]

War es hilfreich?

Lösung

„Embedded-Programmierung“ ist ein sehr weit gefasster Begriff. AVR ist ziemlich gut in dieser Kategorie, aber es ist ein Schritt unter ARM, dass es sowohl einfacher zu bedienen, als auch weniger leistungsfähig.

Wenn Sie nur mit ARM spielen, um, kaufen Sie einen Nintendo DS oder ein Gameboy Advance. Diese sind sehr günstig im Vergleich zu der Hardware im Inneren (Wunder der Massenproduktion), und sie haben beide freie Entwicklung Toolchains basierend off von gcc, die für sie zusammenstellen können.

Wenn Sie mit Embedded Linux spielen, um möchten, Beagle sucht eine gute Option zu sein, nur 150 $ und es hat eine Tonne von Funktionen.

Ich persönlich denke, AVR am besten für die kleineren 8-Bit-Plattformen ist, und ARM ist am besten für die größeren, leistungsfähigeren 32-Bit-basierten Plattformen. Wie viele AVR Fans, mag ich nicht PIC. Es scheint nur noch schlimmer in so ziemlich jeder Hinsicht. Auch alles vermeiden, dass Sie jede Art von BASIC schreiben erfordert.

Andere Tipps

Wenn Sie nur mit ihm spielen, um möchten, würde ich die Arduino-Plattform vorschlagen ( http: //www.arduino. cc ). Es basiert auf dem ATmega168 oder ATmega8, je nach Ausführung. Es verwendet eine C-ähnliche Sprache und verfügt über eine eigene IDE.

Myself Ich habe jetzt seit 9 Jahren in Embedded-Programmierung gearbeitet und haben Erfahrung auf TI MSP430, Atmel AVR (ein paar Aromen) und wird eine ARM bald werden.

Mein Vorschlag ist, um Pickup etwas, das einige zusätzliche Funktionen in den Prozessor wie Ethernet-Controller verfügt und CAN-Controller, erhalten sogar zwei oder drei, wenn Sie können. Embedded-Geräte sind schön, mit zu arbeiten, aber sobald sie auf andere ähnliche Geräte über CAN reden können oder auf ein Netzwerk erhalten, können sie sich viel mehr Spaß zu spielen.

ARM hat die schönsten Befehlssatz der weit Embedded-Plattformen verwendet werden, so dass Sie sich die allgemeinen Grundsätze des Schreibens Software für Embedded-Plattformen zu holen, ohne in seltsamen Details verzetteln unten wie nicht-orthogonalen Register oder Zweigverzögerungsschlitze. Es gibt viele Emulatoren - ARM eigenen, während nicht kostenlos ist zyklusgenaue; und eine Vielzahl von programmierbarer ARM-basierten Hardware ist billig und einfach, indem auch zu kommen.

ADIs Blackfin eine weitere Option ist, da es ziemlich straight forward-Architektur-Programm ist, kann aber auch tun einige ziemlich heftige DSP Sachen sollten Sie diesen Weg gehen wählen. Es hilft, dass die Assembler-Sprache zu ganz gesund ist.

Die Blackfin STAMP Boards sind eine kostengünstige (~ $ 100 letzte, was ich geprüft) Art und Weise in und sie unterstützen die freien GCC-Tools und uClinux.

Wie auch immer Architektur, die Sie wählen, ich auf jeden Fall zuerst würde empfehlen, die Toolchain \ SDK herunterzuladen und auf der Suche durch die Beispielprojekte und Tutorials - in der Regel ein bisschen ein Stück über mit. Sie können oft ganz mit der Architektur durch Simulation vertraut machen, ohne auch nur jede Hardware zu berühren.

Die TI MSP430 eine groß ist Plattform für das Lernen, wie Mikrocontroller zu programmieren. TI hat eine Vielzahl von FREE Werkzeuge und einige billige Evaluierungs-Boards (ab $ 20). Plus, es ist ein Low-Power-, moderne Mikrocontroller.

Eine gute Wahl PIC18 von Microchip würde

  • Es hat ziemlich viel Material, Dokumentation, Tutorials und Projekte im Internet

  • Free IDE und Compiler.

  • Sie können Ihren eigenen Flash-Schreiber in ein paar Minuten ziehen. (Obwohl für einen Debugger müssen Sie arbeiten, härter arbeiten)

  • Wenn Sie ein Student sind (oder hat ein Student E-Mail-Adresse) Microchip erhalten Sie kostenlose Probe-Chips senden. Also im Grunde können Sie eine vollständige Entwicklungsumgebung für fast nichts haben.

  • PICs sind ganz in der Industrie weit verbreitet. Insbesondere als Controller für Roboter aus irgendeinem Grunde, obwohl sie so viel mehr tun.

Arduino scheint die Plattform der Wahl in diesen Tagen für Anfänger zu sein, obwohl es viele andere gibt. Ich mag die Olimex Bretter persönlich, aber sie sind nicht wirklich für Anfänger.

Microchip 's PIC Bereich von CPUs sind auch hervorragend für Anfänger, vor allem, wenn Sie programmieren in möchten Assembler.

BTW, ist Assembler nicht so viel verwendet, wie früher. Die allgemeine Regel eingebettet ist, wenn Sie 4k Speicher haben oder mehr, die Sie verwenden C. Portabilität und Sie können Code schneller entwickeln.

Ich nehme an, es auf Ihrer Fähigkeit abhängt und was wollen Sie mit dem Chip zu tun. Ich wähle in der Regel des eingebetteten Chip durch die verfügbaren Peripheriegeräte zu verwenden. Wenn Sie einen USB-Anschluss möchten, finden ein mit USB eingebaut, wenn Sie Analog-Digital wollen, finden ein mit einem ADC usw. Wenn Sie eine einfache Anwendung haben, verwenden Sie einen 8-Bit, aber wenn Sie es ernst Zahl brauchen Knirschen, geht 32 Bits.

Ich möchte das Beagleboard von TI vorzuschlagen. Es hat eine OMAP3 darauf. Das ist ein Cortex-A8 ARM11 CPU, ein C64x + DSP und einen Video-Beschleuniger als auch.

Der Vorstand kein teures jtag Gerät benötigen. Ein serielles Kabel eine eine SD-Card ist alles, was Sie brauchen, um loszulegen. Pension kostet nur $ 150 und es gibt eine sehr aktive Community.

www.beagleboard.org

Ihre Frage Art wurde in diese Frage .

, um das hinzuzufügen, wird die Embedded-Prozessor-Industrie sehr segmentiert, es hat keine großer Player wie Intel / x86 für die „Desktop“ Prozessor-Industrie. Der ARM-Prozessor hat einen großen Anteil haben, so tut MIPS glaube ich, und es gibt viele kleinere spezifischere Mikrocontroller wie Chips zur Verfügung (wie die MSP430 usw. von TI).

Wie für die Dokumentation, die ich für einen Job Embedded-Entwicklung zu tun, und die Dokumentation haben wir Zugang zu (als Software-Entwickler) ist eher spärlich. Ihre beste Wette ist die Dokumentation auf der Prozessor-Hersteller-Website zu verwenden.

Hier finden Sie aktuelle Verarbeitung und die damit verbundenen Arduino und Leiterplatten.

Wenn Sie nur Spaß haben wollen, dann den Parallax Propeller Chip versuchen. Die HYDRA-Spiele-Plattform sieht aus wie eine Explosion. Es gibt einen $ 100-C-Compiler für sie jetzt.

begann ich auf BASIC Stempel, nach oben durch SX-Chips und PICs in 8051s, dann 68332s, verschiedene DSPs, FPGAs Soft-Prozessoren, etc.

8051s nützlicher in der realen Welt sind ... werden die Dinge nicht weg. Es gibt Unmengen von Derivaten und verrückten Sachen für sie. (Bleiben Sie einfach weg von der DS80C400) Die Energiewirtschaft ist absolut voll von ihnen.

Beginnen Sie mit etwas winzig. Wenn Sie externen RAM und viele Register haben ... was ist der Unterschied zwischen diesem und einem SBC?

Vor vielen Monden habe ich mit 8-Bitters wie 68HC05 und Z80, später AVR und MSP430 (16-bit) gearbeitet. Allerdings jüngsten Projekte waren auf ARM7. Einige Hersteller bieten ARM-Controller, in allen Farben und Größen (na ja, nicht wirklich Farbe).

Arm (7) ersetzt 8-Bit-Architektur: es leistungsfähiger ist (32-Bit-RISC-Befehlszyklen bei schneller als die meist 8-bitters) hat mehr Speicher und ist mit mehreren IO-Konfigurationen erhältlich. Ich arbeitete mit NXP LPC2000-Controller, die auch preiswert sind (<1 USD für einen 32-bitter!).

Wenn Sie in Europa sind http://www.olimex.com/dev/index .html hat einige schöne Low-Cost-Entwicklungs-Boards. Arbeitet in dem Rest der Welt zu: -)

Für ein Spaß-Projekt zu testen, haben einen Blick auf Xgamestation

Aber für eine industrielle verwendet, um eine Chip-Lösung Programmierung, Blick auf PIC

Für meinen Computer Architecture Natürlich hatte ich sowohl mit einem PIC und AVR zu arbeiten; vielleicht war meiner Meinung nach der PIC einfacher, mit zu arbeiten, aber das ist, weil das ist, was wir mit dem gearbeitet und wir hatten die meiste Zeit sich daran zu gewöhnen. Wir nutzten den AVR vielleicht nur ein paar Mal, damit ich nicht den Dreh raus zu perfekt bekommen kann, aber es war auch nichts zu kompliziert, oder zumindest nicht mehr frustrierend als die andere.

Ich glaube, Sie auch Mikroprozessor bestellen können Proben von Microchip Website, so dass Sie auch mit, dass beginnen könnten?

Zweitens, dass:

Arduino-Plattform http://www.arduino.cc

HTH

Für das Lernen, können Sie nicht über den AVR gehen. Die Chips sind billig, und sie werden mit Null externen Komponenten laufen - sie auch genug Strom liefern eine vom Hafen gerade LED fahren

.

Sie können mit einem billigen Programmierer wie lady-ada Anfang USBtinyISP (USD $ 22 für ein Kit), die den Board mit 5V vom USB-Port mit Strom versorgen. Holen Sie sich das kostenlose Tool WinAVR (GCC basierte) und AVRStudio und erhält ein kleines Projekt in kürzester Zeit zu arbeiten.

Ja, die AVRs haben ihre Grenzen - aber für Mikrocontroller Entwicklung von Software ist weitgehend über Ressourcen und den Umgang mit diesen Problemen zu verwalten. Es ist unwahrscheinlich, dass Probleme wie Laufen aus Stapelspeicher, RAM oder ROM erfahren werden, wenn Sie hobbist Projekte für leistungsstarke ARM-Plattformen zu machen sind.

Wie gesagt, ARM ist auch eine große Plattform, die weit verbreitet in der Industrie verwendet wird, jedoch für das Lernen sehr ich AVRs empfehlen.

Ich würde vorschlagen, Microchip PIC18F Serie. Ich habe gerade angefangen mit dem Realice für sie zu entwickeln In-Circuit-Emulator, aber der pickit2 ist ein anständiger Debugger für den Preis. Sie könnten auch diese für den AVR sagen, aber es gibt eine große Anhängerschaft für das Gerät alle über das Internet. Ich konnte einen haben - Buggy, und dennoch funktional - Embedded USB-Gerät innerhalb weniger Tage aufgrund all der PIC im Zusammenhang Chatter läuft.

Das einzige, was ich über den PICs nicht wissen ist, wie, dass eine Menge Beispielcode sehr in die Demo-Boards umschlungen wird. Das kann es schwierig machen Abschnitte herauszureißen, die Sie brauchen, und noch eine Anwendung, die für Ihre Anwendung erstellen und ausführen.

Texas Instruments hat einen sehr interessanten Entwicklungs-Kit auf einem sehr niedrigen Preis-Freigabe: Die eZ430-Chronos Development Tool eine MSP430 enthält mit Display und verschiedenen Sensoren in einer Sportuhr, darunter einen uSB-Debug-Programmierer und ein uSB-Funkzugangspunkt für 50 $

Es gibt auch einem Wiki sehr viele Informationen enthalten, .

Ich habe bereits einen Stack Vorschlag für die erstellt eZ430-Chronos Kit.

Sie sollten versuchen, und von developpers Kits zur Verfügung gestellt lernen von Embedded Artists . Nachdem Sie das Kit erhalten, überprüfen ihre Lehr-Videos und Videos von NXP zur Verfügung gestellt, die nicht so detailliert sind, wie sie sein könnten, aber sie decken eine Menge Dinge. Probleme mit ARM als erster Architektur zu lernen und versuchen, etwas zu tun practicall sind:

  • Sie müssen Entwickler kaufen. Kit.
  • Sie brauchen einen guten Buch rel="nofollow ARM Montage zu lernen, denn früher oder später werden Sie über ARM Startup-Code kommen, die für einen Anfänger ziemlich viel ist. Das Buch, das ich erwähnt allso deckt einige C-Programmierung.
  • Buchs Kombinieren mit einem Benutzerhandbuch für Ihren speciffic Prozessor oben erwähnt wie dieses . Stellen Sie sicher, dass Sie diese erhalten, wie dies in Kombination mit oben Buch zu studieren ist der einzige Weg, um Ihre ARM proc zu lernen. im Detail.
  • Wenn Sie einen Transfer von ARM Montage auf C-Programmierung machen möchten, müssen Sie das

    mikroElektronika hat schöne ARM Bretter und C, Pascal und Basic Compiler das könnte Ihre Anforderungen Hotel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top