Dados da Eeprom no código assembly - 89S8253

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Dados da Eeprom no código assembly - 89S8253

Mensagempor Nik » 02 Mar 2011 19:48

Olá pessoal,

Tive que mexer num projeto antigo feito em assembly para o 89S52 e migrá-lo para o 89S8253. Até aí tudo bem, mas o problema é que alguns dados tem que ser gravados na eeprom já a partir do arquivo .hex, e não tenho a menor idéia de como fazer isso. Fucei o dia inteiro na net mas não descobri nada. Nos PIC's fazemos isso colocando o seguinte antes da diretiva END:

ORG 0x2100
DATA 0x01
DATA 0x05
DATA 0x02 ,etc, dados para a eeprom

END

e o compilador já gera o arquivo .hex com os dados da flash e da eeprom, tudo bonitinho. Mas no 89S8253 não sei como. Estou usando o compilador ASEM-51.
Alguém poderia ajudar?

Vlw,
Nik
Bit
 
Mensagens: 42
Registrado em: 07 Nov 2006 06:04

Mensagempor Francesco » 02 Mar 2011 22:48

Então, acho que você está misturando um pouco as coisas.

O AT89S52 não tem EEPROM, apenas a Flash para o programa. O que você fez é colocar os dados que você precisa junto com a memória de programa (muito comum). Você não precisa colocar nada na EEPROM do AT89S8253 se você não quiser (ou não precisar).

A vantagem de colocar na EEPROM é o fato do microcontrolador poder apagar e gravar outra coisa caso seja necessário. Mas se o AT89S52 (que não tem EEPROM) não precisa fazer isso, então não há a necessidade do AT80S8253 fazer.

Se eu fosse você, manteria os dados na Flash como estão agora.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor Nik » 03 Mar 2011 09:42

Olá Francesco,

Talvez não tenha me expressado direito. Na versão anterior com o 89S52 os dados eram gravados numa eeprom externa. Nesta nova versão com o 89S8253, que tem eeprom interna, necessariamente os dados terão que ser gravados nela, o chip de eeprom externa não mais existirá.

Porém preciso incluir esses dados no código fonte, para que o gravador já coloque as informações da memória de programa na flash e os dados na eeprom. Como eu disse nos PIC's isso é feito da forma como eu citei acima, gostaria de saber como fazer isso no 89S8253 também.

Grato,
Nik
Bit
 
Mensagens: 42
Registrado em: 07 Nov 2006 06:04

Mensagempor Francesco » 03 Mar 2011 11:28

Humm...
Agora entendi.

Você grava dessa forma no PIC porque provavelmente ela está sendo feita na memória de programa. O PIC permite esse tipo de acesso à própria memória, o que é muito legal.

No caso do AT89S8253, você normalmente precisa de dois arquivos HEX, um que vai para a memória Flash (seu programa), e outro que vai para a EEPROM (os dados). Os produtos da Atmel são assim.

O software de gravação deve ter uma opção de gravação de Flash ou EEPROM. Conheço alguns, todos assim.

Um abraço.

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


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante

x