Página 1 de 1

Gravando a EEPROM ..

MensagemEnviado: 06 Abr 2010 21:54
por _blackmore_
Gostaria de saber dos amigos foristas, se existe alguma forma de gravar a EEPROM de um PIC sem que seja necessário regravar todo o código fonte?
Caso seja possível fazer esta gravação, por favor informem circuitos, textos ...
Agradeço toda ajuda pertinente ao assunto do tópico.

abrax!

MensagemEnviado: 06 Abr 2010 22:05
por tcpipchip
EEPROM ou FLASH ?

Se for FLASH tem instruções para gravar na propria flash (area de programa)....

Dá uma olha no source code do TINY LOADER, vai te ajudar, tem para PIC16 e PIC18...

TCPIPCHIP

MensagemEnviado: 06 Abr 2010 22:09
por vtrx
Se não me engano é só endereçar(ISP) a área correspondente a Eeprom do Micro e ativar o processo e gravação.

MensagemEnviado: 07 Abr 2010 00:34
por _blackmore_
tcpipchip

EEPROM ...


vtrx

será que o MPLab faz isso? Não encontrei ainda algo sobre.


abrax!

MensagemEnviado: 07 Abr 2010 00:52
por tcpipchip
Acho que o ponyprog tem a opcao...veja lá...

MensagemEnviado: 07 Abr 2010 01:20
por vtrx
será que o MPLab faz isso? Não encontrei ainda algo sobre

Acho que não,estou começando a programar um,mas tem que ter saco pois cada micro tem um 'detalhe' diferente de outro (PIC).
Pode tentar fazer uma experiência,mas tem que montar um arquivo Hex com o endereço da Eeprom e os dados a gravar que acho que o MPLAB vai gravar apenas no endereço citado no Hex,tipo;
:10210000ABCDEF0102030405060708091122334491
Essa linha ta formatada;EEprom(2100),gravar bytes de AB...44.
PS:Estou com sono mas acho que o MPLAB grava sim,deve ser assim que ele usa a diretrz 'DE'.
Tenta aí,crie um arquivo de texto e cole;
:10210000ABCDEF0102030405060708091122334491
:00000001FF
Salve como teste.hex e tenta la gravar...

MensagemEnviado: 07 Abr 2010 21:00
por RobL
Pode fazer pelo MPLab.
Preencha sua eeprom com o programa.
Abra a eeprom na ide. Deverá estar vendo os dados nela.
Clique no primeiro byte.
Com o botão direito salve os dados em arquivo "Import Table".

Se não clicar no primeiro byte será salvo somente o trecho a partir do byte que estiver marcado.

Ao abrir a IDE em outro momento abra a janela da Eeprom e "Export Table"
para carregar o arquivo gravado. Mas não esqueça de antes marcar o byte zero e clicar o botão direito sobre ele. É estranho isso!!!

Vá no menu Program, then Settings e marque somente EEPROM.

Outro método mais fácil mas nunca usei no MPLAB (Arquivo .ELF).
Parece que já há arquivo .ELF (Uso nos AVRs mas nunca usei no MPLAB.)
Neste caso salve o arquivo .ELF e grave somente a parte da EEPROM.
Normalmente há uma janela para tal. Nesta janela desmarca os demais arquivos deixando somente o da EEPROM.

MensagemEnviado: 08 Abr 2010 00:48
por BolhaDigital
Se eu entendi a bagaça, que o menino quer fazer é inserir dados na eeprom interna do pic através do mplab?

se for isso, dá tranquilamente é só vc criar os dados que deseja como o ex. abaixo...

isso para eeprom:

;-----------
;********************
;* Editor da E2Prom *
;********************
; CodLook:
Org h'2100' ; esse aqúi é o endreço 00 da eeprom

De .50 ; coloco esse valor no endereço 00

Org h'210a'

De .2 ; coloco esse valores em sequencia apartir
; do endereço 0A da eeprom
De .23 De .16
;-----------


isso para flash:

dt "picloco"

nesse caso se vc editar a flash verá que esse texto estará gravado nela, ok...normalmente eu uso esse recurso no final da listagem do programa para introduzir o coprynt da coisa, mas vc poderá utilizar a diretiva dt para introduzir outros valores "uma dica" vc poderá utilizar a diretiva org "inicio do ponto onde vai gravar na flash" e o mplab faz isso para vc na hora de compilar.

MensagemEnviado: 08 Abr 2010 08:39
por vtrx
Acho que ele quer gravar apenas o conteúdo da Eeprom num PIC ja gravado sem alterar o programa.

MensagemEnviado: 08 Abr 2010 10:07
por _blackmore_
vtrx

Pode tentar fazer uma experiência

vou tentar assim que o microcontrolador chegar ... obrigado pela ajuda!


RobL

abri o MPLab aqui q segui suas orientações ... parece q vai dar certo, agora parece tudo claro ... obrigado!!


BolhaDigital

tenho uma rotina em que algumas as variáveis são gravadas na EEPROM, e quando eu preciso alterar esses valores não quero regravar todo o firm .. apenas a parte da EEPROM que interessa, se não o "dono" do trabalho não me paga mais :) sacou?
Agradeço de qqer forma sua ajuda, pois ela pode ser útil em outros casos.
Obrigado pelo help!