Buen libro para el desarrollo de firmware para no principiantes

Hago mucho trabajo de firmware en mi trabajo, pero estoy buscando libros más avanzados sobre el tema. Cosas que no gustan de los conceptos básicos de "qué es una interrupción". Estoy leyendo el libro de O'Reilly sobre desarrollo de sistemas integrados, que está bien, pero no es lo suficientemente avanzado. Por ejemplo, es raro que los libros discutan cosas como páginas Flash (que pueden ser realmente útiles), cómo colocar una sección de código en un área específica de la memoria.

Tal vez algo con algunos consejos y trucos. Principalmente hago programación PIC.

Respuestas (7)

The Firmware Handbook de Jack Ganssle tiene algunas buenas partes. Lo mejor de todo es que puedes encontrar muchas de las partes buenas del libro (y más) en su sitio web .

Buen enlace, he disfrutado mis primeros 10 minutos de lectura.
Que sean los primeros días de lectura. Excelente escritor e ingeniero.
Él tiene un gran curso también.
He oído hablar de su curso, pero mi empresa tiene menos de 10 empleados y solo tres chicos de firmware, no es factible. Mi escuela está escasa de dinero sin un departamento de firmware lo suficientemente grande.

Desearía tener una buena sugerencia, miraré el hilo con la esperanza de que aparezca un gran libro.

Por otro lado, el manual que viene con su compilador es uno de los libros más importantes que puede leer. En general, aquí es donde aprende el meollo de la cuestión de colocar código en ciertas áreas.

Si aprende cómo usar flash en un nivel básico, como qué son las páginas, puede aprender de la hoja de datos. Si necesita aprender temas más avanzados, bueno, supongo que buscar un buen libro es el camino correcto.

Les haré saber que hay una gran cantidad de materiales educativos en el sitio web del microchip. La mayoría de los sitios de microcomputadoras publican una gran cantidad de material para ayudar a impulsar a los nuevos usuarios a aprender su sistema.

Alguien me votó negativo, si pudiera decirme por qué podría tratar de mejorar mi estilo de publicación.
+1 - Creo que hiciste un buen trabajo al hablar sobre lugares que la gente tiende a ignorar debido al síndrome de Google.
@Kortuk: probablemente porque su "respuesta" no respondió nada. Su texto sería perfectamente adecuado para un comentario a la pregunta.
@trygvis, esto es de un sitio SE 1.0 y cuando recién me estaba involucrando en el sitio. Yo no sabía mejor en ese momento. Espero que te hayas reído.
@Kortuk, jeje. Solo quería responder la pregunta para referencia futura ya que la pregunta es buena (¡y popular!).
@trygvis, No te preocupes. Un moderador se acostumbra a que le digan que está mal, cuando me equivoco me lo dicen todos.

Me gusta "Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems" de Miro Samek. La edición anterior se llamó "Diagramas de estado prácticos en C/C++: Programación cuántica para sistemas integrados". Leí la edición anterior de este libro de principio a fin y, en cierto modo, prefiero esa edición porque estaba más basada en C++. La última edición está más basada en C, lo que tiene sentido para el desarrollo integrado porque incluso los micros más pequeños tienen un compilador de C. No se asuste por la parte UML. Lo importante que debe aprender es cómo usar máquinas de estado para hacer que su código sea más robusto y confiable. UML es solo una forma de expresar una máquina de estado, y el subconjunto de UML requerido es mínimo.

Secundo esta recomendación. Sitio web de Miro Samek: state-machine.com

Para los PIC de 16 bits, recomiendo "Microcontroladores: del lenguaje ensamblador a C usando la familia de bits PIC24" de R. Reese, J. Bruce y B. Jones, ISBN 978-1584505839. Tiene una gran cantidad de hardware (incluidos los esquemas) mezclado con las discusiones de firmware y no es solo una repetición de las hojas de datos.

Si está utilizando uno de los PIC de 8 bits más nuevos (familia PIC18F), el siguiente libro se ve bastante bien: "Proyectos de microcontroladores PIC avanzados en C: de USB a RTOS con la serie PIC 18F" por D. Ibrahim, ISBN 978- 1584503781. Aunque yo no tengo ese. Ambos libros son bastante recientes (publicados en 2008).

-- Tomás

Linkers and Loaders de John R. Levine (ISBN 1-55860-496-0) es bastante bueno. Se trata de los detalles de bajo nivel de la memoria, la reubicación del código, la gestión de símbolos y similares, pero no exclusivamente para el desarrollo integrado. Aún así, es el mejor libro sobre detalles de tan bajo nivel que conozco. En este punto, puede que esté un poco anticuado; por ejemplo, no creo que tenga nada que ver con los sistemas de archivos Flash modernos.

Para los chips ARM, he aprendido mucho de: Arquitectura ARM System-on-chip de Steve Furber

Es un libro bien escrito con muchos antecedentes técnicos y probablemente será útil incluso si trabaja en otras arquitecturas.

Tenía un libro PIC32 que está bien y se enfoca en PIC: Programación de microcontroladores de 32 bits en C