Estoy intentando programar algunos Atmega328 (no Atmega328p) con un ICSP. Estos son TQFP.
Lo que estoy tratando de hacer es cargar el programa en un chip nuevo sin tener que cargar primero el cargador de arranque. Yo uso un comando como este
avrdude -v -p m328 -c usbtiny -U flash:w:blink.cpp.hex:i
avrdude dice que se cargó correctamente, pero el programa no se ejecuta realmente.
Sin embargo, cuando primero grabo el gestor de arranque, usando la interfaz gráfica de usuario de Arduino, luego uso la línea de comandos y el programador para cargar el programa, el programa se ejecuta. Estoy confundido acerca de por qué esto se debe a que entendí que el gestor de arranque no era necesario si la programación se realizó con el programador.
¿Por qué se necesita el gestor de arranque?
En segundo lugar, si se necesita el cargador de arranque, ¿hay alguna manera de hacer que avrdude haga todo lo posible para cargar el cargador de arranque y el programa en una sola línea?