Modo ISP para el LPC21xx

Para poder entrar al modo ISP (programación en circuito) en uno de los miembros de esta familia se requieren tres cosas

  1. La habilitación de los pines de un puerto serial, que depende del miembro, para el LPC2129 es la uart 0. Por "habilitar" entiéndase un convertidor del tipo MAX3232 (no es neceario configurar la uart dentro del chip), aunque luego de ello la uart 0 no se utilice (pines como I/O de propósito general), pero si ya se le puso el max232 mejor utilizarlo y que no se desperdicie.
  2. Para el LPC2129 el puerto P0.14 debe estar en bajo (a través de una resistencia de pull-up) para poder entrar al modo ISP. Recuérdese que estas CPU's no tienen resistencias de pull-up-on-chip.
  3. Se supone que la línea DTR del puerto RS232 controla el reset de la CPU, sin embargo el max232 sólo alcanza para dos pares tx/rx, por lo que para que la línea DTR controle el reset sería necesario agregar algún circuito a transistor para bajar los niveles. Lo que yo hice fue simplemente controlar el reset con un botón externo de reset =) y funcionó con la herramienta ISP del winARM.
Otra cosa que se requiere es establecer qué puerto de la PC se va a utilizar y a qué velocidad. Estos parámetros están en el makefile del proyecto.

Yo realicé todos estos pasos sobre una tarjeta propia que hice y pude subir el código usando las herramientas del winARM.

Comentarios

Entradas populares de este blog

Las rutinas de retardo se escriben en ensamblador

Uso de interrupciones en el LPC21xx

Programación en C para sistemas embebidos