¿Cómo programar el nRF24LU1 +?

6

Voy a comprar un nRF24LU1 + , que es un sistema de RF con un Microcontrolador incorporado. ¿Cómo puedo saber qué tipo de hardware necesito para programar este chip específico?

El FAQ dice:

  

Al colocar el pin PROG en alto, el flash interno estará disponible en los pines SPI. Luego puede programarse como un dispositivo flash SPI estándar, utilizando cualquier programador que lo admita.

¿Esto significa que puedo programarlo completamente desde mi computadora portátil usando solo software?

Parece que se puede programar a través de USB, pero no puedo entenderlo en especificación del producto .

  

Admite la actualización de firmware a través de USB

    
pregunta Anna

2 respuestas

3

Un chip completamente borrado requeriría algún tipo de programador que maneje las líneas SPI. Esto podría ser una pieza de hardware muy simple, suponiendo que tuvieras el software adecuado para realizar la programación.

Cuando dicen:

  

Admite la actualización de firmware a través de USB

Esto se debe a que el propio firmware es capaz de borrar y escribir el flash. Eso significa que puede programar el chip con un cargador de arranque y luego hablar con ese cargador de arranque a través de las interfaces que admita (en este caso, USB). Esto es extremadamente común para los microcontroladores modernos.

El resumen del producto dice que viene preprogramado con el cargador de arranque USB, por lo que siempre que no lo borre, puede programar su aplicación a través de USB:

  

17.4 Programación de flash a través de USB

     

El cargador de arranque nRF24LU1 le permite programar el nRF24LU1 a través de la interfaz USB. El gestor de arranque   está preprogramado en la memoria flash nRF24LU1 y se inicia automáticamente cuando la alimentación es   aplicado. Después de la puesta en marcha, el gestor de arranque copia el código de programación flash a la SRAM interna desde donde   La memoria flash completa se puede programar.

     

El gestor de arranque ocupa los 2K bytes más altos (flash) de la memoria flash y no se elimina a menos que el programa del usuario   se extiende en esta área. Si el programa es más grande que 14KB, el cargador de arranque se sobrescribe y se pierde.   Además de los 2 KB superiores del flash, el gestor de arranque también usa el vector de restablecimiento de 3 bytes en la dirección 0.

     

Si su aplicación necesita volver a ejecutar el gestor de arranque; debe restaurar el vector de reinicio para que el gestor de arranque   se ejecuta después del reinicio de encendido.

Para que pueda ver, debe tener cuidado de no sobrescribir el cargador de arranque y debe proporcionar alguna forma de volver a acceder a él desde su aplicación (por ejemplo, al verificar que un pin en particular esté bajo porque el botón "prog" está siendo presionado cuando se enciende). Si rompes el gestor de arranque, has "bloqueado" el chip hasta que lo arreglas con un programador SPI.

    
respondido por el Ben Jackson
3

Su computadora portátil no tiene un bus SPI. Existe un protocolo estándar para que el bus SPI se conecte con los chips flash, pero necesita alguna forma de conectar eléctricamente la computadora a ese bus. Me imagino que podría construir fácilmente algo que funcionaría a partir de un Arduino Uno, o un clon de Arduino USB más económico, escribiendo un código que lea el puerto serie (o interfaz USB) y escriba datos en el bus SPI integrado. Arduino, y use un pin digital separado para impulsar el pin de programación.

    
respondido por el Jon Watte

Lea otras preguntas en las etiquetas