¿Cómo debería uno cambiar de usar un Arduino como programador a un programador externo?

12
  

La segunda parte de una serie de tres partes sobre la transición de Arduino a un microcontrolador AVR simple y componentes mínimos de soporte ( part one , tercera parte )

He visto a muchas personas preguntar esto en Internet, así que aquí va:

Ya sé cómo programar y usar un barebones ATmega328 con un Arduino como programador . Ahora quiero comenzar a usar un programador externo con el IDE de Arduino.

¿Cómo debo proceder en esta transición? ¿Qué debo aprender? (Sería bueno si se proporcionara un mini-tutorial para algunas de las partes como parte de la respuesta)

    
pregunta Manishearth

1 respuesta

6

Nota: este mini-tutorial se basa en la información oficial aquí en el sitio de Arduino. También implica el uso del IDE oficial de Arduino.

Nota 2: los enlaces proporcionados a los productos pueden ser los enlaces Farnell (ya que contienen hojas de datos) o los Páginas de productos en el sitio web del fabricante.

Paso 1: obtenga un programador externo

Lo primero que debe tener en cuenta es que necesita un programador externo para evitar el cargador de arranque y recuperar el 1K o 2K de memoria que ocupa (12.5% de la memoria total ). Puede usar un AVR-ISP , un STK-500 , o un programador de puerto paralelo: el sitio oficial de Arduino tiene instrucciones para esto aquí . Tenga en cuenta que no puede comunicarse con la placa a través del programador paralelo; el consejo es utilizar un cable serie para eso. El principal beneficio de usar un programador paralelo es que son mucho más baratos que los demás si está dispuesto a realizar algunas soldaduras; solo necesita unas pocas (3) resistencias y unos pocos conectores, mientras que un ISP puede configurar su respaldo a £ 30 / $ 50 (la tasa de conversión es aproximada).

Paso 2: edita el archivo de preferencias de Arduino

A continuación, deberá configurar el IDE de Arduino para que le permita eludir el cargador de arranque. ¡Asegúrate de NO tener abierto el IDE de Arduino! El archivo de preferencias preferences.txt se puede encontrar en las siguientes ubicaciones, dependiendo de tu sistema operativo:

  • C:\Documents and Settings\<Username>\Application Data\Arduino\preferences.txt (Windows)
  • /Users/<Username>/Library/Arduino/preferences.txt (Mac)
  • ~/.arduino/preferences.txt (Linux)

Para acceder al archivo de preferencias en Windows, vaya al menú de inicio y luego vaya a %appdata% (NB: no uso Windows regularmente, no dude en corregirme). Luego navega a Arduino y luego a preferences.txt

En Mac, usa Terminal y haz:

cd ~/Library/Arduino
open .

O en Finder usa Goto (Cmd-Shift-G) e ingresa ~/Library/Arduino . Ambos te llevan a una ventana del Finder con preferences.txt in.

En los sistemas Unix, las carpetas que comienzan con un '.' (como .cache , .git ) están ocultos de manera predeterminada, por lo que en Linux deberá usar la Terminal e ingresar:

cd ~/.arduino
nautilus .

Nota: Puedes reemplazar nautilus con gnome-open si lo deseas. Sé que ambos funcionan con los sabores comunes de Linux, pero puede tener problemas con algunos de los sabores más 'exóticos'.

Una vez que haya encontrado el archivo preferences.txt , ábralo y cambie el upload.using de bootloader al nombre de uno de los programadores en el subdirectorio ./hardware/programmers.txt . Si solo desea eliminar el cargador de arranque de una placa, en ./hardware/boards.txt puede cambiar el parámetro <board>.upload.using y todas las otras tablas seguirán usando el cargador de arranque. Luego simplemente guarde el archivo relevante y ciérrelo (mi Arduino se bloqueó y casi perdí la respuesta, posiblemente porque olvidé hacer esto).

Paso 3: Sube el boceto

Una vez que haya editado el archivo relevante, abra de nuevo el IDE de Arduino y cargue el boceto de manera normal. Si acaba de editar ./hardware/boards.txt , entonces solo esa placa en particular no tendrá el cargador de arranque, pero si editó preferences.txt , todas las tablas no tendrán el cargador de arranque.

Paso 4: Reemplaza el gestor de arranque

Si desea tener el gestor de arranque en sus tableros nuevamente (por cualquier motivo), primero elimine el parámetro <board>.upload.using o establezca upload.using nuevamente en bootloader . Luego, deberá volver a grabar el cargador de arranque en los tableros afectados: esta respuesta explica razonablemente bueno, hay un método para hacerlo, y hay un método más sencillo para cargar solo el cargador de arranque Arduino con solo un ISP (que deberías tener antes) en el sitio oficial here .

    
respondido por el Polar

Lea otras preguntas en las etiquetas