Página 1 de 1

Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 10:27
por Eduardo Augusto
Bom dia galera do fórum!!

Surgiu hoje um problema chatinho de resolver, um projeto muito antigo (10 anos pra cima) baseado em PIC16F877A em assembly está para atingir o numero máximo de senhas técnicas que cada microcontrolador pode receber.
A senha é gravada no uC no momento de compilação, ou seja, o garoto que grava os hexas vai na linha de código e coloca uma nova senha a mão compila e manda essa senha junto com o produto calibrado.

O PIC16F877A possui 8K de flash de código. Compilei um código que vai no produto e usando o gauge de memória do mplab, cheguei a conclusão que f****. A usagem de memória ta em seus 90% pra cima... (levando em consideração que não é recomendado usar todos os espaços de memória, não sei se isso é verídico) me restou duas soluções.

1 - procurar algum microcontrolador da microchip baseado no mesmo núcleo do 16F que bata pino-a-pino e possua maior range de memória,e implementar a rotina para expandir o número de senhas.

2- enxugar as gorduras do firmware e implementar a rotina para expandir o número de senhas.

F*** que a ultima vez que programei assembly foram a mais ou menos 2 anos 3 anos e foi uma aplicação bem besta....
Se alguém souber de alguma solução que se encaixe na opção 1, agradeço.

PS: não é cogitado mudança radical no projeto, como passar ele pra C em outro PIC...

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 10:45
por vtrx
Eu pessoalmente,alteraria o algorítmico que manuseia a senha.

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 10:50
por xultz
Uma vez fiz um produto no PIC16F627 em assembly, que usou 100% da memória. Não há problema nisso.

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 10:54
por Eduardo Augusto
Estou me convencendo disso, não há uma migração segura que eu esteja vendo... Vou alterar as rotinas na unha msm.
Eu queria conseguir aumentar a memória de programa pra que esse problema quando ressurgir, pq querendo ou não um dia as senhas vão estourar, nos tivéssemos mais memória pra isso sem alterar drasticamente hardware e software. Mas to vendo que não vai rolar... vou me virar em assembly.

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 10:55
por Eduardo Augusto
Xultz Vlw cara, isso me deu coragem pra gastar os 10% de memória disponível!!

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 18 Jul 2014 11:37
por xultz
Eu sugiro você verificar o preço deste PIC, esses modelos velharia costumam custar bem mais caro que modelos mais novos, que por vezes rodam mais rápido e têm mais memória. Conforme o volume de vendas e redução de preço por um modelo mais moderno, talvez compense reescrever o código em C, além do fato que uma futura migração fique muito mais fácil de ser feita com o programa em C.

Re: Upgrade de projeto baseado em PIC16F877A em assembly

MensagemEnviado: 22 Jul 2014 21:05
por Eduardo Augusto
Galera, mto obrigado! Deu tudo certo, pensei que ia sofrer um poco pra conseguir fazer a alteração, mas deu tudo certo. Ainda esse ano estaremos estudando para fazer um upgrade de hardware e software nesse projeto.