Programování Atmega
Kuba Jan
honza.kuba na gmail.com
Pátek Prosinec 5 21:26:10 CET 2014
Na to je někde na webu Atmega FUSES calculator, použil jsem to. ( německy)
Dne 5.12.2014 21:06, Pavel Kutina napsal(a):
> Kdyz koukam na ten screenshot - k dokonalosti tomu jedna podstatna
> drobnost chybi: Moznost zadat pojistky hexadecimalne.
>
> Obcas se stane (mne napriklad u toho AVRtesteru), ze clovek ma cizi
> hex a potrebuje ho dostat do AVR. A zkoumat, jak by asi mohly byt
> pojistky nastaveny a snazit se reverzni analyzou zjistit, co tam
> nastavit, je trochu k vzteku. Jiste, je to edukativni - ale pomale a
> extremne otravne.
>
> Cituji ze stranky AVRtesteru (pro ukazku, jak by to melo vypadat - do
> jinych programatoru to jde napsat primo):
>
> /*
> Nastavení pojistek:
>
> ATmega328:
> Interní RC osc 8MHz - lfuse:0xe2 hfuse:0xd9 efuse:0xfc
> Externí krystal 8MHz - lfuse:0xff hfuse:0xd9 efuse:0xfc
>
> ...
> */
>
> Nez clovek u takovehoto klikatka zjisti, ktera bije, muze to trvat i
> vic nez jeden otraveny vecer... Zvlast, kdyz uz se clovek tesi spis
> na to, jak a co bude se zarizenim delat, nez na to, jak si bude cist
> datasheet toho AVR...
>
>
> Pavel Kutina
>
>
>
> Dne 5.12.2014 20:51, Jirka napsal(a):
>> Ještě k tomu dodám svoje poznatky coby podobného zajíce...
>>
>> 1) PIC si konfiguraci pojistek nese s sebou v *.hex (možná nemusí, ale
>> to nevím přesně, zpravidla tam je).
>>
>> 2) Atmega (Atmely obecně?) toto neumějí a pojistky je vždy nutno
>> nastavovat separátně. Pokud ale nechám ty od výrobce (nebo jiné
>> korektní) a přepisuju jen paměť programu, pak by k zablokování
>> (především přepisem nastavení na externí CLK) dojít nemělo.
>>
>> Asix UP (programátor Presto) to umí hezky vyřešit tak, že lze
>> programovat buď vše najednou, nebo jen program, jen data nebo jen
>> pojistky. Screenshot znázorňující situaci pro ATmega8 je na
>>
>> http://www.jpeg.cz/images/2014/12/05/xri3I.png
>>
>> Kromě toho si UP umí nastavení pojistek pro ATmega samostatně uložit do
>> projektu (nepoužívám).
>>
>> Program AVRdude (který jsi asi použil) má i různé GUI nástavby, ale tak
>> dobře udělané ovládání jako v UP jsem nikde neviděl.
>>
>> Jinak je samozřejmě AVRdude skvělé; v kombinaci USBasp (ten Tvůj
>> třídolarový programátor) a příkazového řádku pro AVRdude je
>> nepřekonatelná láce a jednoduchost...
>>
>> --
>> Jirka
>>
>>> Děkuji všem za kompletní osvětlení problému. Jsem jenom uživatel typu
>>> naleju program a osadím do patice, ale tohle byla na mě pěkná bouda.
>>> Procesor totiž už nešel přečíst, hlásilo to chyby atd... přitom
>>> prázdný(
>>> nový ) šel číst OK.
>>> Jak jsem psal , s PIC tohle neznám, proto jsem se ptal.
>>> Jo člověk je zas o něco málo chytřejší. :-)
>>>
>>> Dne 4.12.2014 8:54, Jan Waclawek napsal(a):
>>>>> Atmega si tedy pøi programování nastaví "fuses" tak, že bez tìch
>>>>> hodin
>>>>> už pak nemùže bejt a proto nedojde k té verifikaci?
>>>> Ano, v tomto ohlade ma AVR programovane beznym (nizkonapatovym) ISP
>>>> samovrazedne sklony. Ale nic to nemeni na fakte, ze clovek ma
>>>> vediet, co
>>>> robi (a trapne citat datasheet).
>>>>
>>>> Podobne ISP-samovrazedne je u niektorych AVR preprogramovanie RESET
>>>> pinu na
>>>> IO. Jedine, ako nejde spachat samovrazdu je preprogramovanie SPI
>>>> bitu vo
>>>> fuses, to si kupodivu strazia.
>>>>
>>>> Ale je tu este iekolko veci, ktore by mali nejakym podobnym
>>>> samovrazdam
>>>> zabranit. Jedna z nich je, ze fuses treba pre jedno zariadenie (kde
>>>> teda
>>>> snad uz vopred viem, ci v nom mam ten suter alebo nie) programovat len
>>>> jeden jediny krat, bo chiperase (t.j. nasledne ladenie atd.) ich
>>>> neovplyvnia. Druha je ta verifikacia.
>>>>
>>>>> Naprogramoval jsem pomocí toho tøídolarového programátoru do USB
>>>>> Atmegu
>>>>> s nastavením osc. na ext. krytal 8MHz.
>>>>> Bohužel neprobìhla verifikace, ta se povede až po pøimojení šutru k
>>>>> procesoru.
>>>> Toto je dalsia vec - hodnoty fuses sa neaplikuju hned, ale len po
>>>> ukonceni
>>>> programovacieho rezimu (alebo power-on resete), t.j. verifikaciu je
>>>> mozne
>>>> urobit este kym je v programovacom rezime a urobit pripadne retrye
>>>> ak sa
>>>> to nepodari naprogramovat spravne. Toto samozrejme musi vediet urobit
>>>> programator (vacsinou teda kombinacia programovacieho adapteru a
>>>> softwaru
>>>> v PC). Obavam sa vsak, ze vo Vasom pripade by to nepomohlo, bo asi
>>>> neslo o
>>>> zle naprogramovane bity ale o zle rozhodnutie uzivatela... ;-)
>>>>
>>>>
>>>> Ako uz bolo napisane, HV programovanie by to vzdy malo zachranit, ale
>>>> nie
>>>> som si isty, ze HV programovanie vedia vsetky AVRka - tie starsie
>>>> urcite.
>>>> A neorientujem sa v modernom jednovyvodovom programovani radov Tiny
>>>> ani
>>>> xMega.
>>>>
>>>> Inak ja mam vzdy poruke "nejaky" relativne pomaly (cca 1MHz)
>>>> oscilator -
>>>> presnejsie, STK500 ma oscilator ako vlastnost - a ak sa mi nieco
>>>> podobne
>>>> stane (resp. sa to stava spekulativnej casti nasich klientov), tak
>>>> jednoducho pripojim oscilator k prislusnej nohe mcu (XTAL1) a nastavim
>>>> prislusne rychlost ISP hodin, prepalim fuses podla potreby, a potom
>>>> uz je
>>>> vsetko dobre... :-)
>>>>
>>>> wek
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list