Raspberry Pi como desarrollador de AVR
Los desarrolladores de AVR se pueden comprar por solo unos pocos dólares en Internet, pero si está construyendo una placa de expansión con AVR para su Raspi, esta es la compilación para usted. Es una forma segura de programar AVR con los pines GPIO de Raspi, que utiliza un circuito extremadamente mínimo.
La interfaz AVR ISP se parece mucho a una interfaz SPI, y la forma más fácil de programar un AVR con Raspi sería mordiendo todos los comandos de los pines GPIO. A veces, sin embargo, la lógica del AVR y Raspi estaría en varios niveles, por lo que aunque el bitbanging puede funcionar un poco, no es algo que nadie deba usar de forma regular.
Para que Raspi y AVR puedan comunicarse entre sí de forma segura, [Steve] construyó un pequeño circuito a partir de 74244 búfer y FET. Con el soporte adicional para la programación avrdude de GPIO de Linux, hay un programa AVR completo con Raspi.
Hace unos días conocimos a un programador de PIC con exceso de trabajo para Raspi, así que nos alegra ver que otra ronda en el PIC / AVR de la guerra santa irá al campamento de AVR.
Gracias [Mateusz] para enviar esto.
Johnlmitchell dice:
Aquí está la publicación del blog de Steve Marple, que incluye un resumen:
http://blog.stevemarple.co.uk/2012/07/avrarduino-isp-programmer-using.html
alksio dice:
"Los desarrolladores de AVR se pueden comprar por solo unos pocos dólares en Internet, pero si está construyendo una placa de expansión con AVR para su Raspi, esta es la versión para usted".
En otras palabras, "Raspberry PI es la solución definitiva que busca un problema, aquí hay otro ejemplo".
Si puedo comprar un USBasp por $ 3.50 de envío, ¿por qué compraría un Raspberry PI por $ 47 y luego construiría un programador AVR encima? (No, la Raspberry PI nunca ha ganado $ 25 y nunca lo hará). ¿TENÍA rebotes de Broadcom? ¿Y qué hay de Atmel (para todas las tonterías de Arduino)?
Sargento FTC dice:
¿Cómo cuesta la frambuesa pi $ 47? ¿Incluyó el envío? De ser así, no es justo para la Fundación Raspberry Pi. Obtuve el mío por $ 35 más $ 8 para enviarlo a los EE. UU., Lo que no consideraría demasiado terrible considerando que es del Reino Unido. En cuanto al precio de $ 25, cuando salga el Modelo A, costará $ 25. ¿Por qué estás tan seguro de que no costará $ 25?
alksio dice:
Vaya a google y búsquelo.
Newark: $ 46.64 con envío y envío
Intenta encontrar uno por menos.¿No solo a la Fundación Raspberry Pi? ¡Aiya!
La arrogancia alcanzó una nueva altura hoy.El envío es siempre un factor en el precio de cualquier producto. Especialmente uno que pesa como 5 onzas.
Sargento FTC dice:
Bueno, Newark los vende por $ 35. Http://www.newark.com/jsp/search/productdetail.jsp?id=83T1943&Ntt=83T1943&COM=raspberrypi-group
Allied también los vende por $ 35.
http://www.newark.com/jsp/search/productdetail.jsp?id=83T1943&Ntt=83T1943&COM=raspberrypi-group
(El IVA no se aplica a los Estados Unidos)Sargento FTC dice:
Oh, ese segundo enlace debería ser:
http://www.alliedelec.com/Search/ProductDetail.aspx?SKU=70229569
yetihehe dice:
Si puedo comprar un USBasp por $ 3.50 de envío, ¿por qué compraría un Raspberry PI por $ 47 y luego construiría un programador AVR encima?
Si quisiera tener rpi y extenderlo con algunos avrs, ahora puede reprogramarlos en un campo sin tener un programador adicional.
alksio dice:
Si tu base es que querías tener rpi y estás buscando algo relacionado con él y que ya se ha hecho algo (muy barato), esta es una solución que busca un problema.
¿Vale la pena el costo?
Steve Marple dice:
En parte tiene razón sobre una solución en busca de un problema, en la publicación original del blog (la mía) abordé ese punto:
"Es razonable preguntarse cuál es el beneficio si se debe utilizar hardware adicional, ya que los desarrolladores de USB externos se pueden comprar a bajo precio en Ebay. Sin embargo, si agrega un PCB extendido a su Raspberry Pi, por ejemplo, para comunicarse con un Atmel remoto procesador, luego incluir un programador ISP tiene sentido y agrega un precio muy económico ".crenn dice:
Compré mi RPi por AUD $ 41,80, incluido el GST (impuesto sobre las ventas australiano) y el envío. También tuve otros problemas con el RPi, pero eso es además del problema; PAG
Depende de si es un desperdicio. Si de repente necesitas programar microcontroladores, ¿puedes esperar hasta un mes para que te entreguen esa programación barata de eBay? Si ya tiene las piezas en su lugar (tenga en cuenta, tengo 2 RPis, no pretendo usarlas solo como programadores de microcontroladores; P), ¿por qué no programar rápidamente el AVR con la placa? Claro, si tiene tiempo, podría esperar algo dedicado, o podría crear su propio programador AVR USB (algunas personas hacen eso y tienen que encontrar una manera de programar ese AVR) con bits de la tienda local y RPi.
nes dice:
Buena escritura y todo menos una computadora con una computadora incorporada pidiendo a gritos un cargador de arranque. Obtenga ATMega32u2 / 4/6 y viene preprogramado con un cargador de arranque decente que ya es compatible con Raspian:
apt-get install dfu-programmer
Todo lo que necesita es una conexión USB de 2 cables.
Steve Marple dice:
A veces, solo desea que se instale su propio lanzador. Utilizo el módulo Ciseco XRF para comunicarme entre Raspberry Pi y ATmega1284P a 9600 baudios. No he visto ningún ATmegs preprogramado que se ejecute a velocidades de transmisión tan bajas.
Me gustaría permitir que la mayor cantidad posible de personas construyan mi medidor AuroraWatch, por lo que espero usar solo elementos con orificios pasantes. Debido a que ATMega32u2 / 4/6 solo está disponible en paquetes de superficie de paso muy fino, no coincide con mi público objetivo.
sotavento dice:
Puse un tutorial para algunos amigos la semana pasada y no tuve problemas para programar chips incluso después de omitir el convertidor de nivel de línea.
Esto funciona de acuerdo con la última actualización de rasbian (desde la semana pasada): ~ $ wget http://project-downloads.drogon.net/files/wiringPi.tgz
: ~ $ tar xzf cableadoPi.tgz
: ~ $ cd cableadoPi / cableadoPi
: ~ $ hacer
: ~ $ sudo make install
: ~ $ cd ../gpio/
: ~ $ hacer
: ~ $ sudo make install: ~ $ wget http://project-downloads.drogon.net/files/avrdude-doc_5.10-4_all.deb
: ~ $ wget http://project-downloads.drogon.net/files/avrdude_5.10-4_armhf.deb
: ~ $ dpkg -i * .deby fijar tareas
mosi miso sck vcc gnd restablecer
20 22 24 1 6 6 frambuesa pi (cuenta en zigzag
desde la parte superior)
19 18 17 7 8 1 atmega328 (lado inferior izquierdo
recuento del lado derecho): ~ $ sudo apt-get install arduino
: ~ $ arduinoabrir un proyecto y compilarlo mientras se mantiene un cambio (salida de varias palabras)
debería haber una línea debajo que diga algo similar
/tmp/build12949127349021743091/blinky.cpp.hex: ~ $ cd / tmp / build12949127349021743091 /
: ~ $ sudo avrdude -p m328au -c gpio -v -U flash: w: blinky.cpp.hexsotavento dice:
olvidé poner:
"Quite el pin 1 para probar su circuito después de que se complete la programación"
Mateo dice:
Cómo [johnlmitchell] mencionado anteriormente en un comentario, el primer enlace en el artículo debe ser al sitio web de stevemarple, no a la lista de correo-ar archiveivo (este último esperaría estar vinculado sólo como "programación avrdude de Linux GPIO").
Ron dice:
Necesito un proyecto LCD AMTEL / 4 líneas. Haré el PCB. Proyecto simple de 2 funciones, reloj en tiempo real y calculadora.
MEGABYTE dice:
Así que intenté programar avr usando este método, pero no estoy seguro de que mis conexiones sean buenas. instalé wirePi y avrdude y cuando intento programar tanto atmega16 como atmega32 obtengo:
avrdude: el dispositivo AVR no responde
avrdude: inicialización fallida, rc = -1Conecté 5V-pi a VCC (mega).
MOSI -> MOSI.
MISO <-Tensor SCK
GND -> GND y RESETNo estoy seguro de si esta configuración es posible, pero no tengo interruptores lvl y, en la medida de lo que puedo, ATmega16 necesitaba 5V para funcionar, así que probé con un divisor de voltaje en falla. Tiene conexiones comprobadas tres veces, pero no puede ir más lejos.
¿Alguien tiene alguna idea?PD. El hexadecimal lo tomé de ave studio library, un proyecto creado para cada tipo de procedimiento probado por (16/32).
Comando utilizado: south avrdude -p m16 -c gpio -v -U flash: w: Test1_16.hex.Salida:
avrdude: Versión 5.10, compilado el 18 de junio de 2012 a las 12:38:29 PM
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg WunschEl archivo de configuración del sistema es "/etc/avrdude.conf"
El archivo de configuración del usuario es "/root/.avrduderc"
El archivo de configuración del usuario no existe o no es un archivo normal, omitiendoUsando el puerto: desconocido
Usando desarrollador: gpio
Pieza AVR: ATMEGA16
Eliminación lenta de viruta: 9000 us
PAGEL: PD7
BS2: PA0
DISPOSICIÓN RESET: dedicada
REPETIR PULSO: SCK
modo de programa en serie: sí
modo de programa paralelo: sí
Límite de tiempo: 200
Retraso de puñalada: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
Valor de la encuesta: 0x53
Detalle de la memoria:Consulta de la página de encuesta en bloque
Tipo de memoria Modo Tamaño tardío Indx Tamaño de página Tamaño # Páginas MinW MaxW Readback
———– —- —– —– —- —— —— —- —— —– —– ———
eeprom 4 10128 0 no 512 4 0 9000 9000 0xff 0xff
flash 33 6128 0 sí 16384128128 4500 4500 0xff 0xff
bloqueo 0 0 0 0 ne 1 0 0 9000 9000 0x00 0x00
lfuse 0 0 0 0 ne 1 0 0 9000 9000 0x00 0x00
fusible h 0 0 0 0 ne 1 0 0 9000 9000 0x00 0x00
firma 0 0 0 0 no 3 0 0 0 0 0x00 0x00
calibración 0 0 0 0 no 4 0 0 0 0 0x00 0x00Desarrollador: GPIO
Descripción: use la interfaz sysfs para bitbang Líneas GPIOavrdude: el dispositivo AVR no responde
avrdude: inicialización fallida, rc = -1
Verifique las conexiones e intente nuevamente, o use -F para reemplazar
este cheque.avrdude hecho. Gracias.
MEGABYTE dice:
Corrección:
5V pi a VCC (mega
MOSI -> MOSI.
MISO <-Tensor SCK
GND -> GND y RESETMEGABYTE dice:
Un suspiro, una autocorrección corta un texto.
MISO (AVR) al divisor de voltaje a MISO (PI)
y SCK a SCK debe leer
Χριστόδουλος Κεχρής dice:
¿Hay algún tutorial sobre cómo instalar y usar avrdude parcheado?
Steve Marple dice:
Ahora hay una explicación disponible aquí:
http://blog.stevemarple.co.uk/2013/03/how-to-use-gpio-version-of-avrdude-on.htmlΧριστόδουλος Κεχρής dice:
Gracias, realmente ayudó ... ¡También podría intentar programar avr con el raspador!
nsayer dice:
Ahora tengo un "límite" de AVR ISP en mi tienda Tindie. Utiliza los pines SPI GPIO para MOSI, MISO y SCK y no utiliza ningún pin CE GPIO para. ¡REINICIE para que si usa SPI en lugar de bit-bang, entonces! RESET se puede reclamar y liberar por separado.
También he incluido un interruptor de fuente de alimentación que le permite elegir entre 3.3v, 5v o sin potencia objetivo. Y la energía es alimentada por un interruptor limitador de corriente AP2331 para proteger el Pi de cortocircuitos y caídas de voltaje conectadas al calor y similares. Y la programación se realiza con un chip de búfer de bus de tres estados alimentado por la potencia objetivo, por lo que está listo para cualquier voltaje de potencia objetivo (razonable).
https://www.tindie.com/products/nsayer/raspberry-pi-avr-isp-hat/