Programování Atmega

Jirka zaloha na volny.cz
Pátek Prosinec 5 20:51:44 CET 2014


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



Další informace o konferenci Hw-list