Programování Atmega
Pavel Kutina
hw na prelude.cz
Pátek Prosinec 5 22:32:06 CET 2014
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
>
> _______________________________________________
> 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