Sari la conținut
ELFORUM - Forumul electronistilor

Modificare fisier.HEX


Vizitator mercas

Postări Recomandate

Vizitator mercas

Salut!Am un cod binar, pe care il scriu pe un AT89C2051 cu  ajutorul BASCOM-ului si a unui programmer de tip BlowIT.Microcontroller-ul este folosit pentru a afisa pe un Dislay o serie de functii,aici este link-ul cu schema circuitului( http://czarnikm.republika.pl/minikompopel.htm ).Ceea ce ma chinui eu si nu reusesc, este sa  multiplic o functie din cele existente,adica sa copii de doua ori succesiv un fragment al pseudocodului (cel albastru).Am atasat si fisierul .bin.Daca se pricepe cineva sa ma ajute,ii sunt recunoscator.Multumesc 

post-229799-0-96286200-1403956630_thumb.jpg

X17DT.rar

Editat de mercas
Link spre comentariu
  • Răspunsuri 8
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • crocobaurul

    2

  • XAN77

    1

  • godFather89

    1

  • Decodari Casetofoane

    1

Top autori în acest subiect

Imagini postate

 Asa,

 

Daca vrei sa multiplici o functie si ai doar fisierul binar e o treaba neinchipuit de dificila.

 

Primul pas este sa gasesti un dezasamblor. Nu stiu cum stii limbajul ASM, dar sunt multi care nu il stiu.

 

Il transformi cu un soft din binar in ASM - primul pas. Verifici daca ASM-ul e corect si merge la fel de bine.

Programul ii spune decompilator si e specific microcontrollerului.

 

Eu pe care il stiu e IDA, dar e complicat de folosit, dar e si bun:

https://www.hex-rays.com/products/ida/processors.shtml

IDA ala decarcat free merge doar pentru procesor x86. Insa un coleg l-a descarcat in varinata full de pe nu-stiu ce site-uri.

 

 

 

Au ceva dezasamblare si pentru ATMEL.

Eu nu ma procep la ATMEL si dau ce link am gasit:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=80914&start=0

 

Exista dezasamblare si catre C, dar e mai complicat.

Dai search pe goole cu AVR disassebler:

http://www.google.ro/search?hl=en-RO&q=avr+disassembler&gbv=2&sa=X&as_q=&spell=1&ei=lG-1U8j1NtHe7AaClYGIDg&ved=0CA8QBSgA

 

Fisierul ala binar poate sa aiba tot felul de sume de stare.

Editat de crocobaurul
Link spre comentariu
Vizitator mercas

Am incercat sa  dezasamblez  atat fisierul hexazecimal cat si cel binar dar,din pacate fara rezultat.Initial m-a atentionat ca nu suporta fisiere in format .hex(foto atasat) iar in partea stanga la funtions windows nu imi apare nici o structura.As fi recunoscator daca  m-ati putea ajuta cu cateva instructiuni sau precizati.Am atasat  cateva poze in care se poate vedea modul in care nu a reusit sa dezasambleze programul fisierul,Multumesc anticipat. :26

post-229799-0-17923700-1404411411_thumb.jpg

post-229799-0-83625800-1404411428_thumb.jpg

post-229799-0-68317900-1404411433_thumb.jpg

Link spre comentariu

Salut!Am un cod binar, pe care il scriu pe un AT89C2051 cu  ajutorul BASCOM-ului si a unui programmer de tip BlowIT.Microcontroller-ul este folosit pentru a afisa pe un Dislay o serie de functii,aici este link-ul cu schema circuitului( http://czarnikm.republika.pl/minikompopel.htm ).Ceea ce ma chinui eu si nu reusesc, este sa  multiplic o functie din cele existente,adica sa copii de doua ori succesiv un fragment al pseudocodului (cel albastru).Am atasat si fisierul .bin.Daca se pricepe cineva sa ma ajute,ii sunt recunoscator.Multumesc 

Spune-ne mai bine ce vrei sa realizezi efectiv prin "multiplicarea" unei functii.

Link spre comentariu
Vizitator mercas

Pai cu ajutorul Microcontroller-ului se realizeaza 3 functii.Una care afiseaza turatia motorului,una care afiseaza viteza(KM/H) si una care afiseaza distanta parcursa.Toate semnalele de intrare sunt realizate prin inpulsuri.Eu vreau sa multiplic una din aceste functii,de preferat prima(cea cu turatia) pentru a o putea adapta sa indeplineasca alta funtie.Am nevoie doar sa o multiplic pentru ca deja stiu cum sa o fac sa indeplineasca alta functie.Va multumesc! :aplauze

Link spre comentariu

Eu zic sa incepi prin a pune pentru noi o simulare in Proteus. Daca vrei sa fie particular poti folosi prv.

 

Acum in Proteus nu stiu daca are acel Atmel si acel display. Posibil sa fie. Daca nu, poate gasesti pe NET modele (SPICE) pentru componetele alea.

 

Daca il vedem cum merge poate ne mai dam cu parerea.

Asa cum am spus, eu cu Atmel nu am lucrat. Inteleg ca tu citesti fisierul HEX cu un programator. In ce format il obtii ?

zi.

Incerca si alte dezasabloare in afara de IDA.

Macar in Proteus daca ai gasi acel Atmel sa vad si eu cum merge. Iar in locul display-ului pui un analizor virtual ceva.

 

Da' Atmelul asta are interfata CAN ? Sa ai sufucinete intrari pentru a implemeta altceva.

 

 

Si da, e o idee buna sa o iei si de la capat. Cauti pe NET realizari CAN si Atmel si le adaptezi:

http://siwawi.bauing.uni-kl.de/avr_projects/can/

 

Cauti "CAN Sniffer" deoarece CAN se confunda cu un cuvant.

Dar oricum interfata CAN e mai complicata are prioritati in functie de ID, la un numar de erori "iese din functiune" ECUul. Ma rog, retea multi master.

O fi pe LIN.

 

Divagatie: sa vezi ce fibra optica am vazut eu la un BMW. Pe bune, semnalele veneu pe fibra optica. Nu mi-a venit sa cred.

Ce bord o fi ala cu Atmel ? Are si alt procesor "carabus" ? vre un V850 ?

Editat de crocobaurul
Link spre comentariu
  • 3 săptămâni mai târziu...

Incearca sa studiezi si AT90CAN, e tot un RISC pe 8 bit care posibil sa fie mai versatil.

Nu-ti va fi greu sa portezi pe el.

E foarte facil si debug-ul pe jtag deja implementat.

Cred ca e o alternativa care merita atentia.

In legatura cu dezasamblarea...

Daca nu stapinesti ASM-ul te cam scarpini.

Link spre comentariu

Șanse foarte slabe spre zero, să modifici hexul.

”Profită” de ocazie și apucă-te de primul tău proiect propriu cu microcontroler. Dacă nu e primul cu atît mai bine. Proteus are și 89C2051. Ai și avantaje, poți să-ți alegi astfel limbajul de programare. Poate chiar Bascom că e mai ușor de învățat.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări