Página 1 de 1
Dois Firmwares

Enviado:
17 Ago 2014 11:12
por vtrx
Alguém sabe se é possível,usando Assembler ou C18,gravar 2 Firmwares independentes no mesmo PIC?
Seria o 18F2550 e atraves de um Jumper,selecionar qual Firmware vai dar Boot.
Re: Dois Firmwares

Enviado:
17 Ago 2014 12:40
por barboza
vtrx escreveu:Alguém sabe se é possível,usando Assembler ou C18,gravar 2 Firmwares independentes no mesmo PIC?
Seria o 18F2550 e atraves de um Jumper,selecionar qual Firmware vai dar Boot.
- Código: Selecionar todos
void main(void)
{
if (jumper)
{
main1();
}
else
{
main2();
}
}
void main1(void)
{
// blablabla
}
void main2(void)
{
// bloblobloblo
}
Re: Dois Firmwares

Enviado:
18 Ago 2014 09:50
por tcpipchip
dual bootloader ?
Re: Dois Firmwares

Enviado:
18 Ago 2014 10:36
por vtrx
dual bootloader ?
Alguma coisa assim,tipo por uma Dip seleciona qual Firmware o PIc vai carregar na inicialização.
Imagine dois Firmwares diferente mas usando a mesma placa,mas sem o usuario ter que regravar nada pois é um usuario comum que só tem que plugar e utilizar o circuito.
void main(void)
{
if (jumper)
{
main1();
}
else
{
main2();
}
}
void main1(void
O PIC usa a interface USB,esse método não fara uma confusão na enumeração do dispositivo?
Re: Dois Firmwares

Enviado:
18 Ago 2014 13:38
por andre_luis
Esse método sugerido acima, pode ser problemático se o microcontrolador acusar falta de recursos ( RAM, Stack ), pois se forem programas muito diferentes - com variaveis distintas - isso pode ser um gargalo. Para contornar essa limitação há até uma maneira de minimizar isso ( realizando a nomeclatura de algumas das variaveis por diretiva Define ), mas á preciso saber mais detalhes do seu caso pra dar um palpite mais preciso.
Re: Dois Firmwares

Enviado:
18 Ago 2014 16:01
por vtrx
É simples.
Tenho um dispositivo que precisa,via uma chave ou software via HID,ser selecionado ou como Keyboard ou Joystick e que tenha uma interface custom HID,de é onde vou setar variáveis na Eeprom interna.
Trocando em miudos,a interface é selecionável via um programa no PC que se comunica com o dispositivo via USB HID,mas ao mesmo tempo é um dispositivo de teclado ou Joystick e isso é selecionado com o programa no PC,mas ainda não tenho conhecimento de como montar o descritor para mais de um dispositivo,apenas conheço como enumerar um Keyborad e mouse na mesma interface.
Então tenho 3 alternativas.
1-Usar a interface serial do PIC para setar a eeprom interna mas isso vai encarecer o resultado além de ficar dependente de cabo USB/Serial.
2-Usar uma chave DIP para selecionar qual firmware Bootar mas isso envolve em algo quer não conheço.
3-Gerar 2 ou 3 interfaces HID,mas isso eu ainda não tenho conhecimento.
Re: Dois Firmwares

Enviado:
18 Ago 2014 22:00
por vtrx
Fiz uma pesquisa rapida e verifiquei que preciso implementar um Feature Report no Firmware.
Alguem?
Re: Dois Firmwares

Enviado:
22 Ago 2014 22:49
por vtrx
A 'solução' de 2 Firmwares eu ja descartei pois eu precisava de duas interfaces HID no mesmo PIC e ja consegui implementar,por ironia eu desenvolvi no CCS

Re: Dois Firmwares

Enviado:
23 Ago 2014 15:18
por Djalma Toledo Rodrigues
Não é dois firmW
Firmw. é Fimw.
Pense em um Programa estruturado
Inicia testa é mause ?
Case 1
Else
case 2
mas, é tão simples que qualquer 'Jump da vida' da conta do recado
Dj
Re: Dois Firmwares

Enviado:
23 Ago 2014 19:50
por Rodrigo_P_A
Djalma Não, não é. acredito que você entendeu errado ele precisa emular um teclado ou joystick e poder alterar a configuração sem regravar o PIC.
Essa solução que ele implementou foi bem legal. Conseguiu gerar um descriptor com uma interface hid para configurar sem tem que regravar ou trocar o chip e continuar emulando as interfaces que ele precisa.
Talvez por causa da pergunta deve ter gerado confusão.
Re: Dois Firmwares

Enviado:
23 Ago 2014 19:52
por vtrx
Duas interfaces USB HID não são enumerados pelo Windows com 'jumpers'.
O Rodrigo entendeu bem.
Dois firmwares era apelação minha.
Com essa alternativa minha interface fica diferenciada das outras opções onde você encomenda a teclas pré gravadas,assim o usuario apenas abre um programa proprio e escolhe sequencia,teclas etc e fica gravado na Eeprom do PIC em tempo real.
Re: Dois Firmwares

Enviado:
24 Ago 2014 16:01
por Maffeis
Voltando um pouco
a questão de memoria não poderia ser resolvido com os malloc da vida.
Soh iria alocar a memoria se o código fosse executado.
correto ou muito errado?
Re: Dois Firmwares

Enviado:
25 Ago 2014 11:36
por Djalma Toledo Rodrigues
OK vtrx
Ciente, Rodrigo_P_A
Abraços
Dj
Re: Dois Firmwares

Enviado:
25 Ago 2014 12:11
por Rodrigo_P_A
Maffeis escreveu:Voltando um pouco
a questão de memoria não poderia ser resolvido com os malloc da vida.
Soh iria alocar a memoria se o código fosse executado.
correto ou muito errado?
Seria se:
o PIC rodasse programas na RAM, o que pelo eu sei não roda.
Se você conseguisse compilar seu código independente da posição de endereço, ou seja tudo com endereço relativo.
Se você criasse um método de pegar o endereço de uso de RAM à partir de um valor pré-determinado.
Fora outros detalhes.... Eu já fiz essa brincadeira com os ARMs, e é bem legal.
Ou seja, acho meio impossível fazer isso com esses PICzinhos.