ho un atmega 328p in tqfp32 montato su un adattatore breadboard-friendly, su cui tento invano di caricare qualcosa (senza bootloader barebones, o anche con il bootloader dell esempio breadboard)
ho tentato invano di caricare con un arduino as ISP, ma mi da errore, controllando l'output dettagliato dice
"avrdude: Device signature = 0x000000"
come collegamenti semplicemente ho collegato pin 10 11 12 13 rispettivamente ai pin 29 15 16 17 dell IC, mentre per l'alimentazione ho collegato i pin 3 5 21 a massa, mentre i pin 4 6 a Vcc.
boschi:
avete qualche idea sul perche di quella firma?
Se hai programmato i fuse come da default per Arduino senza quarzo il 328 non funziona, quando sono vergini i fuse sono settati per l'oscillatore RC interno con clock 1 MHz, appena li riprogrammi se manca il quarzo l'AVR rimane bloccato.
no, mi pare fossi riuscito a fare un upload con bare bones a 1 mhz,quindi niente bootloader e clock dal risonatore interno, comunque non ho mai provato a usarlo con il clock esterno
boschi:
quindi niente bootloader e clock dal risonatore interno,
I fuse non hanno nulla a che vedere con il bootloader, o altro software che carichi, sono solo una serie di opzioni operative per il micro, se li hai modificati, magari senza accorgertene, è normale che il micro lavora in modo diverso da quanto atteso, oppure sembra bloccato.
L'errore " Device signature = 0x000000" è tipico di quando il micro ha i fuse settati per l'uso con il quarzo senza averlo montato, questo succede perché la prima cosa che fa il programmatore hardware è richiedere la signature per verificare che il micro sia quello giusto.
Controlla pure la qualità dei collegamenti, anche un cavo che non fa contatti può causare quell'errore, idem se i cavi sono di bassa qualità e/o troppo lunghi.
Potrebbe anche essere che hai impostato il micro in debug wire in tal caso nemmeno la HVPP dovrebbe funzionare, dovresti forzare il micro a terminare la modalità debug wire (ci ho perso ore a litigare con dei micro per poi scoprire che semplicemente non avevo disattivato correttamente il debugwire)