Como transferir programas para o microcontrolador usando

Transcrição

Como transferir programas para o microcontrolador usando
Programação – Daniel Corteletti – Aula 2 – Parte I
Página 1/2
Transferência do programa HEX usando BOOTLOADER
Para entender este processo, observe as seguintes características do microcontrolador PIC.
1) Nos modelos FLASH, o microcontrolador pode ser gravado e regravado várias vezes.
2) Geralmente a memória ROM é apagada e alterada através do processo de gravação
conhecido por ICSP (IN CIRCUIT SERIAL PROGRAMMING), usando-se tensão mais
elevada no pino 1 para identificar que o microcontrolador está no modo programação, e
enviando via protocolo específico os dados via pinos PGD e PGC. Isso tudo é feito
quando usamos um gravador tradicional.
3) O microcontrolador tem a possibilidade de alterar a própria memória ROM através de
comandos e permissões especiais (flash program write).
4) A maioria dos microcontroladores possuem portas seriais que permitem uma fácil
conexão a outros dispositivos e computadores.
5) Um programa especial que consome pouca memória, pode ser gravado em uma
posição específica da memória ROM do microcontrolador. Geralmente, consome-se
pouco mais de 1% da memória do microcontrolador, variando conforme a estratégia de
bootloader escolhida.
6) Este programa, ao ser executado, verifica se alguma informação está tentando ser
enviada para o microcontrolador via porta serial. Esta verificação é rápida, e ocorre no
momento do RESET.
7) Se alguma informação estiver sendo enviada, ele passa a receber os dados, e
armazená-los na memória ROM (programando o PIC).
8) Se nenhuma informação estiver sendo enviada, ele entra em modo execução, rodando
o último programa recebido.
Quais os procedimentos que devo executar, então, para usar a estação CUSCOPIC através de
uma porta serial e via bootloader ?
a) Inicialmente, verifique se a estação já está preparada com o bootloader. Se não estiver, veja
como gravar (via porta paralela) o programa de bootloader correto para a estação, variando
conforme microcontrolador utilizado e velocidade do clock
utilizada.
Para saber se a estação está com o bootloader gravado,
com a chavem em run, pressione reset e monitore o led da
saída C6. Se ela piscar, significa que a estação deve ter
sido gravada com boodloader.
b) rode o programa PICBOOTPLUS (ao lado). Uma janela
permite seleicionar (via botão SEARCH) o programa HEX a
ser transferido, a porta serial utilizada (geralmente COM1) e
a velocidade (geralmente 19200).
c)
pressione write, e posteriormente pressione reset
(ou mude de PROG para RUN) a chave de programação.
Uma barra irá correr indicando que a gravação está
acontecendo, e uma mensagem de sucesso irá surgir se a
gravação ocorreu sem problemas no lugar da barra.
Tente realizar o processo de gravação de alguns arquivos
HEX.
Programação – Daniel Corteletti – Aula 2 – Parte I
Página 2/2
Alguns problemas que podem surgir:
1) Uma mensagem de erro (OPEN PORT ERROR) ao abrir o programa PICBOOTPLUS é
o indicativo que a porta serial escolhida não está disponível. Veja se não há outro
programa bloqueando a porta serial, ou se a porta está devidamente configurada.
Geralmente, quando usamos conversores USB/RS232, a porta serial atribuída ao
adaptador recebe um número muito alto para o programa reconhecer (COM16, por
exemplo). Neste caso, antes de abrir o programa, vá ao gerenciador de dispositivos do
windows, e no menu AVANÇADO da porta serial COM em questão, mude a porta para
COM1, COM2, COM3 ou COM4.
2) Ao transferir, uma mensagem de erro surge (TIMEOUT) na metade da transmissão.
Isso pode ocorrer porque o microcontrolador está instável (circuito de clock com
interferência), mas geralmente ocorre com conversores USB que apresentam baixa
tensão nos sinais de comunicação. Geralmente é resolvido com a insistência (na
segunda ou terceira tentativa é possível transferir o programa todo) ou ainda
substituindo-se o conversor USB. É importante também verificar se o cabo de
comunicação não está sendo submetido a ruídos eletromagnéticos durante a
comunicação.
3) Ao pressionar RESET, a mensagem de TIMEOUT surge instantaneamente, sem a
comunicação iniciar. Isso pode ocorrer pois não há liberação (no pic) para a gravação
do programa na memória FLASH. Isso deve ser pelo fato do programa de bootloader
que foi gravado no PIC não ter sido gravado corretamente, com a opção de FLASH
PROGRAM WRITE habilitada.
4) Ao pressionar RESET, nada ocorre. Isso pode identificar uma falha na comunicação
(cabo ruim, cabo com fios rompidos, microcontrolador sem bootloader,
microcontrolador não consegue entrar em modo RUN, etc...)

Documentos relacionados

como usar o PIC_downloader

como usar o PIC_downloader a) O primeiro passo e abrir o programa PIC_DOWNLOADER b) Posteriormente, selecione a PORTA (Port) de acordo com a porta serial utilizada pelo seu PC. c) Selecione a velocidade. Sugiro 19200 (veloci...

Leia mais

Como transferir programas para o microcontrolador usando EPIC

Como transferir programas para o microcontrolador usando EPIC utilizar as diretivas de programação (#FUSES na linguagem C ou __CONFIG no ASSEMBLY) para modificar as opções de configuração do programa. Reread File ... é altamente recomendável, pois desta forma...

Leia mais