Página 1 de 1

Dados da Eeprom no código assembly - 89S8253

MensagemEnviado: 02 Mar 2011 19:48
por Nik
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,

MensagemEnviado: 02 Mar 2011 22:48
por Francesco
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.

MensagemEnviado: 03 Mar 2011 09:42
por Nik
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,

MensagemEnviado: 03 Mar 2011 11:28
por Francesco
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