Tengo que diseñar un gestor de arranque para el controlador de la serie E de Kinetis. ¿Cuáles son los requisitos previos para escribir un código de cargador de arranque general? [cerrado]

0

Para escribir un código C, se requiere el conocimiento a priori sobre la función principal, la declaración y la definición de la función, la declaración de variables y la inicialización, al igual que para escribir un código del gestor de arranque, se requiere todo el conocimiento a priori. comienza a arrancar.

    

1 respuesta

5

Como referencia, un cargador de arranque en un microprocesador es una aplicación pequeña que reside en el microprocesador que se puede usar para descargar aplicaciones "principales" de mayor tamaño en la memoria del programa.

Lo que necesita saber para implementar un gestor de arranque depende en gran medida del procesador al que se dirige, pero la siguiente lista es un comienzo:

  • Los detalles del mapa de memoria del procesador, en particular, son partes de su memoria reservadas o protegidas para su uso por el cargador de arranque. ¿Necesitará ejecutar el gestor de arranque desde la RAM mientras se borra la memoria principal del programa?
  • Los detalles de los vectores de interrupción y cómo estos serán dirigidos / redirigidos a su aplicación de usuario.
  • Cómo implementará una estrategia de recuperación si algo sale mal durante la descarga de la nueva aplicación principal.
  • Cómo borrar y escribir las partes de 'usuario' de la memoria de su programa.
  • Cómo configurar su procesador en el encendido: configure las direcciones de entrada / salida, los divisores de cristal, las inicializaciones periféricas, etc.
  • qué mecanismo de comunicación y protocolo (por ejemplo, serie, USB, Ethernet) utilizará para comunicarse y recibir la aplicación principal desde un sistema remoto
  • Cómo su procesador (re) entrará en modo de cargador de arranque. Una vez que hayas descargado tu aplicación principal, ¿cómo volverás al gestor de arranque?
  • Cómo se sincronizará el proceso del cargador de arranque con el software en el sistema remoto.
respondido por el Icy

Lea otras preguntas en las etiquetas