No estoy seguro de qué placa de desarrollo está utilizando aquí, así que YMMV con esto, pero:
1) Use JTAG directo con una herramienta como OpenOCD. Si tienes el lpc4330-xplorer, como yo, sin embargo, esto puede ser un poco complicado (si estás tratando de depurar la configuración de arranque flash de esta placa (1 encendido, 2 apagado, 3 apagado, 4 apagado en el conmutador DIP de configuración), entonces se requiere un reinicio doble 99.9% del tiempo (he visto una o dos veces que este no era el caso NOT ). Según todo lo que he encontrado, este se debió a un error de silicio. En cualquier caso, por lo general no carga código de esta manera.
2) Utilice el bootrom incorporado de NXP para cargar su código. Funciona con USB0 de la lpc4330. Como es probable que necesite alimentar su placa de desarrollo, probablemente ya esté conectado (a menos que tenga un enchufe de alimentación separado). Las herramientas que necesitarás son estas:
enlace
Esto habla con el cargador de arranque SPIflash desde NXP (que está incluido en el tar). También necesitará una copia reciente de dfu-util. Yo uso 0.7, pero hay versiones mucho más nuevas. En cualquier caso, para escribir en RAM:
dfu-suffix -a filename -v 0x1fc9 -p 0x000c
dfu-prefix -a filename -L
dfu-util -D filename
Esto pondrá tu código directamente en la memoria RAM y será ejecutable. El primer comando proporciona a DFU la información para encontrar tu placa de desarrollo (por lo que puedes tener un vid y un pid diferentes aquí). El segundo comando coloca el encabezado LPC en el binario para que el cargador de arranque pueda usarlo. El comando final lo envía. Recuerde, esto SOLO FUNCIONA si utiliza una configuración de RAM. Esto significa que, CUALQUIER ARCHIVO DE ENLACE QUE USTED DEBE PONER SU CÓDIGO EN LA RAM! Lee eso último otra vez. Si creas algo y lo vinculas para FLASH, luego escríbelo en la memoria RAM, esto fallará y tu procesador se sentará allí tan activo como la arena de la que se hizo. Si quieres FLASH el código:
1) dfu-util -d 0x1fc9:0x000c -D iram_dfu_util_spiflash.bin.hdr
2) lpcdfu -d 3 -e -D "filename" -U -L "logfile name" -C "command logfile" -A 0x14000000
Esto primero enviará a través del spiflasher. En segundo lugar, utiliza lpcdfu para hablar con el código de spiflasher. Ahora, esto funciona para un lpc4330-xplorer. Si tiene una placa de desarrollo DIFERENTE que NO tiene un spiflash, es probable que esto no funcione, pero el primer método aún le permitirá quedarse sin memoria RAM. Como antes, ASEGÚRESE DE QUE EL ESCRITOR DE ENLACE ESTÁ APROPIADAMENTE CONFIGURADO PARA EL FLASH AQUÍ. Lea eso otra vez. Si no lo hace, su procesador volverá a verse como arena de playa, ya que no arrancará adecuadamente.
Ya que está usando LPCXpresso, puede buscar en sus archivos (no he hecho esto, pero tienen que tener estas cosas en algún lugar) y ver si puede encontrar qué archivos están usando para los archivos del enlazador. Escribí el mío porque realmente no creo en usar estas herramientas extrañas para el desarrollo integrado, pero realmente me gusta saber exactamente a dónde va mi código.
Buena suerte programando tu dispositivo.