quinta-feira, 13 de agosto de 2009

Gravação - Esse mistério distante...

Começando este novo post, finalmente falaremos da gravação, assim quem já recebeu a placa e não vai usá-la como peso para papel ou acumulador de poeira vai finalmente gravar seu firmware!
Primeiro de tudo as ferramentas necessárias, a sua placa, se não tem uma ainda, compre logo! Um cabo serial (cabo direto, não é cross!), uma fonte de alimentação (não esqueça de fechar os jumpers Alim conforme a sua fonte! Veja o post anterior), o seu computador e o software FlashSta.exe, que você encontra no CD que recebeu com a placa na pasta do CD:
\Utils_Andre\CableM3A-0806\m3a0806v020046exe\
Ou no site da Renesas, na página de informações do cabo M3A-0806: LINK
É só clicar nos downloads e ser feliz, além do software para Windows você encontra os fontes se quiser fuçar, no CD também tem um arquivo flash-guide.pdf, que explica como é o processo de gravação, além do link para a página do DJ Delorie (http://people.redhat.com/dj/m32c/) afinal, se você quiser gravar o micro usando Linux, vai precisar disso.

Com o cabo conectado, na placa, placa alimentada, abra o Hyperterminal, configure a porta que tem disponível para 19200bps,8,n,1, feche o jumper nos pinos TX e RX da placa fazendo assim o loop back, se tudo estiver certo, o que você digitar no Hyperterminal vai ecoar de volta. Se não funcionar, verifique a configuração da porta, a alimentação da placa e se ainda assim não funcionar, me escreva! Funcionou, feche o Hyperterminal, ou pelo menos desconecte.

Se você continuou é por que está tudo certo, então execute o FlashSta.exe, você deve ter uma janela assim na sua tela:
A opção Select program deve ficar como está, Internal flash memory, selecione a porta serial que vai usar, neste momento você deve garantir que o microcontrolador está em Boot, como fazer isso? Feche o jumper MODE na placa, dê um pulso no RESET (SW1), pronto, está em modo de boot! Tudo certo? Clique no OK!

Se tudo estiver correto, a janela abaixo deve abrir, senão virá uma mensagem de erro, em caso de erro, verifique alimentação, conexão, fechou o Hyperterminal, não resolveu, me escreva!
Na figura acima, eu já havia selecionado o arquivo que vou gravar previamente, isso é feito clicando em Refer..., selecione o arquivo .mot que você vai gravar, como na figura abaixo, observe onde estava meu arquivo .mot, se você copiou o exemplo do grupo, o arquivo também deve estar lá.
Feito isso ele já vai carregar o ID do programa que você selecionou para gravar, se você usou um ID diferente no código que está no microcontrolador, este é o momento de colocá-lo nos campos ID. Aqui vai um lembrete, se você gravar o micro com um ID diferente de FFFFFFFFFFFFFF, anote! Sem o ID você não consegue conectar ao micro para apagar, ler, gravar ou qualquer coisa que implique acesso externo à memória flash.

Tudo certo? Clique em OK, se o ID estiver correto vamos para janela abaixo:

Aqui temos várias opção, vamos ficar com as principais por enquanto, são elas, ERASE, que apaga a memória, BLANK, que testa se o micro está apagado e PROGRAM, que grava o programa previamente selecionado.Então vamos lá, clique no ERASE, então no OK, recebeu o Erase OK?
Vamos conferir! Clique no BLANK, ele vai testar o range de memória do programa carregao, ok? Então não precisa mudar nada na janela que abre, somente clique no OK! Sem erros? Está em branco.
Clique no PROGRAM, novamente ele vai pegar os ranges de memória do programa escolhido, logo, clique em OK e novamente OK. Recebeu a mensagem de Program OK. Clque no EXIT, retire o jumper de MODE e pulse o RESET, seu programa já deve rodar!

Se você não tem o CD, basta baixar o flashsta.exe neste link.

Simples não? Fazendo é mais simples ainda, qualquer dúvida, me escreva! Até a próxima.

7 comentários:

  1. Olá André, se você perder o ID você perde o uC ou existe uma maneira de recupera-lo, como por exemplo um gravador externo?

    Parabéns, seu Blog está muito legal.

    Rogério Poças

    ResponderExcluir
  2. Fala Rogério,
    Então, por isso que está em vermelho. Se mudar o ID e não anotar o ID que usou, já era.
    O ID fica no código hexa gerado pelo compilador, logo se você tiver o código dá para saber o ID.
    Mas a resposta é não, sem back door.

    Valeu!
    André M de Oliveira

    ResponderExcluir
  3. Olá , meu amigo xará, te escrevi como tarciso e sempre que aparecer este nome sou eu e não ele, quem te escreve. Pois bem , passa o material que disseste ter pra me enviar, me fala se pode ser por email ou correios.Aproveitando, gostaria de saber se posso construir este gravador serial "comercialmente" e não querendo debugagem ou se este gravador permitir a debugagem, possso gravar qualquer chip M16C/R8C sem ter de criar uma espécie de bootloader, ou seja , se pode ser direto. Plugo no chip virgem e tudo vai bem, é isso ?

    ResponderExcluir
  4. outra coisa , pode por a placa para venda na www.cleapseletroeletronica.com sem problemas, devo cobrar apenas comissão estipulada por você por venda.

    ResponderExcluir
  5. André, vamos por partes. Primeiro, sim, você pode montar este gravador, mas não é nada demais, apenas um MAX232. A única coisa que o microcontrolador novo precisa é de uma fonte de clock externa (não grava em boot mode com o oscilador interno). Fora isso, é só alimentar e gravar conforme a descrição que foi dada.
    Sobre a venda, me parece interessante, vamos conversar com calma sobre isso.
    Abraço!

    ResponderExcluir
  6. Tentei fazer a gravação, mas o vai até "select program" e passa para "can not set baut rate", clico em ok e começa tudo de novo, não sai disso.
    alguma ideia ?

    ResponderExcluir
  7. É aconselhável dizer pra ser instalado o Visual C++ antes de usar o programa. Acontece , mas acho que estou conseguindo depois de instalar o VC++...

    ResponderExcluir