PIC: Bootloader USB HID
Quando se está trabalhando com microcontroladores PIC é muito chato ter que ficar retirando o PIC da protoboard para ficar regravando o firmware enquanto efetua seus testes. Utilizando PIC's com suporte a USB facilita muito essa tarefa.
Após instalar um bootloader no PIC, é possivel carregar um novo firmware através da porta USB.
EXPLICAÇÃO DO BOOTLOADER
Após instalar um bootloader no PIC, é possivel carregar um novo firmware através da porta USB.
EXPLICAÇÃO DO BOOTLOADER
O Bootloader deve ser a primeira coisa a ser executada no PIC. Por isso o vetor BOOTLOADER RESET VECTOR apontará para o início do código do bootloader.
Ao conectá-lo ao PC, durante 7 segundos ficará na espera do usuário clicar no botao CONECTAR no software. Caso estoure este tempo, ele iniciará o programa do usuário. Depois de conectado ele estará pronto pra receber o novo firmware.
Depois de gravado, ele iniciará o programa do usuário, apontando para o vetor APPLICATION RESET VECTOR. Nesse vetor foi gravado o endereço inicial do firmware.
O bootloader ocupa o final da memória. Então os programas a ser gravado no PIC, não devem ultrapassar essa área.
O código foi compilado para um cristal de 20Mhz. Mas é possível utilizar outros valores de cristais configurando o fusível PLL Prescaler Selection.
Veja que para poder utilizar o bootloader, antes tem que gravá-lo utilizando um gravador convencional.
Pode ser possível utilizá-lo para outros dispositivos PIC18. Fiz somente o teste com o PIC18F4550.
CÓDIGO DO BOOTLOADER
MikroC PRO PIC
SOFTWARE - Nova versão 2.3
DOWNLOAD
Firmware+Software+Código-Fonte (atualizado 03/05/2014):
Link1: BootProg2.3.rar
Link 2: BootProg2.3.rar
Link1: BootProg2.3.rar
Link 2: BootProg2.3.rar
Cara você é fera mesmo! Hein! Achei que fosse só mais um Hobbysta, mas você manda muito em programação.show! !
ResponderExcluirobrigado!! :)
ExcluirMuito Show! Obrigado por compartilhar o seu conhecimento!
ResponderExcluirNo arquivo para download faltou o Firmware e o projeto poderia colocar de novo.
ResponderExcluirObrigado
Já arrumei! Obrigado!
ExcluirObrigado e adoro o seu site!!!!!
ExcluirBlog show d+. Esses artigos tem me ajudado mt. Mt obrigado.
ResponderExcluirEsse bootloader aceita códigos de qualquer compilador? É necessário redirecionar vetores, ou incluir alguma coisa no código, para não ter conflito com esse bootloader?
ResponderExcluirPode utilizar qualquer compilador. nao ha necessidade de alterar nada no codigo.
ExcluirOpa, Vlw
ExcluirDá pra fazer esse bootloader funcionar usando apenas o botão de reset, ou seja, sem o botão boot? Poderia dizer como fazer?
ResponderExcluirNão tem como!!
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirEsse bootloader foi feito para o PIC18F2550 e 18F4550. Não é necessário modificar, até porque esse microcontroladores são idênticos.
ExcluirCara, o que é o Built_in.h? Devo alterar isto para 18f2550.h para poder gravar no pic18f2550?
ResponderExcluirNão precisa alterar nada. O bootloader serve tanto pro PIC18F4550 quanto para o PIC18F2550.
ExcluirO arquivo "Bult_in.h" é um arquivo interno no compilador MikroC que contém alguns macros, como por exemplo Lo() e Hi(), utilizados no código.
Qual o arquivo do bootloader que devo mandar gravar no PIC 18F4550?
ResponderExcluir(Desculpe pela pergunta "idiota", pois ainda não tenho familiaridade com isso. Estou aprendendo)
É o arquivo "BootProg.hex".
ExcluirDepois de adicionar o bootloader tem como remover ele e eu tenho que usar somente o mikroC como compilador ou posso usar outro???
ResponderExcluirO código do boot foi feito no MikroC, mas dá pra modificá-lo pra usar em outro compilador.
ExcluirPra remover o boot é só gravar um outro programa nele, utilizando um gravador convencional.
Muito obrigado pelo conteúdo,está me ajudando muito!!!!!!!!
ResponderExcluirEntão eu sou posso usar o compilador com qual eu escrevi programa de bootloader?
ResponderExcluirfiz a placa, instalei a firmware, conectei no pc, porém o pc mostrou a mensagem "dispositivo USB não reconhecido", mas mostrou no pc o nome do dispositivo "BOOTLOADER HID", o q eu fiz de errado, vc pode me ajudar?
ResponderExcluirMostrou tbm a mensagem "drive não instalado com êxito".
ExcluirVoce configurou corretamente os fusiveis na hora de gravar.
ExcluirVeja: Clique Aqui
Eu uso o CCS compiler pra compilar, mas usei direto o seu bootprog.hex que veio no arquivo rar, onde configuro estes fuses?
ExcluirVoce deve configurar os fusiveis na hora de GRAVAR o PIC
ExcluirAmigo, consegui fazer funcionar, você fez um excelente trabalho, está perfeito! Obrigado mesmo, vc não sabe o qto me ajudou!!!!!
ExcluirAmigo tem como você me mostrar a imagem dos fusíveis e que ela esta fora do ar
ExcluirQual o valor fe frequência que usa para criar o projeto? O valor do cristal 20MHz ou 48MHz ??? ;)obrigado
ResponderExcluir48Mhz
ExcluirBoa noite Tiago, meu cristal é de 16 MHz, onde eu devo mudar essa configuração?
ResponderExcluirObrigado
Na hora de gravar você deve alterar o fusível PLL Prescaler Selection para Divide by 4 (16 Mhz...)
ExcluirCara, fiz a a plaquinha, e realmente funcionou, mas somente o meu PC de mesa reconheceu, o meu notebook não reconheceu e ficou mostrando a frase "Dispositivo desconhecido", vc sabe se esta faltando algum driver ou coisa parecida?
ResponderExcluirVocê está utilizando o Windows 8??
ExcluirNão, o bootloader não funciona no meu notebook, que é o Windows 7 (64 bits), mas no meu PC de mesa funciona, que é o Windows 7 (32 bits).
ExcluirAmigo, vc sabe se dá pra corrigir este problema?
ExcluirAmigo, estou com um problema semelhante, no PC de onde faço o curso, que é WinXP funciona sem problemas. mais no pc de casa que é win7 64 bits e no meu note que também é win7 64 bits, vc ouve o barulho de reconhecimento da placa ao conectá-la, mais o software bootprog 2.1 não consegue se comunicar com a placa não se conectando pra poder fazer upload do hex. No software bootprog 2.1 não acusa nada, nem na faixa vermelha em baixo na janela não acusa nada.
Excluircomo nao tenho windows de 64bits fica dificil de corrigir o erro. Voce ja testou se o HidTerminal funciona?
ExcluirSe o erro persistir, o problema é com a dll que nao tem suporte para 64bits
ExcluirNo software bootprog 2.1 não acusa nada, nem na barra de status vermelha em baixo na janela. Mais o HIDterminal aparece na barra de status ao clicar em reset na placa, as mensagens Conectado depois de um tempo desconectado, presumindo-se que o software bootprog não consegue se comunicar com a placa em sistema operacional win7 64 bits nem utilizando o modo de compatibilidade pra winxp sp3. Abraços
ExcluirOla! vc tem algum email pra contato?. Se nao for te encomodar, queria te passar o bootprog, pois dei uma mexida nele e queria que vc testasse.
ExcluirOk, não é encomodo nenhum. meu e-mail é wilparadoxo@gmail.com agradeço sua disposição em ajudar. obrigado
ExcluirObrigado Tiago. O BootProg 2.2, funcionou no meu Win7 64 Bits, sem problemas. E a dica que você me passou de alterar no projeto, o clock de 20MHz Para 48MHz solucionou o problema de velocidade e gravação na minha placa. Abraços
ExcluirOla, estou com um problemam, quando eu simulo no proteus seu bootprog.hex ele funciona, o windows reconhce, quando recompilo os arquivos que estao na pasta do firmware, ele não funciona mais, pode me dizer por que isso ocorre? eu recompilo sem modificar nada, porem mesmo assim o windows sequer reconhece que o dipositivo esta conectado, quando retorno ao bootprog.hex que vem no .rar ele reconhece.
ResponderExcluirBom artigo amigo. Parabéns. Você pode disponibilizar o código fonte do HID Terminal?
ResponderExcluirPosso sim.
ExcluirJa coloquei a disposição!!!
Abraços,
Tiago.
Valeu cara, você é d+. Obrigado novamente.
ExcluirOlá, estou usando um PIC 18F2550 com um cristal de 8Mhz, uso o CCS para compilar os meus programas e o MPLAB para enviar o programa pelo Pickit3. Não consigo achar onde muda o cristal.
ResponderExcluirGrato pela ajuda
... no caso estou tentando enviar o bootprog.hex pelo MPLAB porém não consigo achar onde muda o oscilador.
ExcluirNo MPLAB vai em - Configure -> Configuration Bits
ExcluirObrigado.
ExcluirFica a dica pessoal!!!
Olá, vc consegue mudar o botão do boot para o pino 13 (RC2) do PIC 18F2550 ? Pois não consigo fazer mudanças no programa. Assim te passo meu e-mail, pode ser?
ResponderExcluirPode ser, mas vc nao esta conseguindo alterar o código por qual motivo?
ExcluirNão consigo pois eu uso o CCS e ele não tem a biblioteca built_in.h, mas estou pensando em baixar o microC pro PIC, para fazer as mudanças que preciso. Que acha ?
ExcluirOlá, fiz toda a placa certinho, enviei o .hex e mudei para 8 Mhz que é o meu oscilador, aperto o botão o computador le, instala o driver mas no programa para enviar pelo USB fica como dispositivo desconhecido. Pode ajudar ?
ResponderExcluirMeu windows é o 7 64 bits
ExcluirPode ser q o computador nao instalou corretamente o drive, ou algum outro programa esta atrapalhando-o, ou o numero VID e PID no código do MikroC está diferente do VID e PID do software.
ExcluirEstranho é que tentei num de 32 bits ai funcionou. Vc consegue enviar o código fonte do software de programação do pic pela USB ? Muito bom o projeto, parabéns por manter ele aberto ! Abraços
ExcluirOlá, poderia passar o código fonte do programa que envia o programa pela usb? pois precisava fazer umas alterações para o meu projeto.
ResponderExcluirDesculpa, mas eu não vou passar o código-fonte do programa pra ninguém!
ExcluirOk, o problema é que estou tendo dificuldades em rodar no windows 64 bits, poderia me dizer o que devo fazer ?
ExcluirOlá, qual a versão do mikroC que você usa nesse projeto?
ResponderExcluirMikroC PRO 6.0.1
ExcluirOi, você pode adicionar o código fonte do software "BOOTPROG". Muito obrigado pela contribuição, o grupo continua a melhorar e crescer Mikroelectronica obrigado.
ResponderExcluirPara gravar o bootloader necessita sim de um gravador.
ResponderExcluirFala Tiago, testei o hex que esta no seu zip, funcionou perfeitamente.
ResponderExcluirmas queria mudar o boot para o pino RC1, quando abro o seu projeto no mikroC e compilo não funciona mesmo sem alterar nada. sabe porque? instalei a mesma versão sua 6.01 pro.
descobri que o programa trava quando entra na função StartBootloader();
ExcluirFiz um teste comentando esta função no main, e piscando um led e funcionou de boa.
mas quando deixo esta função rodar ele trava!
Se alguém tiver a solução posta ai... Obrigado.
Olá! Lembro de um dia ter acontecido o mesmo comigo.
ExcluirFaz o download novamente do código, pois esse funcionou aqui!!!
Tem toda rasão! Fiz o download e modifiquei novamente o pino, e funcionou perfeitamente!
ExcluirObrigado, e parabéns pelo site.
Alguém, sabe se gravando com bootloader é possivel fazer programas de comunicação usb?, pois o bootloader já reserva uma parte da memoria para isso, não estou conseguindo.Desde ja agradeço, parabéns pelo site
ResponderExcluirÉ possível sim. O código do bootloader não interfere no código do usuário.
ExcluirCaro Tiago estou usando o kit da smart radio Proton pic 18f4550, ele já vem com o bootloader gravado e para gravar meus programas neles tenho que colocar no inicio a instrução #pragma orgall 0x1000 sem isso os programas não funcionam.Isto é normal com o uso do bootloader? Sera este um empecilho pois a usb destina o endereço 500 - 540.
ExcluirAgradeço muito seu site esta sendo de grande ajuda para meu TCC.
abç
Olá. É a mesma placa que eu utilizo pra fazer os testes aqui. o bootloader que vem junto com a placa, foi uns dos motivos para que eu criasse este outro bootloader. No bootloader que criei, reservei o ultimo espaço de memoria para o bootloader. Entao o codigo do usuario, que normalmente começa pelo endereço 0x0000, pode ser gravado no início sem precisar da diretiva "#pragma orgall".
ExcluirNeste outro bootloader da Proton, o bootloader inicia no endereço 0x0000 e tanto o vetor de interrupção quanto o codigo do usuário deve iniciar a partir do endereço 0x1000.
Os endereços reservados pela usb, 0x500 e 0x540, são da memoria RAM. O bootloader é gravado na memoria Flash.
Tiago agradeço muito sua ajuda,uma ultima pergunta não sei se você teve este mesmo problema mas, é o seguinte fiz o programa e simulei ele no proteus e funcionou perfeitamente,logo gravo no pic pelo pronton tudo ok, mas quando eu leio o arquivo do pic (atraves do proton) e pego este e simulo no protheus não funciona.Sabe qual pode ser o problema?Obs.passou a ter este problema depois que adicionei a comunicação USB.
ExcluirAgradeço muito seu site esta sendo de grande ajuda para meu TCC.
abç
Olá a Tiago e tymos, meu nome é Djeison e será que vcs poderiam me dar uma luz de como utilizar essa função #pragma orgall 0x1000 ?
ExcluirPois eu utilizo essa mesma plaquinha de vcs, a proton, porem como eu não tenho um gravador externo, não consigo utilizar esse bootloader do tópico, sendo assim prescisava utilizar a função #pragma orgall 0x1000, mas pesquisei em um monte de lugar mas não achei nada a respeito de como utilizar ela. Será que vcs poderiam me ajudar? Desde já muito obrigado.
Amigo, estou com um problema semelhante aos dos amigos que tem win7 64 bits instalado no pc. No PC de onde faço o curso, que é WinXP funciona sem problemas o bootprog. mais no pc de casa que é win7 64 bits e no meu note que também é win7 64 bits, vc ouve o barulho de reconhecimento da placa ao conectá-la, mais o software bootprog 2.1 não consegue se comunicar com a placa não se conectando pra poder fazer upload do hex. No software bootprog 2.1 não acusa nada, nem na barra de status vermelha em baixo na janela. Mais o HIDterminal aparece na barra de status ao clicar em reset na placa, as mensagens Conectado depois de um tempo desconectado, presumindo-se que o software bootprog não consegue se comunicar com a placa em sistema operacional win7 64 bits nem utilizando o modo de compatibilidade pra winxp sp3. Abraços
ResponderExcluirPrimeiramente, quero dar os parabéns pelo blog, tá excelente, mt bom mesmo. Quero tb tirar algumas dúvidas a respeito desse código:
ResponderExcluir*A simulação funciona no proteus?
*Pode ser feito no windows 7 x64?
Testei no meu notebook, mas a interface que vc fez não reconhece o dispositivo do proteus, conectado na usb. Será que estou errando alguma coisa?
Agradeço desde já qualquer ajuda. E mais uma vez, parabéns pelo excelente trabalho.
Depois fiz testes no windows 7 x64 e percebi que os drivers do proteus não funcionam , mesmo sendo os drivers próprios. Recorri a uma máquina virtual para poder simular dispositivos hid usb, e só assim deu certo.
Excluir*Testei outras interfaces encontradas na internet, e obtive os mesmos resultados.
Tiago, por algum acaso você já tentou ou conseguiu fazer comunicação HID com o labview? se sim poderia me passar. reinoso360@gmail.com
ResponderExcluirGrato.
Tiago, tudo beleza? Parabéns pela divulgação do artigo. Então estou adaptando seu código para o PIC18F87j50 porém, o firmware funcionou mas estou tendo dificuldades com o Software em C#, consegui compilar no Win7 64bits, mas ao conectar o Software trava... no caso para escrever na flash são 64 bytes para escrita e 1024 para apagar... poderia me ajudar? Meu email é carloseduardo1984@gmail.com
ResponderExcluirFiz o código pensando nisso, ser compatível com outros modelos de PIC, mas não cheguei a fazer os testes.
ExcluirNessa nova versão do software host, o nome do pic18f4550 aparece como vaáios caracteres ilegíveis. Como corrigir isso?
ResponderExcluircorrigi o erro. Baixe e faça o teste novamente.
ExcluirAbraços.
Vou baixar sim. Vlw pela ajuda.
ExcluirEu uso o CCS, será que você pode me ajudar a migrar esse projeto para ele? Excelente post!!!
ResponderExcluirOlá a Tiago e tymos, meu nome é Djeison e será que vcs poderiam me dar uma luz de como utilizar essa função #pragma orgall 0x1000 ?
ResponderExcluirPois eu utilizo essa mesma plaquinha de vcs, a proton, porem como eu não tenho um gravador externo, não consigo utilizar esse bootloader do tópico, sendo assim prescisava utilizar a função #pragma orgall 0x1000, mas pesquisei em um monte de lugar mas não achei nada a respeito de como utilizar ela. Será que vcs poderiam me ajudar? Desde já muito obrigado.
Até onde sei, sem gravador externo, esquece.
ExcluirOlá Djeison!
ExcluirVoce deve colocar no inicio do codigo. Exemplo:
#pragma orgall 0x1000
//declaracao de variaveis, etc
void main()
{
//seu código...
}
Outro modo é utilizar a "função" OrgAll(0x1000);. Mas essa voce deve colocar dentro no void main(). Assim:
//declaracao de variaveis, etc
void main()
{
OrgAll(0x1000);
//seu código...
}
Abraços.
Djeison, pq não monta um gravador? É até bem simples, só precisa de um pouco de conhecimento de eletrônica.
ExcluirOlá Tiago,
ResponderExcluirtambém tenho esta placa proton e uso o #pragma orgall 0x1000, mas fui fazer um teste com as bibliotecas da Mikroc, como a lcd.h e a placa não executa nada. No programa mando uma mensagem para o lcd e no loop mando o RA5 piscar, mas nada funciona. É como se tivesse alguma incompatibilidade do bootloader da smartradio com o compilador MikroC. Você pode me ajudar? Meu e-mail é annanuntius@hotmail.com.
No seu projeto vc setou a frequência de clock do projeto em 48MHz. Pois tive problemas de gravação numa placa por ter esquecido deste detalhe. Eu testei numa placa parecida com essa Proton, mais utilizando o PIC18F2550 e um lcd 16x2 e funciona legal. utilizando o Bootloader BootProg daqui.
ExcluirObrigada pela resposta. Eu fiz isso sim, usei as mesmas configurações do projeto exemplo feito no compilador ccs e que funciona. O problema é que no Mikroc se comento as linhas que usam a bliblioteca lcd padrão a placa funciona e o RA5 pisca, mas caso contrário a placa fica com um comportamento diferente. Por isso estava querendo saber a opinião do Tiago para saber se a placa dele funciona normalmente com bootloader da smartradio.
ExcluirFiz um teste aqui na minha Placa SanUsb com o PIC18F2550 com o Bootloader daqui. Realmente quando aciono um botão, para acionar o LED na saída RA5, ele pisca de vez de permanecer ligado e não desliga sem ter no iniciar a placa. não tinha percebido isso. Utilizo o MikrC pro.
ExcluirGravei o mesmo programa utilizando um gravador pickit2 e depois colocando o pic18f2550 novamente na placa SanUsb. Obtive o mesmo erro que vc mencionou a saída RA5 fica piscando ao pedir que ela somente acenda o LED. Então pode ser descartada a hipótese de ser um erro do bootloader. talvez a saída RA5 pisque por estar sendo utilizada por alguma outra função que teria que desabilitar. No momento não sei o que pode ser, pois no meu programa, desabilitei as portas analógicas e as interrupções. Vou fazer mais uns testes e se encontrar alguma solução posto aqui.
Excluirok. Estarei atenta.
ExcluirNão tá dando pra fazer o download
ResponderExcluirColoquei outro link :-bd
Excluirolá tiago, tudo bem?
ResponderExcluirvão aí algumas perguntas:
1-eu uso a picdemboard usb com o bootloader da microchip. e instalei o mesmo driver do gravador pickit2. uso o compilador basic swordfish, e o mikrobasic (pra família 16f).
preciso usar algum driver para este boootloader (botprog)? ele vem junto com o bootprog.rar? como proceder a instalação do driver no win7?
2-na picdemusb, bem como no pinguino pic, temos que segurar o botão boot e pulsar o reset. como fazer no caso do bootprog?
3-quando uso o picdemboard, devo (no caso do compilador ccs e do swordfish basic) usar a instrução org0x800. como ficaria no caso de usar o bootprog com o mikrobasic (ou C ou pascal)? e preciso desta instrução org quando usar o bootporg?
obrigado pela paciência e dedicação. parabéns pelo trabalho.
Olá tudo bem!!
Excluir1 - Esse bootloader não necessita de drivers, pois ele utiliza o protocolo USB HID, o mesmo dos mouse e teclados USB.
2 - Nessa segunda versão eu retirei o botao de boot, entao primeiro voce deve abrir o software e conectar o pic ao PC. Logo o software ira reconhecer e voce deve clicar no botao conectar, caso contrario, depois de 7 segundos e iniciara o firmware antes gravado. Clique no botao abrir e carregue o hexadecimal. Clique no botao upload para gravar.
3 - Este não precisa da instrucao org, pois o bootloader e gravado no final da memoria, entao toda a parte desde o inicio da memoria esta disponivel.
Abraços,
Tiago.
Olá pessoal!
ResponderExcluirTive muitos problemas para rodar o bootloader. Vou relatar como consegui pra ver se ajudo quem está com problemas...
Baixei o bootloader BootProg versão 2.3, descompactei a pasta e ativei o BootProg2.3.
Carreguei (importei) o programa BootProg.hex compilado em 17/02/2014 que está na pasta Firmware no MpLab e usei o ICD2br para gravar no PIC18F4550.
ATENÇÃO - Não consegui fazer funcionar com o BootProg2.hex de jeito nenhum.
Fiz um programinha de teste no MpLab pra piscar um led no pino RE2.
Não consegui fazer a USB ser reconhecida e aliás dava um problema de driver sem colocar o capacitor de 100nF no pino VUSB e VSS. Achei que era "acessório" e perdi um tempão nisso.
Aí vai outra dica - Tive que desabilitar TODAS as diretivas #pragma config.
Quanto ao driver da USB o Win7 encontrou o driver sozinho e instalou. Tive que acionar o reset do uC novamente para que no Win7, o BootProgUsb.exe, reconhecesse a porta USB.
Hoje uso assim:
1 - Faço um programa no MpLab (ainda uso a versão 8.33) e gero o hex.
2 - Clico no BootProgUsb.exe.
3 - Conecto a USB e alimento a placa do PIC. O botão conectar fica vermelho, o ícone do pendrive fica azul e aparece a msg "Dispositivo Conectado" por uns 7 segundos. Se eu resetar o uC o processo se repete.
4 - Clico no botão Conectar e no topo aparece o código do uC "PIC18F4550".
5 - Clico no botão Abrir, encontro o arquivo hex e clico no botão Upload.
O uC é gravado, reinicia e executa o meu programa.
O Bootloader é muito bom, funciona e parabéns para os desenvolvedores.
Espero ter ajudado. Um abraço a todos e sucesso!
Mario.
Oi Mario.. Muito Obrigado pelas dicas...
ExcluirAqui não estava funcionando até desabiltiar as diretivas #pragma config!
Pra quem for usar configurações diferentes da do bootloader, a dica é alterar no codigo fonte e compilar de novo..
Muito obrigado ao Thiago tbm pelo bootloader.
Cara, o link para download não está funcionando!
ResponderExcluirto usando um pic com bootloader, Tenho um display 16×2, modelo JHD 162A, quando ligo ele ao pic 18F4550, com a rotina normal, o display nao exibe nada em sua primeira linha, e sua segunda linha apresenta blocos preenchidos, gostaria de uma ajuda para que conseguisse imprimir algo no display, no proteus o programa funciona corretamente, mas quando coloco no protoboard acontece isto.
ResponderExcluirO bootloader etá funcionando perfeitamente no windows 8.1, sem qualquer alteração, com fonte externa e usb. Agradeço e parabenizo o Tiago Henrique pelo excelente código. Eu gostaria de tirar uma ultima dúvida: Em versões anteriores desse bootloader havia um led de controle no código. Seria possível implementar esse led na versão atual?
ResponderExcluirEu gostaria de saber se o Windows detecta automaticamente, como um dispositivo HID, pois no meu computador não apareceu nada. Será que o PIC esta queimado, eu tenho bastante conhecimento em eletrônica e fiz uma plaquinha e comparei com o esquema e esta perfeito.
ResponderExcluirQual o seu windows? No meu 7,8 e 8.1 foi detectado automaticamente
Excluirjá testei em todos, é como se eu não tivesse conectado nada, nem aparece um dispositivo desconhecido. Fiz um código pra pisca um led só pra ver se ele tava funcionando e não deu em nada, mas o pic esta gravando normal.
ExcluirCara estou com um problema aqui e não estou conseguindo resolve-lo, acontece que eu montei o circuito a cima, gravei o pic, e ele e reconhecido no pc normalmente, mais no momento que eu carrego um programa e clico upload ele desconecta do pc e não chega a gravar nada, por favor alguém poderia me ajudar com esse problema ?
ResponderExcluirOlá amigo, gostei muito do seu post, mas estou com um problema com o oscilador... Minha placa tem um cristal de 10MHz e o código foi compilado para 20, o mikroc demo não compila e o crackeado dá erro. Você sabe como mudar esse valor? Se eu mudo no meu programa não faz diferença nenhuma...
ResponderExcluirOlá, obrigado.
ExcluirNão é possivel utilizar um clock de 10MHz. Utilize o clock de 20MHz ou um dos seguintes valores: 4, 8, 12, 16. Caso não consiga compilar, é só ir até a penúltima linha do arquivo "BootProg.hex" e alterar o valor "24" por outro valor. Abrindo as configurações do projeto e alterando o "PLL Prescaller" voce pode ver pra qual valor você deve ajustar( veja o valor do CONFIG1L ).
Qualquer dúvida, estou a disposição.
Abraços.
quando vou compilar no mikroC, ele dá esse erro "0 360 Unresolved extern 'USB_Init_Desc' __Lib_USB_genHID.c".
ResponderExcluirO que é e como arrumar...
Boa Noite Tiago! Estou utilizando Windows 8.1 64bits, mas o bootprog 2.3 não reconhece o PIC (apesar do windows reconhecer). Existe alguma solução?
ResponderExcluirObrigado!
Olá! Também utilizo o Windows 8.1 x64 e não tive problemas. Tente verificar as ligações, cabo USb, etc, e veja se REALMENTE o Windows reconheceu, porque quando reconhece pela primeira vez, aparecerá a janela de instalação do dispositivo. Tente executar BootProg em modo de compatibilidade, às vezes resolve.
ExcluirAbraços.
Olá Tiago! Deixa eu tentar explicar melhor o que ocorre. Ao conectar o USB no PC, ele reconhece e aparece um dispositivo de entrada no Gerenciador de Dispositivos, fica durante 7 segundos, e desconecta novamente. Ao pressionar reset do PIC, acontece a mesma coisa. O que achei estranho apenas, é que o Dispositivo de entrada USB que aparece fica com um sinal de exclamação na frente, como se o driver não pudesse ser instalado. Na primeira vez que liguei, apareceu a janela de instalação como você disse. Já tentei executar o Bootprog como administrador e em modo compatibilidade, mas não funcionou.
ExcluirBoa tarde! Muito obrigado pelo blog, está me ajudando muito!
ResponderExcluirUma dúvida, o Bootloader funciona somente com USB ou outras formas de comunicação (ex.: Serial) também funcionam?
Se não, é possível eu colocar um outro microcontrolador para fazer fazer isso (como um gravador)?
Mais uma vez muito obrigado!
Tiago, eu te mandei um e-mail no endereço microcontrolandos2012@gmail.com. Estou precisando de fazer um bootloader para um equipamento meu. Tenho interesse em te pagar pelo seu serviço. São 2 pics, inclusive 1 já é a 18F4550. Por favor me dá um retorno. Meu e-mail é contato@leomodulos.com.br Confere se chegou. abraço.
ResponderExcluirAmigo, parabéns, muito bom mesmo, poderia me passar um tutorial com os comandos para a interface com o BootProg2.exe? gilvan.leal@yahoo.com.br
ResponderExcluirAmigo estou utilizando o WinPic para gravar, tenho dúvidas quanto aos fusíveis, pois o pc Win7 32 no máximo reconhece como Unknow Device e não sai disso...
ResponderExcluirAmigo adquiri a placa ustart for pic mas meus códigos são em assembly, o que tenho que alterar neles para poderem funcionar? Tem como vc me enviar um exemplo em assembly?
ResponderExcluirFuncionou bem na nossa placa. Muito obrigado!!!
ResponderExcluirAmigo estou tentando fazer uma placa destas para programação em pic , mas já tentei de tudo que encontrei na internet e meu pc não reconhece o pic minhas unicas diferenças são que estou usando um cristal de 16Mhz e meu gravador é um minipro tl 866cs Desde já agradeço a atenção!
ResponderExcluirOlá Amigo! Parabens pelo programa! Eu só tenho um problema, quando seto o bit 14 do Config6, pra evitar que o PIC perca o BootLoader, ele não funciona, creio eu que por ele tentar gravar em uma região que eu acabei de protejer.. Você tem os endereços dos vetores? Obrigado!
ResponderExcluirAmigo teria como adicionar o hex a ser gravado diretamente no c# sem carregar um arquivo.se sim vc poderia mostrar como eu faço isso desde ja agradeço.
ResponderExcluirTiago, a galera da faculdade não consegue gravar o bootloader usando o gravador K150(soft microburn)...único problema que achamos ter eh os fuses, ao abrir eles ficam assim:
ResponderExcluirhttp://i.imgur.com/CKNT5qh.png
Voce utilizou o clock de 48Mhz do código do bootloader né? Como faço para alterar o valor para 20Mhz? Uso o microC msm
ResponderExcluirOlá tiago, tudo bem?
ResponderExcluirJá pensou em criar uma interface botprog em linux, com python ou java?
Abraços
Olá, tudo bem e você?
ExcluirEstou pensando sim, até porquê o Windows ( 8 e depois o 10 ) parou de funcionar...fiquei então, só com o Ubuntu.
Abraços.
Puxa vida, Tiago, como é bom falar contigo denovo! Pensei que você nem me responderia...
ExcluirSabe, sempre que falamos de linux não temos muitas respostas nos fóruns kkk
Enfim, eu deixei de usar windows tem um tempo, justamente devido esta instabilidade, e achei no Ubuntu uma solução bem mais confiável...
Quanto á interface botprog, sei que funciona bem no windows, e tive que ficar horas procurando por ferramentas pra rodar meus dispositivos no linux (como o mikrobasic, picdemusb, pickit2 clone, etc).
Fato é que eu vi algumas receitas diferentes, algumas talvez mais simples, pra que se use uma solução em linux...
Vai demorar um pouco, mas preparo um email e te mando com alguns links que vi sobre a 'briga' pra não se desenvolver em linux.
O que achei de mais simples (creio que você vai gostar) pra se fazer em linux, usa o phyton. Todas as outras soluções usam eclipse, java, etc, ou linha de comando. O interessante de phyton é que não precisa instalar nenhum pacote adicional á um computador recem formatado.
Veja esta simpática interface pra pickit2(dwarf- é a que eu uso hoje):
http://www.nathandumont.com/blog/dwarf-a-pickit-2-gui-for-linux
https://github.com/hairymnstr/dwarf
Claro, isso na verdade roda o pk2cmd, em linha de comando, mas a interface gráfica funciona muito bem e é simples, pena que eu não sei programar pra criar esta interface (ou algo assim) com o mikroHIDbootloader ou sua interface botprog.
Infelizmente, Tiago, todas as interfaces de bootloader HID disponíveis pra linux, são baseadas na PICDEMSUB, ou seja, pra trabalhar com mikroe (basic, C, pascal) tem que ficar mudando o vetor de reset ou adicionando 020000040000FA ao código hexa. POR ISSO SERIA TÃO IMPORTANTE um bootloader 100% compatível com os compiladores mikroe.
pra linux, só tem o mikroe-uhb, mas estou no aguardo de uma resposta do autor...
http://www.libstock.com/projects/view/790/mikroe-uhb-open-source-cross-platform-usb-hid-bootloader-programmer
https://github.com/thotypous/mikroe-uhb
https://pypi.python.org/pypi/mikroe-uhb/0.2
https://www.mikroe.com/forum/viewtopic.php?f=12&t=56367
Pra finalizar, veja que não há expectativa da mikroeletronica desenvolver em linux:
https://www.mikroe.com/forum/viewtopic.php?f=93&t=54346
Obrigado pela atenção. Se tiver forças, sua interface vai ajudar muito quem usa compiladores mikroe e S.O. linux, como eu!
Abraços
Gostaria de dizer que o boot funcionou muito bem!
ResponderExcluirVou descrever os testes que fiz no linux UBUNTU, win98SE e windows7.
linux UBUNTU:
O computador tinha uma conexão com a internet.
Gravamos no nosso cpu (com pic18f4550 e xtal20Mhz) o firmware disponível em botprog> firmware> botprog.hex. No linux usamos a interface dwarf com o gravador pickit2 clone.
Continuando, fomos ao terminal, digitamos lsusb, não acho nada. Pressionando o botão preto (reset mclre), antes de 7s redigitando lsusb e dando enter, apareceu na lista este device com vid 0x0001 e pid 0x0001
Bus 003 Device 009: ID 0001:0001 Fry's Electronics
Ou seja: o hardware está funcionando.
Como não temos a biblioteca hid no linux, fomos a um outro pc.
win98SE:
No windows98SE (offline), copiamos no desktop a pasta completa botprog2.3.
Conectando o hardware, o sistema pediu um driver. Como o windows98 não vem com a biblioteca hid, instalei o aplicativo USBmouse. Mesmo assim a instalação de dispositivos hid não é automática, então dei o caminho C:> windows> system32> drivers> hidcab5. Instalou tudo com sucesso e pediu pra reiniciar a máquina.
Deu erro na reinicialização da máquina. Forcei, e reiniciei. Agora, mesmo com o driver instalado, não aparece o kit nem no gerenciador de dispositivo, nem na caixa de diálogo da barra de notificações (inferior) do windows. E ao abrir a interface botprog ou hidterminal, apareceu um erro:
'To run this application, you first must install one of the following of the .Net Framework:
v4.0.30319.'
Fui á um computador mais novo...
windows7:
O computador tinha uma conexão com a internet, mas era da minha irmã, não tinha nada relativo á microcontrolador instalado (mikroc, mplab, proteus, nada!). Testamos SOMENTE a interface BOTPROG. O objetivo foi verificar as dependências.
Denovo, copiamos no desktop a pasta completa botprog2.3.
Conectando o hardware, o sistema instalou automáticamente o driver pelo windows update. Demorou uns 5min.
Ao abrir a aplicação, pediu .Net Framework: v4.0.30319.
Fui ao baixaki, baixei o pacote e deixei instalar. Demorou uns 15min.
Depois de tudo instalado, abri a interface botprog.
Ao clicar no botão de reset (da placa), o sistema dá a opção de conectar (botão conectar do pc). Se utilizar esta opção, o sistema indica 'conectado' e dá a opção de abrir um arquivo .hex (usei um que já tinha compilado no mikro basic e testado no proteus-tudo em linux- estes arquivos eu transferi com o pendrive).
Ao clicar em carregar, ele carrega e desconecta automáticamente.
No meu caso, que pisca o led em RC0, assim que acabou de carregar, o led já começou a piscar.
Obrigado, Tiago, por fornecer esta ferramenta gratuitamente!
Amigo como configura os fuses para o pic18f4550?
ResponderExcluirerro:
ResponderExcluirline: 1290
message no: 324
message text: undeclared identifier 'Flash_Write_32 ' in expression
como resolver ? windows 8.1 - mikroc pro for pic 6.1
olá, bom dia, eu li o tutorial e mesmo assim estou tendo problemas, compramos uma gravador usb k150, e precisamos sim usar o PIC 18F4550, mas mesmo gravando como foi descrito, não aparece nada, será que pode me dar uma passo a passo mais detalhado, dizendo até mesmo a ordem de programas que devo abrir? Por que sei que parece ignorância minha, mas em nenhum momento eu usei o HIDterminal.
ResponderExcluirPor favor, aguardo desesperadamente sua resposta. se quiser enviar também no email : indianara.santosh@gmail.com
Bom dia,
ResponderExcluirEstou utilizando um 18F2550 e windows 10, acabei de testar em um windows 7, está tudo funcionando corretamente mas quando eu tento com o meu computador o pic simplesmente não grava.
Quando abro o BootProg, o microcontrolador é reconhecido. As informações de FLASH, EEPROM, ... parecem corretas MAAAS quando eu mando gravar, o programa desconecta o dispositivo e fica por isso mesmo, não consigo gravar nada com esse pc.
Pode me ajudar?
se preferir mande a resposta para o meu email
jv.predebon@gmail.com
amigo sou iniciante em programação e acabei transformando o pino de acionamento do bootloader da placa que uso em saida o C1, agora ela não liga mais o USB , eu clicava reset e C1 depois soltava reset assim ela acionava o USB , agora não aciona mais como resolvo isso já estou quebrando cabeça a 1 semana ... a placa é uma da ACEPIC só com 1 potenciometro , 2 botoes C1 e C2 e um sensor de temperatura .
ResponderExcluirAmigo, agradeço o trabalho, mas queria deixar uma pergunta, compilo o c mas nao funciona, já o seu .hex funciona maravilhosamente. Quais as config. dos fuses e clock do microC?
ResponderExcluirObrigado!!!
Olá, tudo bem?
Excluirvc pode abrir o código .hex do bootloader com um programa de gravação (por exemplo o winpic800) e verificar os bits dos quais vc tem dúvida.
pode fazer o download do projeto (bootloader) e abri-lo no mikroC, dai confere os fuses.
Abraços!
alguem poderia me ajudar? comprei uma placa da proton'n ... posso usar o programa fornecido pelo fabricante para gravar o bootloader direto nesta placa atraves do usb?
ResponderExcluirvc já deve ter sanado sua dúvida faz tempo, mas vamos lá:
Excluirem poucas palavras, o bootloader é um programa que, ao ligar seu sistema, pergunta 'se tem alguém querendo escrever na memória do chip'. caso não tenha, ele salta ao programa principal, e roda normalmente.
suponhamos que seu programa pisque um led. ao ligar, roda o bootloader, e caso ninguém tente modificar seu código, ele roda o tempo do bootloader, e depois vai ao programa principal piscar o led. entendeu?
e qual o problema (neste caso) da placa proton? O bootloader é o da microchip. ele está no INICIO da memória, e o bootloader da mikroe (tiago) está no FINAL da memória.
Por proteção, provávelmente o programa nem será gravado, pois iria SOBREESCREVER o bootloader, entende?
Eu sugiro que vc use um bootloader compatível com o seu compilador.
Bootloader pinguino para pinguino ide
boot ccs para compilador ccs
boot microchip para mplab
boot jal para o jaledit
boot mikroe (ou o do tiago) para compiladores mikroe (mikroC, basic, pascal)
O que vc pode fazer pra rodar os exemplos do blog, é fazer um backup do seu bootloader proton, gravar (com um gravador de pic) o bootloader da mikroe ou do tiago, e ai sim rodar os exemplos do blog SEM FAZER AQUELAS ALTERAÇÕES CHATAS NO SEU CÓDIGO
Boa sorte!
obrigado mesmo pela sua ajuda...
Excluiroi, eu estou usando a proto'n mas o pc e windows 10 e não esta identificando mesmo quando eu coloco o usb, a placa e alimentada, mas o software de graação não reconhece, e isso só acontece quando a placa esta conectada ao restante do circuito, pode me ajudar???
ResponderExcluirBom dia,
ResponderExcluirO display LCD 16x2 não está mostrando os valores corretamente, com este bootloader.
Está havendo uma demora na inicialização do programa,de forma que o envio dos dados para o display não estão sendo corretos, ou mesmo sua inicialização está sendo prejudicada.
Gostaria da ajuda sobre o não funcionamento do display LCD 16x2 com este bootloader.
O problema esta na config doo seu crystal, coloca 48Mhz lá no mikroc que vai funcionar
ExcluirAmigo, estou com vontade de comprara o PIC 18F2550 para fazer um gravador pickit2. Como devo proceder? Estou iniciando em programação de pic e sei so o basico.
ResponderExcluirCom o pic 18f4550 quero gravar o bootloader e gravar programas e fazer circuitos. Se eu gravar o bootloader tem como apagar? O pic funciona sem o bootloader?
eng.marcos26@gmail.com
Aceito conversas de ajuda nessa area que é tao complicada hehee
1- vc precisa de um gravador qualquer pra gravar o programa no seu gravador (ex: ao construir o pickit2, precisa de um gravador para gravá-lo. dai ele se comporta como um gravador)
Excluir2-sim, pode apagar o bootloader depois, com o gravador que vc construiu.
3-sim, o pic funfa sem bootloader, mas tem que usar o gravador sempre que vc quiser mudar o programa.
Boa sorte!
acho que o admin deste excelente blog ficou sem tempo... ou por alguma razão ficou desmotivado.. o trabalho dele com este blog merece muito mais que um obrigado.
ResponderExcluirOlá davy.
ExcluirNao conheço o tiago pessoalmente, mas me ajudou muito aqui pelo blog.
Creio que ele esteja fazendo faculdade.
Eu tbm acho, merece muito mais que um obrigado!
Abçs
Amigo, eu não tenho nenhum gravador para pic usb. O que eu uso aqui é a propria porta serial db9 do pc com o cabo db9 com alguns resistores, o software winpic e consigo carregar os .hex gerados do mplab com ccs.
ResponderExcluirPorem eu quero progrmar via usb do note na faculdade, ainda ovu comprar esse pic 18f4550 virgem para eu mesmo gravar o bootloader como desafio.
Minha duvida é a seguinte: para gravar o bootloader do amigo é so montar o circuito acima e usar os seus software? OU tem q gravar via serial(gravador jdm)como ja faço? abraços.
Tenho essa mesma duvida que o Markus, é só montar o circuito acima conectar no usb e usar o programa???
ExcluirMarkus, Bruce, olá.
ExcluirVoce pode montar o circuito do 18f4550 e usá-lo quando quiser. Talvez melhor que isso, testar seu funcionamento no proteus ANTES. Mas sem o bootloader, tem que usar um sistema de gravação toda vez.
Pra responder a dúvida, sim, vc precisa de um gravador (jdm, tait, idc, pickit2, etc) pra gravar o bootloader a primeira vez, depois pode carregar os arquivos .hex via bootloader.
Sabe, é que o chip vem 'apagado' de fábrica e não tem o bootloader. Sò isso.
tem placas que compramos por ai que já trazem bootloader, como a proton da microgenius ou a pinguino4550.
Mas pra usar os exemplos do blog, o bootloader que o tiago escreveu é melhor, pois dá certinho pra uso com compiladores mikroe (mikroCPRO, mikrobasic, mikropascal).
Boa sorte!
Boa tarde, Tiago.
ResponderExcluirTenho procurado muito opções de bootloader pela internet, usando compiladores mikroe. Isso facilita bastante para não ter que mudar o vetor de reset e de interrupção no código fonte, e não ter que inserir linhas mágicas no código hex.
Descobri que na verdade, por usar linux, eu deveria utilizar um bootloader cdc, pois no linux esta classe usb não necessita de driver (ao contrário do hid, que em linux, nem tem suporte). E teria que ser um bootloader cdc, escrito com ferramentas mikroe (C, basic, pascal).
è muito difícil desenvolver um bootloader cdc? O seu botprog, tiago, pode ser adaptado á cdc? se for, isso ficaria incrível, pois em cdc é fácil demais comunicar em linux.
hoje, pra usar mikroe (eu uso o mikro basic), tenho que usar o bootloader microchip, e ajeitar meu código no mikroe pra ficar compatível, e dai subir isso com o picdembootloader via piklab.
Obrigado
Então, já estou fazendo o programinha, hehehe.
ExcluirO meu boot utiliza apenas o USB HID, vou ter que mudar o código do bootloader para usar o USB CDC.
Ja escrevi uma API Java para ler/escrever nas portas seriais, funcionou bem com o Arduíno. Quanto terminar, posto lá no outro blog que criei.
Abraços.
boa noite tiago!
Excluirme passa o endereço do outro blog, pfv?
quando concluir seu api java, me fala ok?
se preferir me responde no email, ok?
rc.ozzy@yahoo.com.br
abraços, boa sorte!
Rogério
Boa Noite:
ResponderExcluirPrograma apenas em assembly. Hipoteticamente programo PIC 18F4550 com programador ELNEC, com os *.hex gerados no MPLAB. Para usar esse bootloader do Tiago, eu teria que alterar meus códigos?
Boa Noite: As pessoas afirmam que dá para usar nesse bootloader, um arquivo *.hex gerado a partir do assembly do MPLAB, o mesmo arquivo *.hex usado para gravar PICs por um PIKPROG+ da ELNEC. Eu não consigo entender como é que um arquivo *.hex, com todas as suas particularidades pode ser usado para gravar um PIC através desse bootloader, sem NENHUMA alteração no código, já que no meu código todas as linhas de programa tem endereço certo, especificado antes do arquivo *.hex ser gerado.
ResponderExcluirAlguém pode esclarecer essa "mágica" ???
Será possível que essa interface REALOCA todas as linhas do seu código para ajustá-las na memória de programa do PIC 18F4550?
Excluiré bem simples. tá explicado no inicio do post 'explicação do bootloader'.
Excluirveja que no inicio do programa (quando vc liga o sistema), ele pergunta se alguém quer gravar um arquivo hex. se sim, segue em goto bootloader, se não, aguarda e vai para goto main.
acontece que não precisa mudar endereço (na verdade o vetor de reset) pois o bootloader está no final do código, e não no inicio.
só isso!
noutro exemplo, aqui
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm
veja o desenho em General info about Bootloaders.
boa sorte!
O mano eu to usando um pic18f4550 e gravei seu botloader nele com o pickit3 so que toda vez que eu plugo o usb no pc ele nao reconhece o pic, sera q e pq eu uso windows8?
ResponderExcluirnão deveria ser... mas será legal se vc testar noutro pc com windows7 por exemplo, pra tirar a dúvida.
ExcluirEste bootloader eu testei no win7 e funcionou bem.
tem um bootloader da mikroe que tbm funciona bem, talvez de certo pra vc:
https://download.mikroe.com/documents/starter-boards/start-usb/pic/mikrobootloader-start-usb-manual-v100.pdf
https://forum.mikroe.com/viewtopic.php?f=11&t=56193
boa sorte!
Tem como eu gravar o PIC via RS232 usando MAX232 apenas com os fios TX e RX do microcontrolador? Ganhei uma placa didatica a 2 anos e agora fui tentar programar o PIC, e ao fazer teste de hardware com o winpic800 gera mensagem de falha no hardware. Tudo indica que esta placa pode ser programada com o Pic nela, pois tem uma chave reset que ser habilitada e um botao que quando acionado ascende um led que indica que o microcontrolador esta em modo programaçao, pois nao executa um programa que já esta nele. Aop voltar a chave e o acionar o botao o programinha pode ser executado. Nao sei mais o que fazer pois já tem mais de um mes que tento resolver este problema.
ResponderExcluirboa noite, neste caso é melhor usar o tinybootloader, pois ele é serial (usa rx e tx), este aqui é hid (usa o usb do windows). o tinybootloader funciona bem com os pics 16f877a e 16f876a.
Excluirhttp://www.etc.ugal.ro/cchiculita/software/picbootloader.htm
boa sorte!
I thought that i knew a lot about USB but just after reading this post i realized that there is much more that i need to know. I am glad for this opportunity, getting to see a post that left me more informed than i was. For all students studying issues to do with USB and how it works, Masters Literature Review Help could be of great help with your research. Get the best assistance.
ResponderExcluirboa tarde, tudo bem?
ResponderExcluirpoderia me ajudar? consegui gravar o hex e conectar no BootProg2.3 porem não libera para fazer upload.
não sei o que fazer.
Obrigado,
Sds, Thiago Ribas
Como fica a configuração dos fuses no Mplab C18?
ResponderExcluirHello. What are the vid pin numbers? I could not work with pic18f2550.
ResponderExcluirAmigo quando eu coloco da um erro que o dispositivo não foi reconhecido.
ResponderExcluirAmigo eu fiz o projetinho com usb ele não reconhece, ele fala que o dispositivo teve mal funcionamento, sera que e fusibits? você poderia passar a config dos mesmos?
ResponderExcluir?
ResponderExcluirAmigo eu desenvolvi uma plaquinha com seu bootloader, para facilitar a vida do pessoal na prototipagem, caso você queira eu passo todos arquivos do proteus.
ResponderExcluirhttps://www.youtube.com/watch?v=8KT9q-lOJPc
Boa tarde, esse bootloader é compátivel com o PIC16F877A, é preciso fazer alguma alteração?
ResponderExcluirNao e compatível, já que o mesmo nao trabalha com esse protocolo, esse bootloader só vai funcionar com PIC18F4550, PIC18F2550 ou outro microcontrolador PIC que seja compatível com USB.
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirQuando escrevo código de aplicação utilizando o MikroC for PIC, consigo fazer upload do arquivo .hex normalmente. Contudo, quando escrevo código de aplicação utilizando o MPLABX com o compilador XC8, o upload do arquivo .hex vai até 100%, dá erro, trava e fecha o programa. Após isso, o software não se conecta mais ao bootloader, mesmo eu reiniciando o dispositivo, para voltar ao normal tenho que gravar o bootloader novamente. O código da aplicação que escrevi no MPLABX, e que estou tentado fazer o upload utilizando seu bootloader, tem 0XF2CC bytes de tamanho. Você teria alguma sugestão de como contornar esse problema ?
ResponderExcluir