Pergunta

Eu sou novo no OpenOCD, alguém tentou usar o Olimex OpenOCD para realmente fazer o flash do arquivo hex do programa (de Kiel, digamos) no ARM CORTEX M0 (genérico).

O que eu preciso para configurar o arquivo de script para levar cada palavra do arquivo hexadecimal para realizar mww (palavra de gravação de memória) dentro do flash MCU? Alguém pode fornecer um exemplo.Eu uso python.

Abro para sugestões.

Eu uso o Windows PC.

Foi útil?

Solução

Todos os Cortex M0 que eu conheço não têm JTAG, mas apenas suporte SWD.SWD ainda não está disponível no OpenOCD - ainda está em desenvolvimento.

Outra observação: o método para gravar a memória flash é específico para cada fornecedor / chip.

Outras dicas

Claro, qual plataforma em particular? algum pesquisando encontrará a sequência exata. desbloquear flash, apagar, programar, etc.

Seção 6 desta página, por exemplo.

http://pygmy.utoh.org/riscy/cortex/led- lpc17xx.html

Estou tentando descobrir em que placa eu fiz isso, mas esses foram os comandos que eu segui e funcionou muito bem. Pode ter sido o mini leaflabs maple. As etapas são as mesmas. Para evitar as etapas ou scripts, etc. o que acabei fazendo foi escrever algumas linhas do bootloader que diziam se ram + 0= 0x12345678 e ram + 4= 0x87654321 então ramifique para ram + 8, senão loop infinito. então era trivial usar o jtag para carregar um programa na memória RAM com as duas palavras e um ponto de entrada em 0x08 bytes na memória RAM, pressione reset e execute o programa. Em uma inicialização a frio, ele apenas atinge o loop infinito. Passei o dia em um sistema baseado em braço maior, carregando tudo na memória ram usando jtag, o que o tornou bastante confortável. Você poderia apenas fazer um script em openocd e simplesmente digitar o comando openocd para que o carregamento do flash aconteça.

Atualização para pessoas que passam por ...

Você não precisa usar mww, se estiver apenas tentando programar em flash (por exemplo, enviar seu próprio código) para o seu microcontrolador.

Algum tempo atrás, o OpenOCD ganhou um script de conveniência ("embutido"), que você pode usar para programação, esse "comando" é chamado de "programa". Aqui está um exemplo da a documentação sobre o comando "program":

openocd -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f board/stm32f3discovery.cfg -c "program filename.elf verify reset"

-Substitua "stm32f3discovery" no quadro.Se você usar um adaptador diferente, substitua a interface pelo arquivo de configuração apropriado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top