Página 1 de 1

Bootloader 16f876/16f876A

MensagemEnviado: 15 Jan 2009 06:40
por ktulu
Olá colegas,

Estou tento uns problemas com um projeto pessoal.
Não estou conseguindo fazer o bootloader funcionar. Nunca utilizei e gostaria de descobrir onde estou errando.

Meu hardware está conectado na serial com um max232, meu projeto atualmente envia e recebe dados pro computador na boa, tudo certinho.
Gravei o .hex que baixei junto com o pic bootloader, mas quando mando o bootloader gravar ele nao acha meu pic.
Tentei inicialmente com um 16f876, rodando a 20mhz, mas não encontrei o .hex pra ele, só até 16mhz.
Troquei então pelo 16f876A, que tem .hex pra 20mhz a 5600 e 3800bps.
Tentei com os 2 .hex e não tive sucesso.

Meu hardware não tem reset no mclr. Tentei desligando e ligando ele já com o botao Write do bootloader precionado e nada.
Cortei a trilha q levava 5v pro mclr e coloquei um resistor de 10k como pull-up pra 5v, e com um fio eu aterrava o mclr pra resetar o pic, mas mesmo assim nada de comunicar com o bootloader.

Alguém tem algum palpite de onde estou errando?

Abracos
Luis

MensagemEnviado: 15 Jan 2009 10:05
por RobL
Se você tem acesso ao programa do seu bootloader, verifique o que ele está setando especialmente o baudrate e se não for feito por você ter a certeza do que ele está acessando se realmente a uart ou outra entrada, pois pode-se ter por SPI e outros.
Há bootloader que aguarda um certo tempo para receber o caracter inicial, etc.

MensagemEnviado: 16 Jan 2009 21:24
por ktulu
Tentei também com exemplo que vem no compilador CCS.

Compilei e gravei o ex_bootloader.c no pic, mudando baudrate, clock e device. Recompilei meu codigo usando as instrucoes extras do arquivo ex_bootload.c.
Consegui iniciar a transferencia do .hex pelo programa tipo hyperterminal que vem junto com o ccs, mas no final o pic não roda o código gravado.

Os outros bootloades que testei são aqueles que ficam cuspindo algo na serial e quando o pic inicia ele deveria responder pra iniciar a transmissao. O que acontece é que o pic nem dá sinal de vivo quando inicia...

MensagemEnviado: 17 Jan 2009 09:42
por RobL
Deu uma olhada dentro do pic para ver se seu código foi para lá?
Teste com um código bem simples, tornar uma saída alta, somente.
Se com um pgm simples não der, o jeito é simular para acompanhar passo a passo.