Por que converter UF2 para BIN?
O UF2 é um contêiner de firmware para arrastar e soltar via USB que envolve a imagem real em blocos de 512 bytes contendo endereços de flash e um ID de família, enquanto o .bin é a imagem bruta do firmware byte a byte. Desenvolvedores descompactam UF2 para .bin quando precisam gravar via SWD/JTAG, inspecionar a imagem ou alimentá-la em outra cadeia de ferramentas que espera um binário simples. O próprio uf2conv.py da Microsoft, do repositório microsoft/uf2, faz isso nos dois sentidos.
Como converter UF2 para BIN
uf2conv.py (ferramentas Microsoft UF2) OPEN-SOURCE
A partir do repositório microsoft/uf2, execute uf2conv.py firmware.uf2 -c -o firmware.bin. A flag -c/--convert grava um arquivo em vez de programar um dispositivo.
uf2conv Python - saída padrão FREE
Execute uf2conv.py firmware.uf2 -c sem o -o e ele assumirá como padrão flash.bin ao detectar saída binária. Requer Python 3.
Sobre estes formatos
Um arquivo UF2 é uma imagem de firmware no formato USB Flashing Format da Microsoft, usado para programar placas de microcontroladores via USB. Você não o abre em um aplicativo - você…
Abrir detalhes de .UF2 →Um arquivo BIN é, na maioria das vezes, uma cópia bruta, setor por setor, de um CD ou DVD que vem acompanhada de um arquivo de texto .cue correspondente que descreve as faixas. Monte-o com…
Abrir detalhes de .BIN →Qualidade e o que observar
- O endereço base/destino da flash contido nos blocos UF2 não é preservado no
.binplano; você deve saber o deslocamento (offset) correto ao regravar. - Se o UF2 tiver lacunas entre os intervalos de endereços, o
.binresultante pode ser preenchido com zeros ou começar no deslocamento errado - verifique o endereço base. - O
.binsozinho não carrega ID de família, então você perde a verificação de segurança de família de dispositivo que o UF2 oferece.
Perguntas frequentes
Qual é o comando exato?
uf2conv.py firmware.uf2 -c -o firmware.bin. A flag -c significa apenas converter, não gravar.Eu preciso de Python?
uf2conv.py é um script Python 3 do repositório microsoft/uf2. Também existe uma versão em Rust, o uf2conv-rs.O endereço da flash é mantido?
.bin é uma imagem plana e você deve fornecer o deslocamento ao gravar.Posso converter de volta para UF2 depois?
uf2conv.py firmware.bin -c -b <base> -f <family> -o firmware.uf2, fornecendo o endereço base e o ID da família.