EA3HMJ Blog

Proyectos, ideas, trabajos & demás cosas

Posts Tagged ‘updi

The easiest way to program tiny1614 via UPDI

leave a comment »

Despues de la fusión de ATMEL y Microchip ha nacido una nueva generacion de micros tinyAVR serie 1.

Estos micro no se programan via ISP e incorporan un nuevo protocolo UPDI (Unified Program and Debug Interface) que permite con un pin programar y debugear.

Por comodidad uso el IDE de Arduino, en las referencias podeis encontrar como instalarlo, y con un simple conversor USB-TTL + una R de 4K7 se prof¡grama junto con el programa en python pyupdi.

La numeracion de los puertos es numerica, PA6 es 2, tenerlo en cuenta a la hora de programar.

En el IDE de Arduino debeis de marcar la casilla de mostrar detalle de compilación, dentro de Preferencias, para saber donde guarda el fichero Hex que debemos grabar.

«C:\Users\<tu nombre>\AppData\Local\Arduino15\packages\DxCore\tools\avr-gcc\7.3.0-atmel3.6.1-azduino4b/bin/avr-size» -A «C:\Users\<tu nombre>\AppData\Local\Temp\arduino_build_958864/sketch_sep21a.ino.elf»

En ese directorio os encontrareis vuestra compilacion.

Yo ejecuto pyupdi desde ese mismo directorio con la siguiente linea de comando.

C:\Users\<tu nombre>\AppData\Local\Temp\arduino_build_958864>python «<Donde tengas el programa>\pyupdi\updi\pyupdi.py» -d tiny1614 -c COM<?> -f sketch_sep21a.ino.hex -v

Cosas que he aprendido a base de pruebas:

  • No vale cualquier adaptador USB-TTL, solo me funciono con un FTDI original.
  • En el entorno de arduino no se puede seleccionar 20 MHz de velocidad de reloj interna, no funciona.
  • La opcion de milis() he tenido que desactivarla, porque no calcula bien los tiempos.

Referencias

Software en python para programar via UPDI y un USB-TTL adaptador

Como usar pyupdi con los tinyAVR serie 1

Como usar los nuevos tinyAVR con el IDE Arduino

Written by qlfecv

22 de septiembre de 2021 at 18:47

Publicado en Arduino, Proyecto

Tagged with , ,