estou desenvolvendo um programa em C no keil uv3 que estava funcionado perfeito ate o momento , só que tive que acrescentar mais umas funções , ai foi que começou minha dor de cabeça , o programa compila normal , não gera erro , mas o programa ficou louco , ate parece que o compilador não compila alguma parte do codigo , depois de tentar de varias maneiras e não consegui dei uma pesquisada aqui no forum
( http://www.asm51.eng.br/phpbb/viewtopic ... ultilizado )
e bate com o que esta acontecendo comigo , então baixei o nivel de otimização e para o minha surpresa o codigo ficou pior , o micro as vezes resetava sozinho , então deixei o nivel de otimização como estava anterior , nivel 8 .
fui para a net dei uma vasculhada e cheguei a uma conclusão , eu estava estrapolando o espaço da ram interna o uc , dei uma enxugada no codigo ultilizando ponteiros nas funções e dei uma enxugada nas variaveis locais , então reduzi para de237.5 para 222.5 de ram , nas minhas variaveis especifiquei todas para ( idata ) , ai o programa voltou a funcionar normal como antes . eu tinha ultilizado o limite da ram com as variaveis globais , não deixando ram para a pilha e para as chamadas das funções , mas para descobrir isso foi embora 4 dias , ufa!!!
obs; graças ao livro do Maurício cardoso ( que por sinal muito bom ) , foi a minha salvação .
então ao longo dessa pesquisa surgiram algumas duvidas
1º nos 256 bytes de ram é só ram sem incluir os resistros de funções especiais ou não?
2º vou substituir o uc at89c55wd pelo at89c51rc 32kb e 256 bytes de xram , alguém poderia me postar um exemplo de como criar variaveis na xram desse uc ( em c no keil ),pois ele possui um resistro especial para a configuração da ram e xram , pois estou querendo mudar todas as minhas variaveis globais para a xram , sei que vai ficar um pouco lento o acesso , mas isso não é problema .
antes
Program Size: data=237.5 xdata=0 code=12773
creating hex file from "ganovo"...
"ganovo" - 0 Error(s), 15 Warning(s).
depois
Program Size: data=222.5 xdata=0 code=12773
creating hex file from "ganovo"...
"ganovo" - 0 Error(s), 15 Warning(s).
fkleberp@ibest.com.br