Introdução
Para gravar suas placas com o binário gerado pela IDE (.s19 com o COSMIC ou .srec com o IAR), vamos usar o ST-LINK. Ele é o gravador presente em placas como a STM8SVLDISCOVERY, ou a STM8S-DISCOVERY, ou até mesmo no gravador ST-LINK/V2. E vamos usar também o software programador chamado ST Visual Programmer (STVP). Esse roteiro funciona somente para máquinas Windows. Se você usa Linux, siga esse artigo.Conexões
Se estiver usando as placas Discovery, será necessário dessoldar os resistores de 0R (curto) em sinalizados como SB2 e SB1 na placa:
Feito isso, é necessário conectar os 4 fios do gravador da barra de pinos CN7 na placa com o STM8 que se quer gravar, são eles:
Feito isso, é necessário conectar os 4 fios do gravador da barra de pinos CN7 na placa com o STM8 que se quer gravar, são eles:
1. VDD - Alimentação2. SWIM - Pino de dados3. GND - Terra ou referência4. RESET - Pino de reset do MCU
Pegando os arquivos binários
No COSMIC
O arquivo binário gerado pelo código desenvolvido na IDE STVD com o compilador COSMIC (roteiro de instalação aqui) é um arquivo de extenção .s19, e fica localizado na pasta \Debug dentro da pasta do projeto e é criado após o projeto ser compilado sem erros.
No IAR
Já o arquivo binário gerado pelo código desenvolvido na IDE IAR / EWSTM8 (roteiro de instalação aqui) é um arquivo de extenção .srec, e fica localizado na pasta \Debug\Exe dentro da pasta do projeto e é criado após o projeto ser compilado sem erros.
OBS: Se não estiver lá, é necessário abrir o IAR, ir no cabeçalho em Project >> Options..., ir na categoria Output Converter, dar um check em Generate additional output, e escolher o formato Motorola (.srec).
Usando o ST Visual Programmer (STVP)
Para gravar os arquivos binários vamos usar um software programador ST Visual Programmer (STVP). Para instalação dele, siga os passos 2 e 3 desse roteiro de instalação do STVD, já que o STVP é instalado junto com ele.
Configuração e escolhendo o STM8
Com o programa instalado, abra o STVP. Vá em Configure >> Configure ST Visual Programmer, e escolha o gravador ST-LINK, o Programming mode SWIM e o microcontrolador a ser gravado:
Abrindo o binário
Vá em File >> Open… e navegue até o diretório onde tem o binário salvo. Altere o Tipo de arquivo na busca para All Files (“.”) e selecione o arquivo:
Gravando o STM8
Então, com a placa conectada, vá em Program e escolha:
- Current Tab: se quiser programar a Tab ativa. Se estiver na PROGRAM MEMORY, vai programar somente a memória de programa do MCU com o binário escolhido (forma mais simples e rápida)
- All Tabs: Programar todas as tabs, ou seja o programa na PROGRAM MEMORY, algum dado de usuário na DATA MEMORY (se tiver) e as configurações de Option Bytes em OPTION BYTE (como por exemplo o ROP que protege a memória contra leitura).
E pronto!
[EXTRA] Protegendo a memória do STM8 contra leitura
Para proteger a memória do STM8 contra leitura, é necessário mexer no option byte ROP (read-out protection). Se ele for ligado, não será mais possível ler a memória do MCU até que esse option byte seja desligado, o que fará com que a memória do MCU seja apagada totalmente, impedindo que qualquer um tenha acesso ao código que estava gravado. Para fazer isso:
- Vá na aba/tab OPTION BYTE e coloque o ROP em ON:
- Vá em Program >> Current Tab para programar somente a aba de OPTION BYTE, e escolha o Sim no aviso.
- Agora o MCU está protegido contra leitura. Se tentar ler, vai ver um aviso que a proteção está ativa.
Para desproteger a memória e poder voltar a gravar o MCU:
- Vá na aba/tab OPTION BYTE e coloque o ROP em OFF
- Vá em Program >> Current Tab para programar somente a aba de OPTION BYTE
- Assim que concluir, o microcontrolador estará com a memória apagada, desprotegida e pronto para ser gravado de novo
Para mais informações, consulte a documentação do STVP.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Comentários
Postar um comentário