Ambos dispositivos tienen cargadores de arranque en el chip que siempre se ejecutarán. Con el LPC17xx, puede escribir un cargador de arranque secundario para ejecutar un código personalizado que se ejecutará directamente después. Simplemente debe indicar a su IDE que coloque el código en la ubicación 0x00.
En la página de documentación , eche un vistazo a AN11257 y AN11258. Estos tratan sobre la creación de cargadores de arranque secundarios (SBL) para cargar código desde SPI o I2C respectivamente. Esto podría recuperar el código de una PC o un dispositivo de memoria externo.
Desde AN11257:
En estas MCU, el cargador de arranque primario reside en el bloque de arranque. los
el cargador de arranque se ejecuta cada vez que la pieza se enciende o se reinicia.
Puede ejecutar el controlador de comandos ISP o el código de aplicación del usuario,
que se almacena en el sector 0 de la memoria flash interna.
La SBL en
este proyecto se refiere a una aplicación definida por el usuario que proporciona la
usuario con una opción para actualizar el firmware de la aplicación de usuario o
Ejecutar el firmware de aplicación de usuario previamente programado. Es
colocado desde la dirección 0x00 para que cuando el cargador de arranque primario
ejecuta la aplicación de usuario, se ejecuta primero.
No pude encontrar documentación similar en el LPC13xx. Pero su gestor de arranque principal tiene un poco más de funcionalidad incorporada. Específicamente la posibilidad de cargar nuevos programas a través de UART. Su versión carece de la funcionalidad USB de la que hablan en la Guía del usuario :
El código del cargador de arranque se ejecuta cada vez que se enciende la parte o
reinicio (ver Figura 63). El cargador puede ejecutar el comando ISP
controlador o el código de la aplicación de usuario, o puede obtener la imagen de arranque
como un dispositivo MSC conectado a través de USB. Un nivel BAJO durante el reinicio en
El pin PIO0_1 se considera una solicitud de hardware externo para iniciar
el controlador de comandos ISP o la enumeración de dispositivos USB sin
Comprobando primero un código de usuario válido. El estado de PIO0_3 determina
si se utilizará la interfaz UART o USB:
• Si PIO0_3 se muestrea ALTO, el cargador de arranque conecta el LPC134x como un
Dispositivo USB MSC a un host de PC. El espacio de memoria flash LPC134x es
representado como una unidad en el sistema operativo Windows del host.
• Si se muestrea PIO0_3 LOW, el cargador de arranque configura la serie UART
puerto y llama al controlador de comando ISP.
Observación: en las partes LPC131x (sin USB), el estado del pin PIO0_3 sí lo hace
no importa.
Aún puede hacer que las primeras instrucciones ejecutadas después de que el gestor de arranque primario actúe como un gestor de arranque secundario personalizado. Solo necesitas localizar ese código en la dirección correcta. Cómo se hace esto depende en gran medida de su IDE. Consulte la documentación de su IDE sobre cómo controlar correctamente la colocación del código en los sectores deseados.