MicroPython aprende un nuevo truco: ISP para AVR

Una de las razones por las que Arduino se hizo tan popular fue la capacidad de programarlo fácilmente. Significó el fin de los grandes desarrolladores paralelos que costarían un brazo y una pierna. La última entrega de CircuitPython de [Lady Ada] y el equipo de Adafruit es una biblioteca para programar microcontroladores AVR sin una computadora dedicada.

Para los no iniciados, la programación en el sistema o el ISP para controladores AVR usan el bus SPI para escribir el dígito compilado en la memoria flash del controlador. El descuento en el número de pines usados ​​es una ventaja, aunque ajustar los tiempos fue un poco complicado en los buenos tiempos. La mayoría de los ISP dedicados manejan esto muy bien, aunque generalmente están esclavizados a una computadora de alojamiento donde un botón de “carga” inicia el proceso.

Con CircuitPython (un derivado de MicroPython), la programación de microcontroladores no requiere examinar el ciclo de flash de compilación de código. Puede ejecutarse en algunos procesadores, sin embargo, los AVR no se encuentran entre ellos, por lo que esta gran biblioteca ofrece la mejor opción. Conecte Atmega328P o ATmega2560 a una placa como la ESP8266 que ejecuta CircuitPython y podrá escribir firmware de inmediato.

Hay un completo tutorial sobre el tema gracias a [Phillip Torrone] y [Lady Ada] que incluye algunos archivos de demostración para probar las funciones. Esto abre muchas posibilidades en las actualizaciones de firmware OTA para el coprocesador AVR. Esperamos ver a algunos desarrolladores clave de AVR en un futuro cercano dando una pista de la autenticación de doble factor basada en ESP8266 presentada anteriormente.

  • zakqwy dice:

    ¡esto es realmente genial!

    • Richard Collins dice:

      Sí, soy un perro viejo c / c ++ pero aprenderé este nuevo truco de MicroPython. 🙂 La velocidad de desarrollo es muy emocionante.

  • reemay dice:

    Terriblemente, alguien más hizo esto. He estado trabajando con un programador OTA en el ESP desde noviembre, porque no hay ningún rastro de un verdadero programador ESP AVR independiente que apesta. No es tan rico en código, pero se puede descargar a través de Internet y programar su AVR de destino. La cámara en la RAM del ESP le limita el almacenamiento en búfer de un archivo hexadecimal completo. https://youtu.be/GowAiRquWdc

    • Ingeniero bruto dice:

      Tenía esperanzas en http://wiloader.com/ pero eso no se hizo realidad.

  • Ken N dice:

    Supongo que esto es bueno … ciertamente como programador de campo independiente … pero realmente no puedo ver cómo estar en el campo con un Arduino, una placa de protocolo y una fuente de alimentación es más conveniente que solo traer una computadora portátil y un USB programador o adaptador.

    “Una de las razones por las que Arduino se hizo tan popular fue la capacidad de programarlo fácilmente. Significó el fin de los grandes desarrolladores paralelos que costarían un brazo y una pierna. “

    Arduino ha facilitado muchas cosas al mismo tiempo, por supuesto que incluye programación. Pero incluso en los días más oscuros antes de Arduino, antes de USB, era barato llevar un programador de puerto paralelo básico (al menos para PIC y algunos otros). Y creo que el PICkit 2 podría funcionar como un programador ISP de campo independiente.

    Actualmente, un programador USB AVR cuesta $ 7, un adaptador USB en serie cuesta $ 3 … los adaptadores de software no son realmente una barrera de entrada.

  • maquina dice:

    muta

    • Marcos dice:

      algo así como tu comentario inútil …

  • WAYNE dice:

    Este es un proyecto muy bueno, pero cuestiono la practicidad. Parece que si ya está utilizando un ESP8266 bastante potente o el ESP32 más nuevo, podría reemplazar completamente la placa Arduino y aún tener todas las características y capacidades de ISP remoto …

  • Un dron dice:

    El protocolo de programación AVR está abierto. Así que no hay nada especial en esto más que un código de muestra ESPxxx (que es bueno en mi opinión). Pero cualquier programación inalámbrica de una pieza de AVR con un dispositivo en el medio no es demasiado complicada (ya sea un WiFi codicioso o un infrarrojo bajo demanda efectivo), especialmente si está limitado a un ISP. La programación de HVSP también es factible, pero en el objetivo de AVR debe crear; algo así como un suministro de bomba de carga alimentado por GPIO que puede encender / apagar para el voltaje más alto. No crea que programar fusibles con conexión inalámbrica a través de HVSP es una idea extraña. Para aplicaciones con un sensor muy potente, obtiene una forma inalámbrica de controlar / cambiar la fuente del reloj de más rápido (para desarrollo) a más lento (para recopilación de datos).

    • Un dron dice:

      Explicación: Dije: “La programación HVSP también es factible, pero en el objetivo de AVR debe crear; algo como GPIO ha cambiado un suministro de bomba de carga que puede encender / apagar para el voltaje más alto”.

      El suministro de respaldo incorporado de AVR requeriría IMO. ¿Problema con el huevo y la gallina?

  • bien dice:

    Maldita sea, pensé que se trataba de un Circuitpython / Micropython portado a AVR …

    ¿Es posible incluso construir un micrófono en un compilador que no sea gcc? Me encantaría verlo en PIC / AVR de 8 bits (¡algunos de ellos tienen 128K flash / 16K Ramon!) O en fpga con soft-cpu (z80, LatticeLM32, PicoRV32, nios) donde puede personalizar la RAM / flash y dispositivos laterales.

  • Hackear ISP dice:

    Eso es bueno y sigue adelante.

Fernando Román
Fernando Román

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *