Volete il video? Andate a ricercarvelo nei vecchi post oppure sul mio canale youtube (utente leomil72).
Vedrete che attacco, invio, programmo ed il chip esegue. Bello vero?? Peccato che prima di ciò avessi smanettato per almeno 20 minuti infilando e sfilando i componenti, pensando ad un falso contato.
Pensavo che riportare tutto su 1000fori aiutasse, invece peggio! Volete ridere??? Anche la lunghezza del cavo USB influisce sul riconoscimento della schedina!!!
Ecco cosa succede collegando il prototipo con un cavetto corto (diciamo sui 90cm):
[ 1663.103223] usb 5-2: new low-speed USB device number 2 using uhci_hcd
[ 1663.255904] usb 5-2: config 1 interface 1 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt
[ 1663.255910] usb 5-2: config 1 interface 1 altsetting 0 endpoint 0x81 is Bulk; changing to Interrupt
[ 1663.326832] cdc_acm 5-2:1.0: ttyACM0: USB ACM device
[ 1663.333077] usbcore: registered new interface driver cdc_acm
[ 1663.333083] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Riconosciuto e montato. Appena però vado a programmarlo esce il solito "Programmer is not responding".
OK, cambio di cavetto. Stavolta uno lunghetto, circa 1,5 metri. Ecco il responso:
[ 1886.569867] usb 5-2: new low-speed USB device number 3 using uhci_hcd
[ 1886.708228] usb 5-2: device descriptor read/all, error -71
[ 1886.816526] usb 5-2: new low-speed USB device number 4 using uhci_hcd
[ 1886.958230] usb 5-2: device descriptor read/all, error -71
[ 1887.066527] usb 5-2: new low-speed USB device number 5 using uhci_hcd
[ 1887.095239] usb 5-2: device descriptor read/8, error -71
[ 1887.221258] usb 5-2: device descriptor read/8, error -71
[ 1887.429858] usb 5-2: new low-speed USB device number 6 using uhci_hcd
[ 1887.458246] usb 5-2: device descriptor read/8, error -71
[ 1887.584245] usb 5-2: device descriptor read/8, error -71
[ 1887.686525] hub 5-0:1.0: unable to enumerate USB device on port 2
NON riconosciuto!!! Quindi le variabili in gioco sono troppe!
PS:
la programmazione di un Atmega con un bootloader non Arduino non è una novità. Già un anno fa vi parlavo del progetto Uzebox, una simil console ad 8 bit basata su un Atmega644 che conteneva un bootloader grossotto (4 kB mi pare) con il quale l'utente poteva scegliere a video il firmware del giochino che voleva da un elenco presente una SD installata sulla scheda e poi, dopo la relativa flashatura, avviarlo e giocarci. Insomma, niente di straordinario. Lo straordinario è vedere 'sto cavolo di V-Usb funzionare.
Fintanto ci limitiamo alla comunicazione seriale, il V-Usb funziona. Il problema è poi replicare i giusti segnali al micro a valle per avviare la programmazione. Difatti chip con firmware appositamente dedicati per funzionare come programmatori funzionano, vedi USBtinyISP o USBasp, che altro non sono se non Attiny2313 (nel 1° caso) e Atmega88 (nel 2° caso): ma quei chip fanno SOLO quello, non vogliono prendersi la briga di emulare completamente una seriale.
Poi spero che qualcuno mi smentisca, per ora non posso che dire che a me non ha funzionato.