Perché convertire UF2 in BIN?
UF2 è un contenitore di firmware USB drag-and-drop che avvolge l'immagine reale in blocchi da 512 byte contenenti indirizzi flash e un ID famiglia, mentre .bin è l'immagine firmware grezza byte per byte. Gli sviluppatori spacchettano UF2 in .bin quando devono eseguire il flashing tramite SWD/JTAG, ispezionare l'immagine o caricarla in un'altra toolchain che richiede un binario semplice. Lo script uf2conv.py di Microsoft, presente nel repository microsoft/uf2, esegue questa operazione in entrambi i sensi.
Come convertire UF2 in BIN
uf2conv.py (strumenti Microsoft UF2) OPEN-SOURCE
Dal repository microsoft/uf2 esegui uf2conv.py firmware.uf2 -c -o firmware.bin. Il flag -c/--convert scrive un file invece di programmare un dispositivo.
uf2conv Python - output predefinito FREE
Esegui uf2conv.py firmware.uf2 -c senza -o e il programma userà come predefinito flash.bin quando rileva un output binario. Richiede Python 3.
Informazioni su questi formati
Un file UF2 è un'immagine firmware nel formato USB Flashing Format di Microsoft, utilizzato per programmare schede a microcontrollore tramite USB. Non si apre in un'app: si mette la scheda…
Apri dettagli .UF2 →Un file BIN è solitamente una copia grezza, settore per settore, di un CD o DVD accompagnata da un file di testo .cue corrispondente che descrive le tracce. Montalo con PowerISO o DAEMON…
Apri dettagli .BIN →Qualità e a cosa prestare attenzione
- L'indirizzo di destinazione/base della flash contenuto nei blocchi UF2 non viene preservato nel
.binpiatto; è necessario conoscere l'offset corretto al momento del re-flashing. - Se l'UF2 presentava lacune tra gli intervalli di indirizzi, il
.binrisultante potrebbe essere riempito con padding o iniziare dall'offset errato - controlla l'indirizzo di base. - Il solo file
.binnon trasporta alcun ID famiglia, quindi si perde il controllo di sicurezza sulla famiglia del dispositivo fornito da UF2.
Domande frequenti
Qual è il comando esatto?
uf2conv.py firmware.uf2 -c -o firmware.bin. Il flag -c significa solo conversione, non flashing.Ho bisogno di Python?
uf2conv.py è uno script Python 3 dal repository microsoft/uf2. Esiste anche un porting in Rust, uf2conv-rs.L'indirizzo flash viene mantenuto?
.bin è un'immagine piatta e dovrai fornire l'offset durante il flashing.Posso riconvertire in UF2 in seguito?
uf2conv.py firmware.bin -c -b <base> -f <family> -o firmware.uf2, fornendo l'indirizzo di base e l'ID della famiglia.