Zaslal: st březen 19 2014, 10:21 Předmět: Editace hex souboru pro Atmega8
Ahoj, má tu někdo zkušenosti se editováním hex souboru pro atmega8 ?
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.
Založen: Nov 20, 2012 Příspěvky: 1453 Bydliště: Praha
Zaslal: st březen 19 2014, 11:08 Předmět:
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í.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: st březen 19 2014, 11:36 Předmět:
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
Možno to je ono.
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.
Jako přílohu, přikládám přeložený soubor, je v notepadu.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: čt březen 20 2014, 0:21 Předmět:
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ť.
Založen: Jan 14, 2014 Příspěvky: 610 Bydliště: Ašsko
Zaslal: čt březen 20 2014, 6:53 Předmět:
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.
Založen: Nov 20, 2012 Příspěvky: 1453 Bydliště: Praha
Zaslal: čt březen 20 2014, 9:33 Předmět:
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.
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.
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
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.