Página 1 de 1
Erro - Out of ROM

Enviado:
25 Nov 2006 20:43
por Galaxywish
Olá pessoal!
Estou programando em C. Atualizei meu CCS V3.249 para a versão 4.014 e apresentou esse erro : Out of ROM, A segment or the program is too large.
Estranho que na versao 3.249 nao apresenta nenhum erro e o programa roda que é uma beleza.
Será se é Bug da versão 4.014? Vocês tiveram algum problema com essa versão?
Abraços
Galaxywish

Enviado:
25 Nov 2006 23:24
por ric_vas
Não tenho essa versão, mas algumas vezes a saída para esse erro é usar a diretiva #separate em algumas rotinas.
Dê uma olhada no manual para entender melhor este ponto.
Ric

Enviado:
26 Nov 2006 11:25
por Galaxywish
Eu usei somente a diretiva #separate no inicio de algumas funções e apareceram mais erros. A solução foi voltar para a versão 3.249 que ai não teve mais erros.

Enviado:
27 Nov 2006 08:39
por andre_luis
procura por uma diretiva #device *= 16 e muda para 8

Enviado:
27 Nov 2006 20:59
por Galaxywish
Interessante!
#DEVICE *=16 utiliza ponteiros de 16 bits.
#DEVICE *=8 utiliza ponteiros de 8 bits.
Mudando para *=8 diminuiu um pouco as linhas do projeto. Vou tentar com a versão 4.014.
Valeu pelas dicas

Enviado:
05 Mar 2007 15:44
por Enduro
Comigo apresenta esse mesmo erro com o 4.020.
Em C pode fazer macro quem nem em asm para diminuir o codigo? Tipo criar um arquivo .h ou .c?
Nao quero mudar a minha versao do CCS.
Valeuuu

Enviado:
05 Mar 2007 15:52
por KrafT
O CCS 4 é o software mais feio que já foi criado.
Pelo jeito é o pior compilador também. Depois que ví a cara dele, voltei ao CCS 3 correndo. Se precisar de algum pic que o CCS3 não suporte, vou aprender o C18.

Enviado:
05 Mar 2007 21:21
por Enduro
Mas em C pode fazer macro quem nem em asm para diminuir o codigo? Tipo criar um arquivo .h ou .c?

Enviado:
06 Mar 2007 09:03
por andre_luis
Macro nao diminui o código, função sim.

Enviado:
06 Mar 2007 10:07
por chipselect
problema de usar muita função é que o PIC tem stack limitadíssimo... pelo menos nos PIC que trabalhei

Enviado:
06 Mar 2007 11:40
por andre_luis
Mas se voce 'desassemblar' o seu programa, pode verificar que o CCS quase nao usa a pilha para acessar as funçoes; justamente pelo motivo que voce comentou.
+++