Solo estoy tratando de construir un gestor de arranque personalizado para avr. Sé que las funciones del gestor de arranque se pueden compartir con el programa de aplicación. Aunque estoy realmente confundido con la función principal. ¿El gestor de arranque y el programa de aplicación, ambos tienen función principal? De lo contrario, cómo escribir dos programas separados con una sola función principal
Programa de aplicación:
#include <avr/io.h> // application program at 0x0000
#include <string.h>
int main()
{
uart_init();
}
Programa de cargador de arranque:
#include <avr/io.h>
#include <avr/boot.h>
void uart_init();
void (*funcptr)( void ) = 0x0000;
int main(void)
{
uart_init();
//Boot or Goto Application program
}
void uart_init()
{
//UART initialization code;
}