Pessoal,
estou apanhando um bocado para conseguir gravar um bootloader no pic 18f2550... será que alguem poderia me dar uma ajuda???
t+
Moderadores: andre_luis, 51, guest2003, Renie
RobL escreveu:Pelo erro é o que foi comentado no ítem 2 acima (baudrate diferente).
Verifique a setagem do baudrate, conforme ítem 3-2 acima.
Extendendo: Pegue o valor do seu cristal, veja o que está setado no registro de sua uart, para o baudrate, veja no manual e faça as operações (contas).
Se seu baud estiver diferente (creio que sim) altere o valor do registro responsável pelo baud, no programa. Deve estar logo no início do bootloader onde começa a setar tudo.
estou usando um cristal de 20mhz e estou setando 115,200 baud
creio que está certo...
por acaso pode ser o codigo que não está deixando inserir o bootloader?
RobL escreveu:No código do seu bootloader (programa residente no pic), acompanhe ele e veja onde está sendo setado o registro do baud para sua uart.estou usando um cristal de 20mhz e estou setando 115,200 baud
creio que está certo...
por acaso pode ser o codigo que não está deixando inserir o bootloader?
Da forma que você escreve, você está confundindo bootloader com o seu código a carregar através do bootloader.
Veja, o bootloader já está inserido em seu PIC ou não está?
O bootloader tem que ser posto no PIC através de um gravador comum, como se fosse um programa qualquer. Será que está aí o problema e confusão?!!!
Alguns micros costumam ter fuses para gravar o bootloader na área correta.
Caso seu bootloader esteja dentro do PIC:
O problema de baudrate está no seu código de bootloader. Você precisa pegar os valores do código do Tiny bootloader, referente ao baudate e calcular para o seu cristal e para o seu chip e ver se este cálculo está dando exatemente o valor setado no programa no lado PC (Win, Linux).
RobL escreveu:Não, o bootloader tem que ser gravado com um gravador comum na área para bootloader do microcontrolador (veja se há fuses para isso e programe os fuses).
O seu código, que você vai querer rodar no pic, é que será carregado no PIC atrevés da interface fornecida, via RS232. Poderia usar até hiperterminal do windows para isso ou qualquer programa para enviar seu código ao PIC.
O bootloader é um programa que fará o papel do gravador quando você quizer gravar o seu código, por exemplo, piscar um led.
Acho que você não tem nada dentro do PIC por isso está dando erro de baudrate, ou seja, o PIC não está respondendo.
Primeiro tem que gravar o hex do bootloader dentro do PIC na área correta para ele.
Agora é só reler o artigo sobre o Tinybootloader e o manual do seu PIC (sobre bootloader) e começar.
mais só para ver se eu entendi... esse bootloader carregado pelo rs232 no caso seria para mim "atualizar" o codigo sem precisar retirar o pic do circuito?
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante