Wie vergleicht sich die .NET Micro Framework mit einer Entwicklungskarte mit etwas wie einem Arduino oder Nintendo DS für den Start mit Embedded-Programmierung?Ist das .NET Micro Framework ein guter Einstieg in die Embedded-Programmierung?
Antwort
Diese Antwort ist ein wenig vom Thema, aber ....
ich persönlich von microchip.com PICs verwenden. Sie sind wirklich preiswert und haben ziemlich viele Sachen eingebaut mit Tonnen von Optionen/Versionen. Obwohl ich gerne .NET Micro verwenden würde, scheint es für höherwertige Chips entwickelt zu werden, die für die Ausführung von Betriebssystemen ausgelegt sind. Viele Embedded-Projekte, speziell im Kommunikationsbereich, benötigen höhere Chips ($ 100 + Boards in kleinen Mengen), aber viele gute eingebettete Projekte sind kleine Dinge und benötigen nur 2 CPUs. .NET Micro zielt nicht auf diese ab.
Das .NET Micro Framework richtet sich an Embedded-Systeme mit einem leistungsfähigen Prozessor (derzeit ARM7, ARM9 und Blackfin).
Das Arduino-Board basiert auf einem 8-Bit-AVR-Mikrocontroller, für den das .NET Micro Framework nicht verfügbar ist. Betrachten Sie zum Beispiel die Speicheranforderungen des Frameworks: Es wird beworben, um so wenig wie etwa 300 kB Speicher zu verbrauchen. Arduino hat insgesamt 16 kB Programmspeicher + 1 kB RAM.
Nintendo DS hingegen ist zumindest technisch in der Lage, das .NET Micro Framework auszuführen.
Wenn Sie sich für Embedded-Programmierung für Hardware wie Arduino interessieren, kann ich Ihnen versichern, dass Sie keine High-Level-Bibliothek oder ein Betriebssystem benötigen (und normalerweise nicht verwenden können). In der Tat werden Sie feststellen, dass die Programmierung für einen kleinen Mikrocontroller eine Freude sein wird, weil alles sehr einfach und unter Ihrer totalen Kontrolle ist.
Wenn Sie das .NET Micro Framework einen Blick auf die tahoe II von devicesolutions.net
auch in die andere Richtung Kasse arround: Konvertieren Code Verarbeitung auf .NET Micro Framework http://blogs.oberon.ch/tamberg/2009-02-23/running-processing-code-on-the-dotnet-mf.html
Ehrlich zu laufen, wenn ich du wäre (was ich bin nicht, nebenbei bemerkt), würde ich es halten aus und vermeiden Sie die High-Level-Abstraktion der .NET-Plattform für ein Embedded-System. Die Art und Weise, wie ich gelernt habe, war über einen College-Kurs, wo ich zuerst die eingebetteten Systemkonzepte auf einem SunROM-Kit (ähnlich einem Arduino-Board, und auch eine ATmega32-MCU) in AVR-Assembler-Sprache eingeführt und dann die Konzepte in C umgelernt habe Mit dem kurzen technischen Verständnis von .NET, das ich mache, habe ich das Gefühl, dass es auf der Plattform einfach zu viel willkürliche Abstraktion gibt, um eine sehr kluge Wahl zu sein. (Natürlich ist ein Teil davon auch mein Hass auf .NET und Java im Allgemeinen, und besonders, wenn in Embedded Systems Programmierung verwendet, so meine voreingenommene Meinung mit einem Körnchen Salz.)
Embedded Software sollte (in meinem Meinung) in der Lage sein, die Plattform zu nutzen, auf der es läuft, um so schnell und effizient wie möglich zu laufen, anstatt abstrakter zu werden, um auf so vielen verschiedenen Maschinen wie möglich zu laufen. Anstatt das Software Development Kit zu dumbedieren, die Programme langsamer zu machen oder unnötige Komplexität hinzuzufügen, denke ich, dass Sie die Konzepte und die Implementierung von Grund auf erlernen sollten, damit Sie ein besseres Wissen darüber haben, was ein "System" ist.Watchdog“ist wirklich, bevor Sie einen Start mißbrauchen.
Netduino sehr cool aussieht. Und es ist nur 30 USD. Und the Plus version mit Ethernet.
Alle anderen Antworten sind ausgezeichnet, aber ich würde nur hinzufügen, dass für einen Anfänger könnte ein Framework wie .NET Micro einige sehr wichtige Konzepte abstrahieren, es könnte Sie zu weit von Ihrer Hardware entfernen Die Freude (und echte Fähigkeit) der Embedded-Programmierung liegt in der Ausnutzung der Hardware und Architektur Ihres Mikrocontrollers. Wenn Sie ein Framework als Abstraktionsschicht auf der Hardware verwenden, werden Sie nicht wirklich die grundlegenden Konzepte erhalten, die für die Embedded-Programmierung wichtig sind:
Ich sage, geben Sie es zuerst mit C und Assembly, interagieren Sie direkt mit der Hardware, so dass Sie ein gutes Gefühl dafür bekommen, was diese Frameworks darunter tun. Wenn Sie mit, dass sie bequem dann könnten Sie wählen, um einen Rahmen zu bewegen (aber an diesem Punkt ... wahrscheinlich nicht: P)
Aber dann wieder, wenn Ihr Ziel nicht istzu lernen, sondern einfach erreichen, dann kann ein Framework Ihnen helfen, das viel schneller zu erledigen, weil Sie die inneren Abläufe nicht verstehen müssen. Aber wo ist der Spaß dabei?
Wenn Sie sich für extrem günstiges Prototyping interessieren, sollten Sie die 'Arduino-Route' in Erwägung ziehen, aber kein Arduino verwenden.
ein stripboard oder Steckbrett-Design wie ein #Shrimp ein ATmega328-PU läuft ein Arduino Uno Bootloader verwenden verwenden, können Sie fast die gleiche Kostenbasis als PIC geben, behält aber die Kompatibilität mit allen Arduino Maker Projekten bereits bestehenden, die da draußen sind , wie ... http://www.instructables.com/tag/type-id/category-technology/channel-arduino/
Basierend auf 100 Einheiten können Sie die Komponenten für eine funktionierende #Shrimp auf einem Steckbrett für so wenig wie 1,70 £ auf Stripboard oder 2,30 £ auf lötfreien Steckbrett in UK Bedingungen erhalten. Für kleinere Volumen, wie 5 oder 10, schauen Sie näher bei £ 2.90 und £ 3.50, aber es ist immer noch billig. Eine #Shrimp-Schaltung kann aus einem Layout-Diagramm in etwa 10 Minuten erstellt werden, wenn Sie starten, und Sie können dies bis zu einer Minute, wenn Sie schnell gehen.
Natürlich sind die Kosten nicht der einzige zu berücksichtigende Faktor.
Möglicherweise möchten Sie in einer bestimmten Sprache programmieren. Für Ihre sketch auf Arduino laufen, muss es in C geschrieben werden, obwohl Sie pyfirmata zur Fernsteuerung eines Arduino-kompatiblen mit Python verwenden können, wenn es Ihnen nichts ausmacht, dass es dauerhaft mit einem Desktop verbunden ist.
eine Müllsammel Sprache wie C# und die Tool-Unterstützung von Visual Studio Verwendung als großer Vorteil sein könnte in einer Microsoft-Umgebung der .NET Micro Framework, vor allem für diejenigen, die bereits die Entwicklung in Verwendung gesehen. Ebenso wird die Einfachheit der freien und Open-Source-Arduino-IDE als ein Vorteil von anderen dargestellt.
[Disclosure, ich bin ein Mitarbeiter auf der nicht-for-Profit @ShrimpingIt selbst projizieren.]
Eigentlich seine 32kb nicht 300 –
My 300 kB Anspruch auf das Detailweißbuch basiert, die von dieser zur Verfügung steht Seite: http://msdn.microsoft.com/en-us/netframework/bb267253.aspx. Es sagt "Der kleinste .NET-Fußabdruck noch (ungefähr 300 KB RAM)". – smt