¿Alguien sabe algunos buenos recursos (libros de texto, documentos, herramientas, etc.) para desarrollar un compilador y un enlazador personalizados para un microcontrolador específico?
¿Alguien sabe algunos buenos recursos (libros de texto, documentos, herramientas, etc.) para desarrollar un compilador y un enlazador personalizados para un microcontrolador específico?
El libro "Un compilador de C extraíble: diseño e implementación" ( enlace ) describe un compilador de C En todos sus detalles. Utiliza el estilo de "programación alfabetizada", que me resultó más difícil de leer de lo que esperaba. Pero todavía lo recomiendo.
Hace años, antes de que existiera un compilador gratuito de C para PIC, hice el lenguaje Jal y un compilador para los núcleos de 12/14 bits de PIC. La fuente es GPL (~ 10k líneas C, en un archivo). Hoy en día, Kyle York ( enlace ) mantiene el lenguaje y el compilador (aún GPL, para que pueda estudiar la fuente).
Por supuesto, existe el GCC, pero es GRANDE. Hay algunos documentos maestros de tesis que describen el redireccionamiento a una CPU en particular, por ejemplo, enlace , esto podría servir como un primer paso para comprender los aspectos internos completos de GCC (lo que sería una tarea desalentadora).
Hay varios libros de texto académicos sobre compilación, el libro "dragon" ( enlace ) siendo los más famosos. Pero, en mi opinión, son casi inútiles, ya que se concentraron en cosas difíciles hace 20 años, pero casi irrelevantes ahora.
Mencionas "compilador y enlazador". Eso muestra una mentalidad que es IMO obsoleta. Para la mayoría de los microcontroladores modernos, una PC moderna puede hacer frente a la aplicación completa a la vez, sin pasar por la división compilador / enlazador. Esto hace posible una optimización mucho mejor.
Lea otras preguntas en las etiquetas microcontroller compiler