SDCC e rotinas mapeadas

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

SDCC e rotinas mapeadas

Mensagempor sisae » 04 Abr 2010 10:15

Ola a todos,

Recetemente estou usando o Eclipse como IDE para compilar C do SDCC.
Muito bom, se querem saber, quem estiver iniciando, ta ai uma otima ferrramenta livre.
Continuo com meu projeto de um computador 8051, que esta em otima fase.
Agora estou implementando serviços ao usuario atraves do S.O.
Preciso determinar espaço na memoria para algumas rotinas. Por exemplo:

void le_setor(){
mmc_command(xx, yyyyy, zz);
}


esta rotina tem como parametros variaveis na XDATA com endereços definidos.
agora preciso q a rotina seja tambem. Para o poder usuario chama-la.
Avatar do usuário
sisae
Nibble
 
Mensagens: 65
Registrado em: 16 Dez 2006 14:57
Localização: Anapolis-GO

Mensagempor Francesco » 04 Abr 2010 21:44

Olá Sisae,

Eu uso o Eclipse com SDCC também. Concordo contigo, é uma ferramenta ótima. Recomendo.

Quanto a sua pergunta sobre o 8051, não entendi exatamente. Você quer carregar uma rotina do MMC na memória RAM e executar à partir de seu programa? Se for isso, a solução é usar um ponteiro para função. Os parâmetros e retornos precisam ser padronizados, mas podem ser qualquer um.

Nesta situação, outro cuidado que você precisa tomar é mapear na mesma memória o XDATA e o CODE, com uma porta lógica entre o PSEN e o WR. O que acredito que você já fez.

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor lopesjm » 05 Abr 2010 08:28

Olá Sisae,

Estou curioso. Como você ligou o cartão SD ao AT89S52 ? Que tensão está usando ?

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Mensagempor sisae » 05 Abr 2010 20:00

Ola Francesco,

Depois que postei isto, fui tomar um cafezinho, olhando nuvens e procurando inspiracao, ai veio esta mesma forma de se resolver, eu ja estava mapeando 32K de RAM externa, só determinei variaveis e ponteiros e tudo comecou a ficar bem novamente.
Eu estava querendo compilar uma rotina numa area da Flash mesmo, como no ORG. ai iria executar esta rotina atraves de programas de usuarios gravados no SD Card. Isso eu ja estou fazendo. executar programas, basta compila-los no ORG 0x8000 e se quiser proteger as variaveis do sistema, tem uma INT que armazena o RAMTOP nos ultimos 2K da 32K. Ta ficando muito bom, parece ate que to lendo as revistas INPUT com um MSX (rsss).
E ai LopesJM, o negocio do SD Card comeca com uma interface ISP, pode ser implementada por software, como fiz, depois é só estudar como funciona um SD Card, que na verdade é igual qualquer outra memória, como I2C ou paralela, e por fim, o mais chatim, mas nao impossivel, criar rotinas de tratamento FAT16.
Avatar do usuário
sisae
Nibble
 
Mensagens: 65
Registrado em: 16 Dez 2006 14:57
Localização: Anapolis-GO


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x