Página 1 de 1
tamanho de tabela em flash

Enviado:
27 Mar 2012 20:21
por Iran
Estou criando uma tabela em flash e simplesmente pegando os valores da tabela e enviando para uma porta de I/O.
O problema é que quando o tamanho da tabela é de até 120 bytes funciona.
Com 128 bytes compila mas nao funciona.
Estou programando em C com o mspgcc + eclipse.
O chip é o msp430g2211.
O que poderia ser ? Tamanho da memoria flash?
Grato,
José Iran.

Enviado:
27 Mar 2012 23:28
por Fábio Pereira
Olá José,
Como você está declarando esta tabela?
Lembre-se de que normalmente os arrays em C são armazenados em RAM, mesmo se você declarar como CONST ainda assim é provável que o compilador armazene na RAM.
Considerando que o G2211 possui 128 bytes de RAM, creio que seja este o problema.
T+

Enviado:
28 Mar 2012 00:51
por Iran
Fábio,
Obrigado pela resposta.
- Código: Selecionar todos
const unsigned char tabela [] = {0xfe, 0xfc, 0xf8, 0xf0};
Estou declarando a tabela como CONST e esperava que ela fosse alocada na flash.
Como faço para saber onde a tabela está sendo alocada ?
Como faço para colocar a tabela na flash ?
Grato,
José Iran.

Enviado:
28 Mar 2012 07:54
por Iran
Resolvido.
Eu estava declarando a tabela dentro da função main.
Colocando a tabela como variável global corrigiu o problema.

Enviado:
28 Mar 2012 10:28
por chrdcv
Iran escreveu:Resolvido.
Eu estava declarando a tabela dentro da função main.
Colocando a tabela como variável global corrigiu o problema.
Então o problema era que ela era alocada na pilha (devido ser uma variável local) e não no heap.

Enviado:
28 Mar 2012 10:52
por Fábio Pereira
Pois é,
Por isso sempre digo para olhar o código que o compilador gera...
T+

Enviado:
28 Mar 2012 20:24
por barboza
chrdcv escreveu:Iran escreveu:Resolvido.
Eu estava declarando a tabela dentro da função main.
Colocando a tabela como variável global corrigiu o problema.
Então o problema era que ela era alocada na pilha (devido ser uma variável local) e não no heap.
Isso também indica que estava sendo alocada na RAM e não na Flash. Estranho!
Re: tamanho de tabela em flash

Enviado:
28 Mar 2012 21:00
por Wagner de Queiroz
Iran escreveu:Estou programando em C com o mspgcc + eclipse.
O chip é o msp430g2211.
Esse cara é o meu herói!

Enviado:
29 Mar 2012 08:51
por Iran
Esse cara é o meu herói!
Pq Wagner ?