Napečení ATtiny85
Moderátor: Moderátoři
Napečení ATtiny85
Mám v IDE doinstalovaný ATtiny85 core, který může měnit nejen Clock ale i fuse.
Pokaždý se mi zahlásí chyba SCK s výpisem že je potřeba SCK 187,5 kHz.
Když napíkám ATmega 328p, tak vše proběhne v pořádku.
Zkoušel jsem napečení ATtiny85 přes USBasp z BAScom. Ta samý chyba ale v Bascom je možnost SCK nastavit na 187,5 kHz a níže. Potom už napečení proběhne OK. V nejhorším budu projekty z IDE kopírovat hexy nebo biny do BAScomu, ale je to docela pakárna hledat kam to IDE ukládá.
Netušíte prosím někdo, jestli se někde v Arduino IDE dá nastavit SCK pro USBasp na 187,5 kHz, nebo nevíte jinou fintu jak to rozhejbat?
Díky!
Proč mi nemůže všechno chodit hned ?!!
Tady ty kmitocty rozebiraji pro ATTiny13:
https://www.eevblog.com/forum/microcont ... attiny13a/
A v USBasp pry jde upgradovat firmware, aby tu chybu nehazel:
https://www.youtube.com/watch?v=NDwDCTnSTzg
To video, co jsi dal, je potřeba druhej USBasp. Vypadá to, že to dělá v AVRdue s příkazovým řádkem. Vzhledem k tomu jeho žvatlání mu moc nerozumím a obávám se, že i kdybych použil místo druhýho USBasp UNO jako Arduino ISP, tak to nedám.
Ale naťukl jsi mě na věc, co by to vyřešila, v BAScomu, kterej umí měnit kmitočet SCK, přecvaknout ATtiny85 na 8 MHZ a pak by možná mělo makat i v IDE. Zkusím, díky za tip.
Proč mi nemůže všechno chodit hned ?!!
Divný ale je, že program maká v ATtiny správně jen když se nahraje do Flash buferu BAScomu zkompilovanej soubor ve formátu HEX. Pokud nahraju to samý ve formátu BIN, tak ATtiny nemaká.
Bohužel, ta moje doměnka, že pokud nastavím v BAScomu v ATtiny interní oscilátor 8 MHz, že potom půjde programovat ATtiny přes USBasp přímo v Aeduino IDE byla lichá, stále to řve že chce SCK 178,5 kHz. Zajímavý ovšem je, že v BAScomu pokud zvolím SCK "automat", tak to s 8 MHz oscilátorem v ATtiny chodí. Pokud ho vrátím na 1MHz tak přestane. Pavěda...
Proč mi nemůže všechno chodit hned ?!!
To pečení mě už chodí na všem. Doporučovanej driver od Zaziga je na W7/32 i W7/64 nepoužitelnej, chce to originál od autora USBasp.
Proč mi nemůže všechno chodit hned ?!!
Tady je jednoduchej sketch, kde si je v Arduino IDE můžeš vyčíst přímo z brouka, a tady jsou vysvětlivky. Na Tině to bude možná malinko odlišný, ale definice najdeš v datasheetu té Tiny (strana 148, a dej pozor na to, že 0 = NASTAVENÁ fuse; clock sources na straně 25) a v hlavičkových souborech přímo ve složce toho prostředí (../hardware/tools/avr/avr/include/avr/iotn85.h)
Pokud to nějaké prostředí (IDE, obslužý program k programátoru atd.) umí, tak je to nestandardní a ryze proprietární záležitost a umí to zpracovat zase jen tentýž sw. Někdy se to ukládá jako projekt (třeba u Asixu a jistě i mnohde jinde), kde pojistky jsou uloženy jako samostatný soubor.
kdo ne - hledá důvod.
Ze dvou možností často volím tu třetí.
Jen tak ze srandy jsem si nechal převýst v Xeltecu stejnej projekt z HEX bez Bootloaderu na BIN a porovnal ho s BINem, co vypadnul přímo z AVRdude. A světe div se, oba BINy byly naprosto stejný. Předpokládám, že pokud by HEX soubor obsahoval něco navíc, tak by musely být BINy rozdílný.
Proč mi nemůže všechno chodit hned ?!!
v Bascomu se LB, FS, FSH, FSE nahrávají samostatně ihned
Ano, můžeš ručně přímo změnit fuse z Bascomu, změníš, zapíšeš do procesoru. Pokud chceš pro každý program/procesor jiné nastavení automaticky, použij na začátku programu direktivu $prog. Nejjednoduššeji ji vytvoříš tak, že ručně zapíšeš fuses do procesoru na kartě "lock a fuse bity" v okně programátoru a klikneš na poslední volbu "write prg", tím se ti na pozici kurzoru v programu vypíše nový řádek "$prog a 4x hex hodnota", tímto řádkem se při každém programování pojistky nastaví.
Bascom pro programování generuje soubory bin, hex, eep (eeprom) a prg (fuses) + další pomocné soubory (obj pro AVR studio, report, error ...), fuses jsou v samostatném souboru a nejsou součástí hex, koukni do adresáře po překladu.
Kanda.com/