2009-01-05 6 views
11

Ich studiere derzeit für eine Karriere in Embedded-Echtzeit-Engineering. Aber es ist etwas schwierig, gutes Trainingsmaterial zu finden. Vor allem, weil Sie Embedded-Entwicklung nicht wie bei der Entwicklung von Desktop-Anwendungen erleben können.Empfehlungen für Embedded + Echtzeit-Entwicklung Training

Gibt es Bücher und/oder Kits, die für das Basistraining nützlich wären? Empfehlungen für ein RTOS zum Studium?

Gibt es irgendwelche Empfehlungen bei der Verwendung eines RTOS?

Antwort

7

Dies ist wirklich ein kompliziertes Thema, es gibt so viele Möglichkeiten und Kompromisse.


In Bezug auf Hardware, die ich für ein Low-End-Mikrocontroller gehen würde, weil die Dinge sind in der Regel leichter werden, wenn sie kleiner wird, und je weiter weg vom Desktop desto mehr lernen Sie die Mentalität der Embedded-Programmierung .

Da Sie in Japan sind, ist es wahrscheinlich am besten, vor Ort zu überprüfen, welcher Controller beliebt ist, so dass Sie gute Community-Unterstützung erhalten und problemlos Teile kaufen können.

Hier in Deutschland ist es AVR ATMEGA, und ich denke, es ist eine gute Wahl. Es hat die beste Unterstützung durch GNU-Tools, es ist in DIP-Paketen verfügbar und kann seinen internen Oszillator ablaufen, so dass es leicht auf einem Steckbrett laufen kann. Die größte Hürde war, dass ich einen ISP-Programmierer brauchte. Es gibt eine gute tutorial in Deutsch.

Ich habe auch eine R8C von Renesas, die in Japan beliebter sein könnte. Es ist schwieriger, die GNU-Tools laufen zu lassen, ich musste sie selbst aus der Quelle erstellen. Für MS-Windows gibt es die kostenlose IAR Kickstart-Suite mit einer auf 4KB begrenzten Code-Größe. Es kann mit einer seriellen Schnittstelle (aber mit TTL-Ebenen) programmiert werden, ich habe ein FTDI USB-zu-Seriell-Modul dafür.


Wie für RTOS, werfen Sie einen Blick auf OSEK, gibt es mehrere kostenlose Implementierungen. Es kann auf sehr kleinen Controllern verwendet werden.

Sie könnten auch ein grundlegendes RTOS selbst schreiben, es ist nicht so schwierig und Sie lernen am meisten.

3

Sie müssen kein bestimmtes RTOS lernen, es gibt Billionen eingebetteter RTOS, die in Marktnischen segmentiert wurden, und selbst wenn Sie das genaue Segment kennen, in dem Sie arbeiten, gibt es immer noch viele Betriebssysteme in demselben Segment.
Das Wichtigste ist, grundlegende Konzepte von Betriebssystemen zu verstehen und einen starken C-Hintergrund zu haben. Wenn wir rekrutieren (wir sind Embedded Development House) benötigen wir keine spezifischen Kenntnisse in Embedded-Programmierung oder bestimmten OS. Wir suchen nach intelligenten Personen, die perfekten C-Code schreiben und lernen können.

2

Es gibt keine Alternative zum Spielen mit der Hardware & Software mit Ihren eigenen Händen. Zum Glück ist das leicht zu erreichen. Einfache Entwicklung Boards für AVR-Chip können für ein paar Dutzend $$ s online gekauft werden (wie STK500 oder Arduino) und ihre gesamte Software-Toolchain ist offen und herunterladbar.

In Bezug auf das Betriebssystem - Start ohne Betriebssystem! Viele Embedded-Code läuft ohne Betriebssystem, und es ist auch der beste Weg, um die Programmierung zu starten. Durch das Experimentieren mit verschiedenen Techniken des Schreibens von Nicht-OS-Code lernen Sie zu schätzen, wann und warum Sie ein Betriebssystem benötigen und wie Sie es am besten verwenden.

2

Ich würde Quantum Leaps Platform und Quantum Framework empfehlen. Es handelt sich um eine anspruchsvolle State-Machine-Umgebung, die extrem wenig Platz benötigt. Es kann auch unter Windows laufen (um es zu lernen).

Quantum Leaps Website

0

Als erstes müssen Sie herausfinden, was Sie über eingebettete Systeme lernen wollen.

*) Hardware-Spezifika *) Betriebssystem *) Anwendungsprogrammierung *) Board *) kleine Mikrocontroller *) Linux bringen

... Und viele weitere Möglichkeiten ...

Ich würde entscheiden, ein bestimmtes eingebettetes Projekt abzuschließen und die zugehörigen Technologien zu kaufen/lernen.