Erro [1300] quadro de pilha muito grande

L

lopex

Guest
Oi, eu acredito que este assunto já foi falado. Eu quero um grande vetor unsigned char [50] [10] = {{0,1,2}, {0,2,6}}; Esse vetor é constante. Isto é para PIC18F4520, Graças C18, Lopex
 
Oi, seu vetor não é definir como constante. Qual compilador?
 
Você não disse como você estava declarando isso, ou se você deseja que ela seja uma constante ou não. No entanto, o erro Stack poderia indicar que você declarou-o como uma variável local da função (não constante). Para corrigir esse problema adicionar a palavra-chave "overlay" para a sua declaração:
Code:
 overlay unsigned char big_vector [50] [10] = {{0,1,2}, {0,2,6}};
 
Se a sua constante, ele deve ser:
Code:
 rom unsigned char [50] [10] = {{0,1,2}, {0,2,6}};
ou
Code:
 rom unsigned char [50] [10] = {{0,1,2}, {0,2,6}};
desculpe, eu não estou no trabalho de verificá-lo corretamente ... char [50] [10] são 500 bytes, e em um PIC18 todos os bancos estão ram 256 bytes ... então se você quiser que vector na ram você deve "fuse" aos bancos (com o script linker e os dados # pragma), existem muitos exemplos ot fazendo isso ...
 
Obrigado, Com um
Code:
 # pragma romdata bigvector
e
Code:
 rom vetor unsigned char [50] [10];
eu fiz isso resolver o problema.
 

Welcome to EDABoard.com

Sponsor

Back
Top