Utilizo un Boarduino y un panel de pan de 30 filas para programar mi ATtiny. Cargo un boceto no demasiado complicado llamado ArduinoISP (incluido por defecto ahora en el IDE de Arduino), y de repente tengo un programador. Atmel vende un programador agradable por entre $ 30 y $ 40, y hay muchos kits para haciendo los más baratos.
Me sentí muy feliz una vez que conseguí a mi programador que trabajaba e hice que el pequeño parpadee algunos leds. Sin embargo, ahora mi pobre boarduino está atascado en tareas de programador.
Por lo que puedo decir, este programador mantiene presionado el botón de reinicio y luego transmite y recibe en los pines MOSI y MISO. Creo que el SCK no está en uso o al menos no es necesario. (SCK es necesario de acuerdo con la hoja de datos de ATtiny, mi programador no funciona sin él y no puedo encontrar el lugar que pensé Leí que no era necesario.)
¿Por qué necesito un programador de hardware para transmitir en serie? Quiero decir, supongamos que estoy dispuesto a mantener presionado el botón de reinicio con el dedo en lugar de usar un IC. Todo lo que queda es enviar y recibir en serie, así que todo lo que necesito son tres cables GND, RXD y TXD. Diablos, si tengo la línea "DTR" o lo que sea, incluso puedes mantener presionado el botón de reinicio con el cable serial.
¿Por qué hay todas estas soluciones de hardware que también requieren software sofisticado (como AVRdude, AVR studio, o lo que sea)?
Quiero decir que podría entender un pequeño cable USB que presentaba al microcontrolador como un dispositivo de almacenamiento masivo y le permitía arrastrar archivos binarios para la programación (como este tablero de desarrollo ARM ). Solo hardware, utilizando controladores de software estándar.
También podría entender una solución de software único (módulo para conectar cables desde el USB al chip, usando algo como el chip FTDI para simplificar lo que pasa por los cables). Todo el protocolo de programación sofisticado sería manejado por el software en la computadora, y el hardware sería solo algunos cables.
¿Por qué tenemos ambos software y hardware (complicado) involucrados? Quiero decir, por lo que puedo decir, programar microcontroladores es bastante fácil, pero cuando estaba empezando a hacer esto, estaba realmente preocupado por cómo iba a comprar un chip de mouser o digikey sin tener que pagarle a un gurú para que programara un cargador de arranque. para mi.
Estoy seguro de que hay una buena razón (no es que haya escrito el software o haya comenzado a fabricar el programador USB de arrastrar y soltar), pero como recién llegado, no tengo idea de qué es.