Olá pessoal, queria a orientação de vcs aqui do lab, estou iniciando estudo de programação recentemente comprei um gravador TL866cs, com ele eu li uma eprom M27C4001 e salvei um arquivo em formato bin e outro em formato hex, porém já fiz várias tentativas de decifrar o código com o CCS, PICC, MPLAB e outros.
O que pretendo fazer é alterar algumas instruções do código e gravar em outra eprom. Podem me ajudar?

Exibições: 2183

Responder esta

Respostas a este tópico

Essa EPROM é de 512KB x 8. Ela tem uma janelinha de cristal ? Se tiver, é um EPROM regravável. 

Se não tiver a janelinha, ela não poderá ser regravada. 

http://www-inst.eecs.berkeley.edu/~cs150/fa02/docs/M27C4001.pdf

Essa EPROM é usada com qual processador ? Algum equipamento específico ?

O que esta querendo fazer é bem complicado... Já ouviu falar em disassembler ?

José Gustavo, já consegui ler a eprom, sim ela tem o cristal e por isso pode ser apagada com UV e regravada, já tentei usar o disamssembler do MPLAB a partir dos arquivos .bin e .hex porém sempre da erro. Essa memória é usada em elevadores e para alterar algumas opções de funcionamento e necessário comprar uma nova eprom já programada, oque quero fazer e alterar essas opções e gravar em Nova eprom e não continuar refém do fabricante.
Alguém conhece uma forma de conseguir utilizar um disassembler confiável?
Desculpe a demora em responder

Oi ESG, boa noite.

Este code que está gravado na EPROM, é para PIC?

Se for, saberia dizer qual PIC, e se for possível, anexe aqui um arquivo com os dados

que você leu.

Rui

Tem um microcontrolador Atmel 914 25640A PU27, um CI CY7C1D18D.

AT25640 - é um SPI serial Eprom ( 8 pinos) 

CY7C1D18D - não encontrei esse chip, mas deve ser uma RAM estática. 

Concordo com Eduardo. O  fabricante é que formata a gravação da memória. 

É como achar uma agulha no palheiro. E além disso tem a questão de segurança !

deve ser CY7C1018D.

http://www.cypress.com/documentation/datasheets/cy7c1018dv33-1-mbit...

Mas mesmo assim não faz sentido, deve ter outro integrado do outro lado da placa ou coisa assim 3 tipos de memoria até agora e nenhum processador.

O elevador é um equipamento de segurança, envolve vidas, envolve seguradora (que sempre tem bons advogados).

Vc tem uma eprom de 512Kb onde estão algumas informações que deseja mudar. Talvez 1 byte em 524.280. Como saber se fez a modificação correta ? Testando ? Testando com pessoas dentro ?

Enfim, minhas sugestão seria não fazer.

Se vc tem uma eprom funcionando pode usar o gravador para copiar, fazer um backup, etc. Mas alterar já é meio pesado.

A memoria é bem grande um tamanho incompatível com um microcontrolador comum.

Alguns nobreaks antigamente (antes dos microcontroladores) usavam eproms para fazer a geração dos pulsos. Algo assim: Vc colocava um AD na saída dele que gerava por ex 8 linhas de endereço (255 posições) e outras 8 linhas de endereço eram geradas por um contador. Essas 16 linhas alimentavam uma eprom e a saída de dados ativava os transistores (IGBTs), ao todo 6 (2 por fase em algo parecido com uma ponte H), fazendo como que um PWM em cada um.

Conforme o tempo passava 8 linhas varriam a eprom gerando pwm (A0..A7, por ex).

Conforme a tensão de saída variava outras 8 linhas trocavam a tabela geradora de PWM para compensar (usavam um PWM mais adequado para a nova situação) (A8..A15).

Enfim, falei tudo isso apenas para exemplificar que as vezes é bem complicado mudar uma eprom. 

Em 512Kb ou seu elevador usar um sistema operacional (linux ???) em emprom ou tem voz no formato WAV ou tem essas tabelas de geração de pulso. Não tem como ser um PIC ou coisa assim, mesmo pq eles não aceitam programas externos.

Eduardo, acredito que estou sendo mau compreendido, as alterações que preciso fazer não são quanto a rotinas de acionamento e segurança do equipamento, são com relação a reposição de indicadores e botões, tempo para estacionamento, estacionar de portas abertas ou fechadas e o andar em que estacionar, coisas deste tupo. por exemplo: toda vez que um usuário danifica um botão ou indicador serial e este precisa ser endereçado, essa substituição não é possível pq o dispositivo não é aceito enquanto não for informada a senha para gravação do mesmo, e esta senha é gerada o ela fabricante e não é fornecida à nós.

Erick 

Alguns pontos você precisa avaliar:

O que está armazenado na memória? (firmware e/ou dados de configuração)

Como a memória está organizada? Essa informação será útil para realizar a mudança que você deseja.

Qual o processador instalado em sua placa, isso permite definir o disassembler. Cada arquitetura de processador possui o seu disassembler.

Caso não saiba essas informações, seu problema apenas vai aumentar, como o José Gustavo disse "É como achar uma agulha no palheiro".

Nesse caso você precisaria realizar um processo de engenharia reversa e nem sempre é simples, na maioria da vezes demanda um bom de tempo para aprender como o circuito funciona. Também é necessário alguns equipamentos, como por exemplo um analisador lógico.

Não é impossível o que você quer fazer, mas você vai precisar conhecer muito bem o seu sistema para realizar qualquer tipo de modificação.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço