Configurando o RTC na hora da gravação (LPC2138)

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Configurando o RTC na hora da gravação (LPC2138)

Mensagempor lrfad2 » 19 Jun 2007 18:41

Boa noite pessoal!
As coisas ficarim bem mais fáceis pra mim se na hora da gravação eu conseguisse configurar o RTC, com a data e a hora atual.
Pensei em fazer isso por um arquivo de texto gerado em Delphi. Mas o problema que na produção eles teriam que recompilar a cada gravação, que é inviável.
Alguem tem alguma ideia de como fazer isso?
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor Ander_sil » 20 Jun 2007 14:26

Cara isso é complicado, mas eu acho que o unico jeito seria fazer uma aplicação no PC (Delphi), e carimbar o arquivo binario com a data e hora do PC, na hora de gravar no chip, isso em um local conhecido da memória onde o aplicativo poderia ir nesse endereço e atualizar os dados, isso seria possivel com um programa de gravação fornecido pelo fabricante do chip, por exemplo a Atmel fornece a DLL do programador SAMPROG e com essa DLL e a DLL do j-link, faria um software "gravador".
Esse software, quando ao ser carregado pelo fimrware carimba na mesma hora a data e hora e grava o arquivo .bin no chip. affff.

Deve ser o unico jeito, mas é uma suposição.

até+
Anderson Chrispim da Silva
chrispimdasilva@gmail.com
Ander_sil
Byte
 
Mensagens: 368
Registrado em: 30 Out 2006 09:58
Localização: Campinas - SP

Mensagempor helton » 21 Jun 2007 09:22

Você pode alterar o arquivo *.hex também. Coloque no software uma data e hora atual gravada na flash interna, e toda vez que você for gravar um chip, execute um software que altere a posição de memória inserindo a data e hora atual, chame o gravador ( pelo software mesmo ), e faça o donwload do firmware com a data e hora atual...
Helton Marques
"Priorize as Prioridades"
helton
Byte
 
Mensagens: 146
Registrado em: 16 Out 2006 09:18
Localização: São José-SC

Mensagempor lrfad2 » 21 Jun 2007 15:18

mas como se interpreta o arquivo hex?

Ex:
:0400000500000000F7
:020000040000FA

Alguem já fez isso? Deu certo?
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor gibim » 21 Jun 2007 22:14

Minha solução para programação de um firmware com data e hora razoavelmente atualizados:

Fiz um programa em dos que lê um arquivo *hex para a memória;
Localiza uma determinada região de memória pré formatada;
Lê o timer atual do PC
Grava nesta região de memória do arquivo *hex o novo valor;
Recalcula o CheckSum das linhas alteradas do arquivo *.hex;
Salva o conteúdo da memória no arquivo a ser gravado no CHIPS LPC2138.
Aguardar 10 segundos para uma nova leitura e carregamento.

Portanto, essa rotina, funciona de modo independente do meu gravador, uma vez que ele é encarregada de atualizar periodicamente o meu arquivo *hex. E com uma precisão de 10 segundos, sei corretamente a hora e momento que determinado software foi gravado. Além de me ajustar a hora atual.

O único detalhe é você definir corretamente um segmento de memória e localizar-lo dentro do arquivo, formatar corretamente a data e hora e tudo funcionará.

Espero que possa ajudar em algo.

Abraços.
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor gibim » 21 Jun 2007 22:26

Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor lrfad2 » 29 Jun 2007 09:05

Gibim,
essas dicas foram geniais... muito obrigado
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor andre_luis » 29 Jun 2007 09:20

Olha, sei que são "mundos" diferentes, mas já fiz algo parecido com o PIC.

No momento que eu compilava, e gravava o programa no PIC via ICSP, a diretiva __TIME__ e __DATE__ programavam uma área da FLASH do PIC, e após gravar, ele imediatamente inicializava ressetado; E nesse instante, eu pegava o valor da FLASH e colocava no RTC externo.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Ander_sil » 29 Jun 2007 11:06

Olá André, mas nesse seu caso a data e a hora é referente à compilação do programa, ou seja, serve quando voçe compila e logo em seguida grava o chip.
No caso do pessoal aí a dúvida é, pegar um arquivo executavel .HEX e inserir a data e hora da gravação via jtag.

até+
Anderson Chrispim da Silva
chrispimdasilva@gmail.com
Ander_sil
Byte
 
Mensagens: 368
Registrado em: 30 Out 2006 09:58
Localização: Campinas - SP

Mensagempor gibim » 29 Jun 2007 15:04

É que no caso dos CHIPS LPC2138, quando vc acaba de gravar, e entra no modo de operação, já no mesmo instante, o CHIPS pega o valor contido na FLASH, que nunca mudará, e programa uma única vez na memória do RTC, voltando a ser zerado toda vez que a pilha do RTC for arrancada.

Ou seja: Desde que o aparelho entre em funcionamento no instante seguinte à programação, os valores serão carregados e permanecerão na memória. Restando apenas o caso do seu zeramente quando a pilha for arrancada.

Não existe milagre, temos que nos conformar com as possibilidades.

Abraços
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor andre_luis » 29 Jun 2007 15:17

O que pode-se tentar fazer - e vai dar um pouco de trabalho - seria 'mapear' numa posição fixa da memória flash, a sequencia de bytes relacionados à data/hora, podendo no ato da compilacao, ficar vago, ou seja, zerado.

Depois, criar um programinha que substituísse no arquivo .HEX a data/hora pela data/hora atual do PC ( não esquecendo de re-calcular o cheksum ).

Assim, quando o camarada fosse gravar, chamaria o seu programinha .BAT que iria antes da gravacao, fazer a correcao acima.



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para ARM

Quem está online

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

cron

x