Programmazione BitBang (Atmega328P)

Ciao a tutti, vorrei poter utilizzare la programmazione in modalità BITBANG (sviluppata dal Prof. Menniti) per la mia schedina Arduino Uno R3.
Vorrei sapere se con questa modalità di programmazione è anche possibile proteggere da lettura/scrittura gli Atmega328P e riprogrammarli togliendolo e reinserendo le protezioni (come facevo con il mio AVRDRAGON in moralità HV con i Fuse ed il Lock Bit).

NOTA: so già che occorre utilizzare un FT232 esterno e so come effettuare i collegamenti (ho gia letto l'articolo del Prof. Menniti).

Aspetto vostre risposte, grazie

Perché non hai semplicemente corretto il titolo?...

Ciao Datman,
cioè...?
E' errato?

Non capisco se è un argomento in cui nessuno è preparato o se nessuno ha tempo per darmi una risposta...

Non un argomento semplice. Inoltre un hobbista di solito non blocca la programmazione di un atmega, quindi non conosce molto l'argomento.
Mi pare (ma non sono sicuro) puoi ricambiare i fuse togliendo la protezione, ma (mi pare) serva un programmatore che permetta di applicare una tensione adeguata.

"How to protect my program in ATmega328? - #6 by nickgammon"
Gammon lo scrive nel post#6

Per togliere e rimettere la protezione sulla lettura e scrittura cioè modificare i LB Lock Bits non serve la modalità HV , basta il collegamento ISP sul connettore a 6 PIN,
5V
GND
Miso
Mosi
Ck
Reset
Non si può fare mediante BootLoader

Se lo vuoi fare mediante BL devi tenere i LB in una configurazione particolare che blocca l'accesso alla flash del BootLoader ma non alla flash programma, il BL non deve essere quello di Arduino ma un BL codificato AES256 o simile con una chiave personalizzata
Il codice oggetto generato dal compilatore viene fatto passare in un programma di encryption che lo modifica con la tua chiave personalizzata, il file generato verrà inviato mediante porta asyncrona e protocollo adeguato per un trasferimento binario HEX, ad esempio xmodem, il BL codificato effettuerà la decryption e poi con la stessa chiave AES con cui è stato encrytped lo scriverà nella flash programma

Se è questo il sistema a cui vuoi arrivare ti consentirà di vendere la tua scheda Arduino custom e distribuire il firmware tramite email o scaricabile da un sito web senza che nessuno potrà copiarti il lavoro

Suggerisco qualche parola... :slightly_smiling_face:
Decryption: decriptazione;
Encrypted: criptato;
Decrypted: decriptato.

Non so in inglese

Ma in italiano non si può "criptare"
Cifrare e decifrare per definizione sono applicabili a casi dove la chiave è conosciuta
Decriptare per definizione è quando non si conosce la chiave

"Criptare" sarebbe come dire: io sto cifrando, ma non conosco la chiave
Ma sa sto facendolo io per definizione la chiave la conosco...

Da questo discende che "criptato" come parola non esiste

Grazie ragazzi per l'aiuto e per i consigli, non sono molto pratico di protezioni, Boot Loader, ISP...
Vi spiego ciò che vorrei fare:
Io possiedo una scheda con installato un FT232RL ed un Atmega328P in Standalone, tutto funziona perfettamente.
Nell'Atmega328P ho buttato dentro, attraverso il comunissimo cavo USB, il mio codice (ovviamente con l'IC provvisto di Boot Loader e senza nessuna protezione).
Fin qui tutto ok...

Ciò che a me occorre è programmare l'Atmega328P e applicare le protezioni (Fuse e Lock bit) attraverso lo stesso hardware, quindi con un cavo USB e senza l'utilizzo di nessun programmatore hardware esterno.

Ho letto appunto della tecnica BitBang del Prof. Menniti, ma non so se con questa tecnica posso riprogrammare e applicare le protezioni con l'uso di un normale cavo USB e Ide (oppure AVRDUDE come ho letto su un articolo del Prof. Menniti).

Pin da collegare dal FT232RL all'Atmega328P:
CTS → MISO
DSR → SCK
DCD → MOSI
RI → RESET
VCC (5V)
GND (GND)

Ditemi voi, grazie

Si può fare ma non so se qualcuno lo ha fatto e pubblicato, prova ad esaminare il progetto avrdudess e i suoi fork se trovi qualcosa