Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Editace hex souboru pro Atmega8

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Kuba230



Založen: Sep 28, 2007
Příspěvky: 68

PříspěvekZaslal: st březen 19 2014, 10:21    Předmět: Editace hex souboru pro Atmega8 Citovat

Ahoj, má tu někdo zkušenosti se editováním hex souboru pro atmega8 ? Smile
Soubor obsahuje počítadlo pro počet zapnutí, pravděpodobně 500. Při prvním zapnutí se zobrazí údaj, zbývá 499 použití (LAST 499 USAGE).
Chtěl bych navýšit počet použití na maximum, ale vůbec nemůžu najít, jak to změnit. Přikládám hex soubor.



avr code.hex
 Komentář:

Stáhnout
 Soubor:  avr code.hex
 Velikost:  20.31 kB
 Staženo:  142 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st březen 19 2014, 11:08    Předmět: Citovat

Otevři hex soubor v AVR Studiu jako nový projekt a pak jedině hledat. Nebo otevři asm co je v příloze (je to hex prohnaný disassemblerem), na úplně první pohled to tam vidět není.


avr_code_182.zip
 Komentář:

Stáhnout
 Soubor:  avr_code_182.zip
 Velikost:  9.14 kB
 Staženo:  110 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: st březen 19 2014, 11:36    Předmět: Citovat

v r16 a r17 je asi konštanta .500
kód:

.
.
.
;   -----------   jump on last line
L0BCA:
    rcall   L0105
   ldi   r17,k00
   ldi   r16,k00
    rcall   L0118
   ldi   r20,k07
   ldi   r21,k00
    rcall   L0DC6
   cpi   r16,kF5
   ldi   r18,k01
   cpc   r17,r18
    brcs   L0BDA
;   -----      branch on last line
   ldi   r16,kF4
   ldi   r17,k01
   ldi   r20,k07
   ldi   r21,k00
    rcall   L0DD8
L0BDA:
   ldi   r20,k07
.
.
.



hF4
h01

1/-Nájsť v tom Hex súbore ldi r16,kF4 a ldi r17,k01 (treba si to preložiť do strojového kódu tie dve inštrukcie a upraviť konštanty aj s kontrolnými číslami v riadku hex súboru).
2/-Skúsiť preložiť ponúknutý súbor.asm Very Happy
Možno to je ono.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hakamusai



Založen: Apr 17, 2007
Příspěvky: 943

PříspěvekZaslal: st březen 19 2014, 15:27    Předmět: Citovat

FHonza>jaký disassembler na to používáš ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st březen 19 2014, 16:42    Předmět: Citovat

Poměrně starý a dloho neudržovaný ReAVR 3.2 z roku 2005.
tady je ke stažení, původní stránky už dávno nefungují.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hakamusai



Založen: Apr 17, 2007
Příspěvky: 943

PříspěvekZaslal: st březen 19 2014, 18:32    Předmět: Citovat

FHonza>Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kuba230



Založen: Sep 28, 2007
Příspěvky: 68

PříspěvekZaslal: st březen 19 2014, 21:41    Předmět: Citovat

Ahoj procesor,
tak jsem ten hex překonvertoval pomocí progamu Ascii Coded Hex Utility, ale nějak nemůžu najít ty konstanty, asi se v tom neumím dostatečně orintovat. Confused
Jako přílohu, přikládám přeložený soubor, je v notepadu.

Program jsem stáhl z tyhle stránky:
http://www.avrfreaks.net/index.php?func=viewItem&item_id=272&module=Freaks%20Tools

Všem děkuji za pomoc.



avr code - hex.txt
 Komentář:

Stáhnout
 Soubor:  avr code - hex.txt
 Velikost:  35.69 kB
 Staženo:  118 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: čt březen 20 2014, 0:21    Předmět: Citovat

V AVR nie som doma.
Prevod hex do asm nemusí sa dať urobiť na "jeden klik". Nepoznám štuktúru programu a dat toho procesora. Podľa toho hex-u na začiatku sú nejaké textové reťazce, ale v prevode do asm sú tam inštrukcie. Asi by na tom asm sa muselo ešte veľa popracovať.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiriS



Založen: Jan 14, 2014
Příspěvky: 610
Bydliště: Ašsko

PříspěvekZaslal: čt březen 20 2014, 6:53    Předmět: Citovat

Ahoj, trochu jsem se na to mrknul, je to šílený kód. Asi bych začal tím, že bych v asm změnil předefinované registry z označení např. p1E na názvy podle datasheetu (v tomto případě je to EEARH). Potom by to mělo být trochu přehlednější. Protože je informace o počtu zapnutí pravděpodobně uchovávána přímo v MCU, je to v EEPROM. (Kdyby byla ve vnější paměti, musel bys asi hledat v komunikaci s touto pamětí, ale nepředpokládám to.)
No a registry pro zápis a čtení EEPROM (EEARH,EEARL,EEDR a EECR) už podle datasheetu dekóduješ. Horší by bylo, kdyby paměť byla využívaná i na zápis a čtení nějakých dalších hodnot. Dá se ale předpokládat, že po skoku na reset vektor program zřejmě nejdřív přečte a dekrementuje počet zapnutí (po zápisech základních nastavení). Nějaké zápisy adres do EEARL a H jsem našel na labelu L0DCD, ale najít, jestli se jedná o část kódu, který hledáš, je na tobě. Přeju úspěch a trpělivost.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: čt březen 20 2014, 9:33    Předmět: Citovat

A co to zkusit takto: vyčti EEPROM do souboru, poté zařízení zapni. Odečte se počítadlo. Znovu vyčti EEPROM do jiného souboru. Porovnej kam se počítadlo ukládá. Pak by se to dalo najít asi jednoduše.

Případně sem vlož alespoň blokové schéma co je k procesoru na jaké porty připojeno, zas se bude o něco líp orientovat v programu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kuba230



Založen: Sep 28, 2007
Příspěvky: 68

PříspěvekZaslal: čt březen 20 2014, 18:41    Předmět: Citovat

Opravdu je to šílený kód, asi na to kašlu, těch 500 požití, mě stačí na 5 měsíců, pak ho vytáhnu z patice, vymažu flash, eprom a opět nasypu do něj program, tím pádem se všechno vynuluje, zkusil jsem to a funguje to.
Výrobce zaručuje 10000 cyklů přepisů, takže procesor by mě mněl vydržet do konce života. Smile

Děkuji vám kluci za pomoc. Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: pá březen 21 2014, 9:39    Předmět: Citovat

Myslím že by stačilo přepisovat jenom EEPROM obsahem, který si stáhneš z procesoru, když je "nabytý".
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.14 sekund