Programování Atmega

Jirka zaloha na volny.cz
Pátek Prosinec 5 22:44:35 CET 2014


Ano, eXtreme Burner jsem měl a letem světem zkoušel jakožto jednoho z 
kandidátů, když jsem před časem potřeboval "na klíč" vyřešit nějaké GUI 
pro AVRdude a USBasp.

Jinak jako vlastník Presta a UP znova prohlašuju, že na opakované 
jednoúčelové programování Atmega není nad USBasp a příkazový řádek, ev. 
zastoupený ikonou na ploše.

Ukázka úsporného nadplatformního řešení...

--
Jirka



> Ale tak ano, ja si taky radeji fousy nekam naklikam, nez abych je
> pocital, ale jak jsem rikal, obcas clovek neni panem kodu, ktery pouziva :)
>
> Za to, ze to jde prepnout (a nakonec, jestli jsem to pochopil spravne,
> velmi jednoduse jen poklikanim do toho konfiguracniho okna) odvolavam,
> co jsem odvolal a slibuji, co jsem slibil - tedy tu vyhradu k GUI. Ja
> Presto mel v ruce jen parkrat, nakonec jsem na nem vzdycky vypalil, co
> jsem potreboval a nezdalo se mi to nijak spatne (a uz vubec ne vzhledem
> k univerzalnosti programatoru), akorat to na par mistech chtelo pouzivat
> driv hlavu nez mys :) Jinak pouzivam pracovne Beeprog (tam to chce tu
> hlavu taky a ne malo) a soukrome hrst jednoucelovych (resp.
> "jednorodinnych") programatoru.
>
> Jo a kdyz byla rec o AVR a avrdude - kdyz chci klikacku pro USBasp,
> pouzivam eXtreme Burner
> (http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/).
> Docela prijemny kus SW pro Win i Linux, daji se doeditovat definice MCU
> jednoduse v jednom .xml, co vic chtit (a ty fousy ma naopak defaultne
> hexa a da se rozkliknout, co znamenaji, taky moznost).
>
> Pavel Kutina
>
>
>
> Dne 5.12.2014 21:32, Jirka napsal(a):
>> Ale ono to jde:
>>
>> http://www.jpeg.cz/images/2014/12/05/CnF2.png
>>
>> http://www.jpeg.cz/images/2014/12/05/9xNB.png
>>
>> Jen já prostě nejsem hex ani jiný podobný masochista.
>>
>> Analogový a "diskrétně digitální" klasik je rád, když mu čas od času
>> nějaký procesor funguje a hlavně, že pochopil alespoň základní myšlenky
>> programátora...
>>
>> --
>> Jirka
>>
>>> 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



Další informace o konferenci Hw-list