Este é o comando stm32flash que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
stm32flash - utilitário de flashing para STM32 por meio de UART ou I2C
SINOPSE
stm32flash [-cfhjkovCR] [-a endereço_ônibus] [-b taxa de transmissão] [-m modo_serial] [-r nome do arquivo]
[-w nome do arquivo] [-e Números] [-n contar] [-g endereço] [-s página inicial] [-S endereço[:comprimento]] [-F
RX_comprimento[:Comprimento_Tx]] [-i GPIO_string] [dispositivo_tty | dispositivo_i2c]
DESCRIÇÃO
stm32flash lê ou grava a memória flash do STM32.
Requer que o STM32 incorpore um bootloader compatível com a nota de aplicação ST AN3155 ou
AN4221. stm32flash usa a porta serial dispositivo_tty ou a porta i2c dispositivo_i2c interagir
com o bootloader do STM32.
OPÇÕES
-a endereço_ônibus
Especifique o endereço no ônibus para dispositivo_i2c. Esta opção é obrigatória para interface I2C.
-b taxa de transmissão
Especifique a velocidade da taxa de transmissão de dispositivo_tty. Observe que o carregador de inicialização ST pode
detectar automaticamente a taxa de baud, conforme explicado no capítulo 2 de AN3155. Esse
a opção pode ser necessária junto com a opção -c ou se após a interação com
bootloader é esperado. O padrão é 57600.
-m modo
Especifique o formato dos dados UART. modo é uma string de três caracteres onde cada
caractere especifica, nesta ordem estrita, tamanho de caractere, paridade e bits de parada.
Os únicos valores usados atualmente são 8e1 para bootloader STM32 padrão e 8n1 for
bootloader padrão STM32W. O padrão é 8e1.
-r nome do arquivo
Especifique para ler o flash STM32 e gravar seu conteúdo em nome do arquivo em binário bruto
formato (veja abaixo FORMATO CONVERSÃO).
-w nome do arquivo
Especifique para gravar o flash STM32 com o conteúdo de nome do arquivo. O formato do arquivo pode ser
binário bruto ou hex hexadecimal (veja abaixo FORMATO CONVERSÃO) O formato do arquivo é
detectado automaticamente. Para contornar a detecção de formato e forçar o modo binário (por exemplo, para
escrever um conteúdo hexadecimal intel em flash STM32), use -f opção.
-u Especifique para desabilitar a proteção contra gravação do flash STM32. O STM32 será reiniciado
após esta operação.
-j Ative a proteção contra leitura do flash.
-k Desative a proteção contra leitura do flash.
-o Apague apenas.
-e Números Especifique para apagar apenas Números páginas antes de escrever o flash. O padrão é apagar o
flash inteiro. Com -e 0 o flash não era apagado.
-v Especifique para verificar o conteúdo do flash após a operação de gravação.
-n contar
Especifique para repetir gravações com falha até contar vezes. O padrão é 10 vezes.
-g endereço
Especifique o endereço a partir do qual iniciar a execução (0 = início do flash).
-s página inicial
Especifique o deslocamento da página do flash (0 = início do flash).
-S endereço[:comprimento]
Especifique o endereço inicial e opcionalmente o comprimento para as operações de leitura / gravação / apagamento / crc.
-F RX_comprimento[:Comprimento_Tx]
Especifique o tamanho máximo do quadro para a interface atual. Devido ao bootloader STM32
protocolo, o host nunca irá lidar com quadros maiores que 256 bytes em RX ou 258 bytes em
TX. Devido ao código atual, o limite mínimo em RX é de 20 bytes (para ler uma resposta completa
do comando GET). O limite mínimo em TX é de 5 bytes, exigido pelo protocolo.
-f Força o analisador binário ao ler o arquivo com -w.
-h Mostre ajuda.
-c Especifique para retomar a conexão UART existente e não envie a sequência INIT inicial
para detectar a taxa de transmissão. A taxa de transmissão deve ser mantida igual à da conexão existente.
Isso é útil se a reinicialização falhar.
-i GPIO_string
Especifique as sequências GPIO no host para forçar STM32 a entrar e sair do bootloader
modo. O GPIO pode ser GPIO real conectado do host ao STM32 ao lado do UART
conexão ou sinais de modem UART usados como GPIO. (Veja abaixo BOOTLOADER GPIO
SEQÜÊNCIA para o formato de GPIO_string e mais explicações).
-C Especifique para calcular o CRC no conteúdo da memória. Por padrão, o CRC é calculado no
todo o conteúdo flash. Usar -S para fornecer diferentes intervalos de endereços de memória.
-R Especifique para redefinir o dispositivo na saída. Esta opção é ignorada se -g, -j, -k
or -u também é especificado.
BOOTLOADER GPIO SEQÜÊNCIA
Este recurso está disponível apenas no host Linux.
Conforme explicado na nota de aplicação AN2606 do ST, após a reinicialização, o STM32 irá executar o
programa de aplicação no flash do usuário ou bootloader, dependendo do nível aplicado em
pinos específicos do STM32 durante a reinicialização.
O bootloader STM32 é automaticamente ativado configurando os pinos BOOT0 = "alto" e
BOOT1 = "baixo" e, em seguida, aplicando um reset. O programa de aplicação no flash do usuário está ativado
configurando o pino BOOT0 = "baixo" (o nível em BOOT1 é ignorado) e, em seguida, aplicando um
restabelecer.
Quando o GPIO do computador host está conectado a qualquer configuração e pinos de redefinição de
STM32, stm32flash pode controlar o GPIO host para redefinir STM32 e forçar a execução de
bootloader ou execução de programa de aplicação.
A sequência de valores GPIO para entrar e sair do modo bootloader é fornecida com
opção de linha de comando -i GPIO_string.
O formato de GPIO_string é:
GPIO_string = [sequência de entrada] [: [sequência de saída]]
sequência = [-] n [sequência]
Nas sequências acima, os números negativos correspondem a GPIO no nível "baixo"; números
sem sinal correspondem a GPIO em nível "alto". O valor "n" pode ser o GPIO
número no sistema host ou a string "rts", "dtr" ou "brk". As strings "rts" e "dtr"
conduza as linhas de modem RTS e DTR do UART correspondentes como GPIO. A string "brk" força
o UART para enviar uma seqüência BREAK na linha TX; depois de BREAK o UART retorna ao normal
modo "non-break". Nota: a string "-brk" não tem efeito e é ignorada.
Observe que a sequência de saída só é executada se -R for especificado. Se -R for especificado, mas
sem sequência de saída, uma reinicialização acionada por software será executada.
Como exemplo, vamos supor a seguinte conexão entre o host e o STM32:
· Host GPIO_3 conectado ao pino de reinicialização do STM32;
· Host GPIO_4 conectado ao pino STM32 BOOT0;
· Host GPIO_5 conectado ao pino STM32 BOOT1.
Neste caso, a sequência para entrar no modo bootloader é: primeiro coloque GPIO_4 = "high" e
GPIO_5 = "baixo"; em seguida, envie pulso de redefinição por GPIO_3 = "baixo" seguido por GPIO_3 = "alto". o
string correspondente para GPIO_string é "4, -5, -3,3".
Para sair do bootloader e executar o programa aplicativo, a sequência é: put
GPIO_4 = "baixo"; em seguida, envie o pulso de redefinição. A string correspondente para GPIO_string is
"-4, -3,3".
O sinalizador de linha de comando completo é "-R -i 4, -5, -3,3: -4, -3,3".
STM32W usa pad PA5 para selecionar o modo de inicialização; se durante a reinicialização o PA5 estiver "baixo", então o STM32W irá
entrar no modo bootloader; se PA5 estiver "alto" executará o programa em flash.
Por exemplo, supondo que GPIO_3 conectado ao PA5 e GPIO_2 ao reset do STM32W. O comando:
stm32flash -R -i -3, -2,2: 3, -2,2 / dev / ttyS0
fornece:
· Sequência de entrada: GPIO_3 = baixo, GPIO_2 = baixo, GPIO_2 = alto
· Sequência de saída: GPIO_3 = alto, GPIO_2 = baixo, GPIO_2 = alto
EXEMPLOS
Obtenha informações do dispositivo:
stm32flash / dev / ttyS0
Escreva com verificar e, em seguida, inicie a execução:
stm32flash -w nome do arquivo -v -g 0x0 / dev / ttyS0
Leia o flash para o arquivo:
stm32flash -r nome do arquivo / dev / ttyS0
Inicie a execução:
stm32flash -g 0x0 / dev / ttyS0
Especificamos:
· Sequência de entrada: RTS = baixo, DTR = baixo, DTR = alto
· Sequência de saída: RTS = alto, DTR = baixo, DTR = alto
stm32flash -R -i -rts, -dtr, dtr: rts, -dtr, dtr / dev / ttyS0
FORMATO CONVERSÃO
As imagens em Flash fornecidas pela ST ou criadas com ferramentas ST geralmente estão no formato de arquivo Motorola
S-Record. A conversão entre binário bruto, Intel hex e Motorola S-Record pode ser feita
por meio do pacote de software SRecord.
AUTORES
O pacote de software original stm32flash é escrito por Geoffrey McRae <geoff@spacevs.com>
e é desde 2012 mantido por Tormod Volden <debian.tormod@gmail.com>.
A página do manual e a extensão para STM32W e I2C são escritas por Anthony Bornéu
<borneo.antonio@gmail.com>.
Por favor, relate quaisquer bugs na página inicial do projeto http://stm32flash.sourceforge.net .
Use stm32flash online usando serviços onworks.net