Utilizo un Boarduino y una placa 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 que funciona. Atmel vende un buen programador por entre $ 30 y $ 40, y hay muchos kits para hacer los más baratos.
Estaba muy feliz una vez que conseguí mi programador de trabajo e hice que el pequeño parpadeara con algunos leds. Sin embargo, ahora mi pobre boarduino está atrapado en el deber del 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 se usa o al menos no es necesario. (Se necesita SCK de acuerdo con la hoja de datos de ATtiny, mi programador no funciona sin él y no puedo encontrar el lugar que pensé que leí que no era necesario).
¿Por qué necesito un programador de hardware para simplemente 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, por lo 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 serie.
¿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 podía entender un pequeño cable USB que presentaba el microcontrolador como un dispositivo de almacenamiento masivo y le permitía arrastrar archivos binarios para la programación (como esta placa de desarrollo ARM ). Solo hardware, utilizando controladores de software estándar.
También pude entender una solución única de software (módulo que conecta los cables del USB al chip, usando algo como el chip FTDI para simplificar lo que pasa por los cables). Todo el sofisticado protocolo de programación sería manejado por software en la computadora, y el hardware sería solo algunos cables.
¿Por qué tenemos tanto software (hardware) (complicado) involucrado? Quiero decir, por lo que puedo decir, programar microcontroladores es bastante fácil, pero cuando me estaba metiendo en esto, realmente me preocupaba cómo iba a comprar un chip de Mouser o Digikey sin pagarle a un gurú para programar un gestor de arranque. para mi.
Estoy seguro de que hay una buena razón (no es como si hubiera escrito el software o empezado a fabricar el programador USB de arrastrar y soltar), pero como recién llegado, no tengo idea de qué es.