Pomoc s Atmega644PA

Zdravim.
Mám novou Atmegu 644PA - PU od Farnellu a nemohu se do ní dostat. Nenačetlo mi to ani FUSE bity. Používám samodomo SPI programátor a Ponyprog, tak nevím jestli to je megou, nebo programátorem. Atmegu16 i 8 v pohodě programuju. Není někdo v okolí Želetavy, kdo by měl nějaký lepší programátor a vyzkoušel by mi tu megu? Jestli to je megou, nebo programátorem?

Ponyprog by měl ATmega644 umět. Co máš za programátor ? Ten STK, co je na stránkách Ponyprogu nebo USBAsp ? Pokud bys měl ten USBAsp, tak zkus použít eXtreme Burner. A pokud máš možnost naprogramovat ATmega8, tak si můžeš USBAsp zkusit postavit. Je to rychlejší, než si ho nechat poslat od Číňana. Viz. fischl.de/usbasp/. Je tam dokonce i ve verzi jednostranné desky. Nebo jsem si navrhnul jednostrannou desku svojí (pro SMD provedení).

Na to USBasp se chystám, protože do budoucna budu potřebovat programovat z noťasu s Win10. Někde jsem se dočetl, že jde dokonce přidat do Atmel studia. Jak jsem psal, mám samodomo programátor. Pár tranzistoru a odporu a funguje to. Když jsem ho dělal, tak jsem myslím vycházel z toho co mají na webu.

Ahoj. Jestli je to ten programátor, co si myslím, že to je, tak je spíš s podivem, že Ti to fungovalo, než to, že Ti to nefunguje. Zkus věnovat trošku času tomu USBAsp. Píšeš, že ATmega8 Ti to programuje, tudíž by pro Tebe neměl být problém si tenhle programátor postavit. V nejhorším případě Ti ho strejda z Číny pošle už za nějakých $1,20. Jen bys musel počítat s tím, že si na něj počkáš (3 týdny až 4 měsíce). Když si ho postavíš, tak Tě vyjde o pár korun dráž, zase se na něm něco přiučíš a za jedno odpoledne ho budeš mít v ruce. Určitě ale nebudeš litovat. Stavěl jsem ho pro kamaráda, který programátor neměl žádný a nemohl si tedy procesor naprogramovat. S eXtreme burnerem šlape jako hodinky.

Tak jsem si konečně postavil ten USBasp. Zkoušel jsem ho i přes eXtreme Burner 1.4.3 na Atmega16 a funguje. Jenže Jsem zjistil, že EB nepodporuje Atmega644PA. Poradíte mi někdo co mám nastavit v chips.xml pro tuhle megu? Koukal jsem do datasheetu, ale nevím si s tím rady. třeba u 324PA i u 164PA mají jiné signatury oproti datasheetu a atd…

Řekl bych, že se nějak moc nesnažil … Koukal jsem do datasheetu i do chips.xml a u 164PA i u 324PA signatury souhlasí s datasheetem. POZOR ! Signatury pro 164A a 324A jsou jiné…

Tady máš sekci pro 644PA do chips.xml (signatura pro 644A je jiná !) :

<CHIP> <NAME>ATmega644PA</NAME> <FLASH>65536</FLASH> <EEPROM>2048</EEPROM> <SIG>0x000A961E</SIG> <PAGE>256</PAGE> <LFUSE>YES</LFUSE> <HFUSE>YES</HFUSE> <EFUSE>YES</EFUSE> <LOCK>YES</LOCK> <CALIB>YES</CALIB> <PLACEMENT>.\Images\Placements\ZIF_DIP_40.bmp</PLACEMENT> </CHIP>

Sekci pro tyhle procesory ve fuselayout.xml bys musel vytvořit, ale pro funkci programátoru to není nutné. Ta je tam proto, abys měl popis jednotlivých bitů a mohl je bezpečněji nastavit. Význam kombinace bitů ale musíš stejně vykoukat z datasheetu.

Příště by to chtělo víc snahy …

Děkuji za odpověď. Teď jsem do na to koukal znovu a uznávám že jsem se asi moc nesnažil :blush: Teď jsem pochopil v jakém tvaru to je zapsané v chips.xml a jak to poskládat z datasheetu. Jen pro upřesnění, to PAGE si musím převést z hodnoty Page size 128 slov z tab. 27-7 na straně 290 (pokud teda máme stejnej datasheet) na Byty, tedy 256 Bytu?

Druhá věc je, že i po přidání dat k 644PA do EB se do procesoru stejně nedostanu. To jí zkouším s krystalem i bez. Když zkusím megu 16, tak v pohodě. Takže asi shledávám 644 mrtvou a nechám jí odejít do křemíkového nebe :cry:

Správně. V datasheetu je page ve wordech, v chips.xml je v bytech. Co se tý ATmega644 týká, tak bych ještě naházel flintu do žita. Zkus ještě USBasp přes PonyProg. Měl by přes něj fungovat taky. Že by byl procesor KO sice není vyloučené, ale je to hodně nepravděpodobné. Teda pokud ho do křemíkového nebe neposlal ten původní programátor. Více posílám v SZ.

Mám pro Tebe ještě jeden tip : Pokud se Ti nějakým záhadným způsobem nastavily hodiny (resp. pojistky) na cokoliv jiného, než IntRC nebo WatchDog oscilátor, pak by stačilo udělat si nějaký multivibrátor (klidně i z 555-ky) s libvolným kmitočtem (ideálně kolem jednotek MHz) a připojit ho na pin XTAL1. Programátor by se s ním rozpovídat. V opačném případě pak už jenom paralelní HV programátor a zkusit přenastavit pojistky podle datasheetu. Pokud je zdroj hodin nastaven na WatchDog oscilátor, nemusí s ním mít software programátoru “dostatek trpělivosti”, protože pokud je naprogramovaná pojistka CKDIV8, pak jede MCU na 16 kHz. Pokud se z nějakého záhadného důvodu kompletně vynulovaly (naprogramovaly) pojistky, pak jsou hodiny nastavené právě na ExtCLK na pinu XTAL1. Pokud by byly všechny nastavené (nenaprogramované), pak jsou hodiny nastavené na LP krystal oscilátor. V tom případě by hodiny na XTAL1 fungovaly také. Jediný průšvih by byl, pokud by bylo zakázané ISP programování. Tahle pojistka sice není přístupná přes ISP a nedá se tudíž ISP sériovým programováním zablokovat, ale pokud je problém právě v pojistkách, tak nevíme, jakým způsobem k nastavení pojistek došlo. Pak by zbývalo opět jen paralelní HV přeprogramování.

P.S.: Pořád ještě optimisticky věřím, že MCU jinak žije.

Sice s Atmegama nedělám, ale už jsem měl tu čest si ji zamknout, jak psal výše Balů. Zkus si postavit doktora :slight_smile:
Třeba tady: mdiy.pl/atmega-fusebit-doctor-hvpp/
Mě to pomohlo s Atmegou 8

Tak jsem včera vzal jinou megu, nasipal do ní oscilátor a zkusil ji připojit jako externí zdroj hodin. Ani to nepomohlo. Přes ten ponyprog s usbasp jsem to nakonec nezkoušel, protože se mi to nějak nepovedlo rozchodit.

Mikop: Jednou jsem si už doktora stavěl na prkénku kvuli pár bloklejm megám. Ale pak jsem ho rozebral. Tenhle vypadá fakt dobře, tak si ho asi taky postavim. Leží mi tu ještě pár nedobytnejch atmeg 16, tak uvidíme

treba investovat a kupit hotovy programator. Ten samo-domo ti ocividne nefunguje ako ma. Staci aj obycajny USBISP z ebayu, a nemoze sa stat ze sa ti atmega sama od seba znicoho nic zamkne a nechce komunikovat.

Šebi, ještě by stálo za to zkusit, jestli si s čipem dokážeš promluvit přes JTAG rozhraní. Měl by přes JTAG jít i naprogramovat (podle datasheetu), ale tohle jsem nikdy nedělal, takže v tomhle směru Ti ani neporadím, jestli k tomu čip potřebuje hodiny. V tomhle Ti tu snad poradí někdo z těch, kteří JTAGem programují. Když do USBasp nasypeš AVR MkII firmware, měl bys z toho dostat JTAG programátor (viz. projectik.eu/index.php/elektrotechnika/microprocesory/item/129-avr-isp-programator-na-usb-ver100), ale nezkoušel jsem to - firmware je na stránce dole (Download attachments).

to xpertvis: USBasp si postavil. Čip mu buď dorazil nefunkční nebo se mu nějak záhadně zablokoval jeho předchozím programátorem. U ATmega644 nejde zakázat RESET, takže tímhle směrem jít nemohl i kdyby chtěl. Jediné, co by mohlo být zablokované je ISP, které ale nejde zablokovat během sériového programování. Zkusil obejít externí hodiny a nic.