Gravação do Controlador¶
Firmware (firmware) é um programa escrito na memória flash de um microcontrolador. Sem firmware, a placa não sabe o que fazer com os pinos, sensores, ventiladores e interfaces.
Importante: não confunda firmware com configuração. O firmware é escrito no controlador. A configuração do Klipper geralmente reside no host em printer.cfg e diz ao MCU já gravado quais pinos e parâmetros usar.
Firmware, bootloader, configuração¶
Três conceitos diferentes:
- firmware - programa principal do microcontrolador;
- bootloader - pequeno programa que ajuda a gravar o firmware principal;
- configuração - configurações do dispositivo, por exemplo
printer.cfgno Klipper.
O bootloader é executado primeiro e pode aceitar novo firmware via USB, UART, DFU, cartão SD, CAN ou outro mecanismo. Se o bootloader for acidentalmente apagado, a gravação da placa pode se tornar difícil: às vezes é necessário ST-LINK/SWD, USB-UART ou outro programador.
Procedimento geral¶
Antes de gravar, o procedimento normal é:
- Aprender o modelo exato da placa.
- Aprender o microcontrolador exato.
- Encontrar o diagrama dos pinos, esquema e instruções do fabricante.
- Compreender se é necessário firmware independente ou firmware Klipper MCU.
- Encontrar uma configuração pronta ou exemplo para esta placa.
- Escolher o método de gravação correto.
- Compilar ou baixar o arquivo correto.
- Colocar a placa em modo de gravação.
- Gravar o firmware.
- Verificar se a placa aparece no sistema.
- Verificar a comunicação com o host e pinos básicos sem carga.
Você não pode adivinhar as configurações do firmware. Para o Klipper, o tipo de microcontrolador, o deslocamento do bootloader, a referência de relógio e a interface de comunicação são especialmente importantes.
Métodos típicos de gravação¶
Placas diferentes gravam de formas diferentes:
Variantes comuns:
- Armazenamento em massa USB / UF2 - placa aparece como disco,
.uf2é copiado para ele; - USB DFU - placa entra em modo DFU, firmware é escrito via USB;
- USB série / bootloader UART - firmware via porta série;
- ST-LINK / SWD - programador se conecta aos pinos SWD;
- Cartão SD - algumas placas de impressora 3D gravam com um arquivo no cartão;
- CAN/Katapult/CanBoot - firmware via bootloader CAN;
- Bootloader Arduino - gravação de esboço via Arduino IDE ou avrdude.
Não existe um método universal para todas as placas. O método é determinado pela placa específica, bootloader e firmware.
RP2040 e UF2¶
Para Raspberry Pi Pico e muitas placas RP2040, o modo mais simples é BOOTSEL e UF2.
Normalmente:
- Mantenha pressionado
BOOTSEL. - Conecte USB.
- Placa aparece como disco
RPI-RP2. - Copie arquivo
.uf2. - Disco desaparece, placa reinicia.
O BOOTSEL do Pico está na ROM do microcontrolador, portanto não pode ser acidentalmente apagado por gravação normal. Isso torna o RP2040 conveniente para iniciantes.
STM32: DFU, ST-LINK, cartão SD¶
Placas STM32 gravam de formas diferentes.
Opções possíveis:
- bootloader USB DFU incorporado;
- bootloader UART;
- ST-LINK/SWD;
- cartão SD na placa de impressora;
- bootloader do fabricante da placa;
- bootloader CAN.
Para STM32, o deslocamento do bootloader é frequentemente importante. Por exemplo, se o bootloader ocupa o primeiro 8 KiB, o Klipper deve ser compilado com o deslocamento correto. Se escolhido incorretamente, a placa pode não iniciar após a gravação.
ST-LINK/SWD é útil como uma opção de nível mais baixo: frequentemente pode recuperar uma placa se o bootloader normal não funcionar. Mas isso requer pinos SWD, programador e compreensão da conexão.
Klipper: make menuconfig¶
Para firmware Klipper, você normalmente faz:
Em make menuconfig, você seleciona:
- arquitetura do microcontrolador;
- modelo do processador;
- deslocamento do bootloader;
- referência de relógio;
- interface de comunicação: USB, série, CAN, etc.;
- às vezes parâmetros adicionais para placa específica.
Os valores corretos são frequentemente escritos em comentários no topo de um arquivo de configuração pronto para a placa. Se tal configuração existir, leia primeiro seus comentários superiores.
Após compilação, o arquivo firmware normalmente aparece em ~/klipper/out/. Depois, é escrito usando o método adequado para a placa específica.
Verificação após gravação¶
Após a gravação, você deve verificar mais do que apenas "o gravador escreveu sucesso".
Verifique:
- o dispositivo aparece no sistema;
- está presente
/dev/serial/by-id/..., se usar USB/série; - é visível
canbus_uuid, se usar CAN; - o caminho corresponde a
printer.cfg; - não há erros de comunicação no Klipper;
- pinos coincidem com o diagrama de pinos desta placa específica;
- entradas/saídas básicas funcionam sem carga de potência;
- ventilador/MOSFET/SSR estão desligados em estado seguro.
Para a primeira verificação, não conecte o aquecedor como carga final. Primeiro verifique a comunicação, sensores e lógica em condições seguras.
O que salvar antes da gravação¶
Antes de alterar o firmware, é útil salvar:
printer.cfgatual;- versão antiga do firmware, se disponível;
- modelo da placa e microcontrolador;
- caminho série encontrado ou UUID CAN;
- foto das conexões;
- diagrama de pinos;
- configurações
make menuconfig; - link para instruções do fabricante.
Se algo der errado, esses dados ajudarão a recuperar rapidamente.
O que pode dar errado¶
Problemas comuns:
- cabo USB é apenas de carregamento;
- placa não entrou em bootloader;
- microcontrolador errado selecionado;
- deslocamento do bootloader errado selecionado;
- interface de comunicação errada selecionada;
- firmware escrito, mas placa procurada no lugar errado;
- caminho série alterado após reconexão;
- cartão SD não lido pela placa;
- arquivo firmware nomeado incorretamente para bootloader da placa;
- controlador DFU/USB-UART não instalado;
- placa alimentada de dois lados;
- após gravação, configuração referencia pinos antigos.
Não altere tudo em resposta ao primeiro erro. Melhor ir passo a passo: cabo, modo de bootloader, modelo MCU, configurações de compilação, método de escrita, aparência do dispositivo do sistema, configuração.
Gravação e segurança¶
O firmware pode ligar e desligar saídas, mas não substitui a segurança do hardware.
Para aquecedores você precisa:
- interruptor de potência correto;
- fusível;
- proteção térmica independente;
- sensor de temperatura correto;
- caixa segura;
- verificar comportamento em erro de firmware, travamento de MCU ou perda de comunicação.
Após gravar o controlador, não ligue o aquecedor sem verificar que o pino é escolhido corretamente, a lógica de ligação não está invertida e os limites de segurança funcionam.
Erros típicos¶
- confundir firmware e
printer.cfg; - gravar arquivo de placa semelhante mas diferente;
- não ler comentários no topo da configuração Klipper pronta;
- selecionar deslocamento errado do bootloader;
- apagar bootloader sem compreender as consequências;
- usar cabo USB apenas de carregamento;
- não colocar placa em modo de gravação;
- procurar placa CAN em
/dev/serial/by-id; - procurar placa USB-série via
canbus_uuid; - conectar carga de potência antes de verificar pinos;
- não salvar configuração antiga.
Ponto-chave¶
O firmware é o programa dentro do controlador, a configuração são suas configurações operacionais. Para cada placa, você deve conhecer o modelo exato, microcontrolador, bootloader, método de gravação e parâmetros de compilação.
Para RP2040, UF2/BOOTSEL é geralmente mais simples. Para STM32, verifique a placa específica: DFU, ST-LINK, cartão SD, UART ou bootloader CAN. Para Klipper, primeiro encontre uma configuração pronta e comentários para make menuconfig.
Materiais relacionados¶
- Klipper: Installation - Building and flashing the micro-controller - procedimento oficial para
make menuconfig,makee verificação de caminho série. - Klipper: Bootloaders - por que os bootloaders diferem entre placas, por que é necessário deslocamento do bootloader e como diferentes MCUs são gravados.
- Raspberry Pi Documentation: Pico-series microcontrollers - BOOTSEL, UF2 e especificidades de Pico/RP2040/RP2350.
- Raspberry Pi Documentation: C/C++ SDK - Your First Binaries - exemplo oficial de BOOTSEL, armazenamento em massa USB
RPI-RP2e gravação de Pico via UF2. - STMicroelectronics: STM32CubeProgrammer - ferramenta STM32 oficial para gravação via ST-LINK/SWD, UART, USB DFU, SPI, I2C e bootloader CAN.