Gutes Buch für Nicht-Anfänger in der Firmware-Entwicklung

Ich mache bei meiner Arbeit viel Firmware-Arbeit, aber ich suche nach fortgeschritteneren Büchern zu diesem Thema. Dinge, die nicht wie die Grundlagen von "Was ist ein Interrupt" sind. Ich lese das O'Reilly-Buch über die Entwicklung eingebetteter Systeme, das in Ordnung ist, aber nicht fortgeschritten genug. Zum Beispiel ist es selten, dass Bücher Dinge wie Flash-Seiten (die wirklich nützlich sein können) besprechen, wie man einen Codeabschnitt in einen bestimmten Bereich des Speichers legt.

Vielleicht etwas mit ein paar Tipps und Tricks. Ich mache hauptsächlich PIC-Programmierung.

Antworten (7)

Jack Ganssle's The Firmware Handbook enthält einige gute Kleinigkeiten. Das Beste ist, dass Sie viele der guten Teile aus dem Buch (und mehr) auf seiner Website finden können .

Schöner Link, habe meine ersten 10 Minuten des Lesens genossen.
Machen Sie das in den ersten Tagen des Lesens. Ausgezeichneter Autor und Ingenieur.
Er hat auch einen tollen Kurs.
Ich habe natürlich von ihm gehört, aber meine Firma hat weniger als 10 Mitarbeiter und nur drei Firmware-Jungs, nicht machbar. Meine Schule ist einfach knapp bei Kasse ohne eine ausreichend große Firmware-Abteilung.

Ich wünschte, ich hätte einen guten Vorschlag, ich werde den Thread beobachten, in der Hoffnung, dass ein großartiges Buch auftaucht.

Übrigens ist das mit Ihrem Compiler gelieferte Handbuch eines der wichtigsten Bücher, die Sie lesen können. Im Allgemeinen lernen Sie hier, wie Code in bestimmten Bereichen platziert wird.

Informationen zur Verwendung von Flash auf einer grundlegenden Ebene, z. B. was Seiten sind, können Sie dem Datenblatt entnehmen. Wenn Sie fortgeschrittenere Themen lernen müssen, dann ist die Suche nach einem guten Buch wahrscheinlich der richtige Weg.

Ich möchte Sie wissen lassen, dass es auf der Microchip-Website eine sehr große Menge an Schulungsmaterialien gibt. Die meisten Microcomputer-Sites stellen eine Menge Material zur Verfügung, um neuen Benutzern dabei zu helfen, ihr System zu erlernen.

Jemand hat mich herabgestuft, wenn er mir sagen könnte, warum ich versuchen könnte, meinen Posting-Stil zu verbessern.
+1 - Ich denke, Sie haben gute Arbeit geleistet, indem Sie über Orte gesprochen haben, die Menschen aufgrund des Google-Syndroms tendenziell ignorieren.
@Kortuk - wahrscheinlich weil deine "Antwort" nichts beantwortet hat. Ihr Text wäre perfekt für einen Kommentar zur Frage geeignet.
@trygvis, das ist von einer SE 1.0-Site und als ich mich gerade auf die Site eingelassen habe. Ich wusste es damals nicht besser. Ich hoffe, Sie haben darüber gelacht.
@Kortuk, hehe. Ich wollte die Frage nur zum späteren Nachschlagen beantworten, da die Frage gut (und beliebt!) ist.
@trygvis, keine Sorge. Ein Moderator gewöhnt sich daran, dass ihm gesagt wird, dass er falsch liegt, wenn ich falsch liege, sagt mir das jeder.

Ich mag „Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems“ von Miro Samek. Die vorherige Ausgabe hieß „Praktische Zustandsdiagramme in C/C++: Quantenprogrammierung für eingebettete Systeme“. Ich habe die vorherige Ausgabe dieses Buchs von vorne bis hinten gelesen, und in gewisser Weise bevorzuge ich diese Ausgabe, weil sie mehr auf C++ basiert. Die neueste Ausgabe ist mehr C-basiert, was für die Embedded-Entwicklung sinnvoll ist, da selbst die kleinsten Micros einen C-Compiler haben. Lassen Sie sich nicht vom UML-Teil abschrecken. Es ist wichtig zu lernen, wie Sie Zustandsautomaten verwenden, um Ihren Code robuster und zuverlässiger zu machen. UML ist nur eine Möglichkeit, einen Zustandsautomaten auszudrücken, und die erforderliche Teilmenge von UML ist sehr gering.

Ich schließe mich dieser Empfehlung an. Website von Miro Samek: state-machine.com

Für die 16-Bit-PICs empfehle ich „Microcontrollers: From Assembly Language to C Using the PIC24 Bit Family“ von R. Reese, J. Bruce und B. Jones, ISBN 978-1584505839. Es hat eine Menge Hardware (einschließlich Schaltpläne) mit den Firmware-Diskussionen vermischt und ist nicht nur eine Wiederaufbereitung von Datenblättern.

Wenn Sie einen der neueren 8-Bit-PICs (PIC18F-Familie) verwenden, sieht das folgende Buch ziemlich gut aus: "Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC 18F Series" von D. Ibrahim, ISBN 978- 1584503781. Ich selbst habe die allerdings nicht. Beide Bücher sind ziemlich neu (veröffentlicht 2008).

- Tom

Linkers and Loaders von John R. Levine (ISBN 1-55860-496-0) ist ziemlich gut. Es geht um die Low-Level-Details von Speicher, Codeverlagerung, Symbolverwaltung und dergleichen, aber nicht ausschließlich für die eingebettete Entwicklung. Trotzdem ist es das beste Buch über solche Low-Level-Details, das ich kenne. An dieser Stelle könnte es etwas veraltet sein -- ich glaube nicht, dass es zum Beispiel etwas über moderne Flash-Dateisysteme enthält.

Für ARM-Chips habe ich viel gelernt von: ARM System-on-Chip-Architektur von Steve Furber

Es ist ein gut geschriebenes Buch mit viel technischem Hintergrund und wird wahrscheinlich nützlich sein, auch wenn Sie mit anderen Architekturen arbeiten.

Ich hatte ein PIC32-Buch, das in Ordnung ist und sich auf PIC konzentriert: Programmierung von 32-Bit-Mikrocontrollern in C