Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: po březen 06 2023, 8:20 Předmět: Napečení ATtiny85
Nedaří se mi v Arduino IDE napíct přes USBasp programátor čip 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! _________________ Jirka
Založen: Jun 04, 2016 Příspěvky: 616 Bydliště: Brno
Zaslal: út březen 07 2023, 0:06 Předmět:
Tohle souvisi s tim, ze kmitocet SCK musi byt treba 8x mensi nez je kmitocet jadra. U techto malych procesoru byva kmitocet jadra od vyroby jen 1 MHz, takze SCK vychazi pomerne nizky a programovani trva dlouho. Pri masove vyrobe je na to trik, ze pomoci fuses se kmitocet jadra zvedne treba na 8 MHz, nahrnou se data do Flash a fuses se zase vrati zpatky. Treba bys to mohl pouzit jako workaround.
Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: út březen 07 2023, 8:58 Předmět:
Jo, někde jsem četl, že čínský klony USBasp mají proti Fischlově originálu automatickou volbu SCK, která nefunguje jak má a je potřeba napíct origo FW od Fischla.
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. _________________ Jirka
Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: út březen 07 2023, 18:36 Předmět:
Vyzkoušel jsem v BAScomu napíct do ATtiny85 obligátní Blink s Interním oscilátorem 8 MHz. Prolezlo to bez chyb ale oscilem se na noze nic nedělo. Tedy dělo, ale z jedný sekundy jich bylo osm. Zkusil jsem vypnout předděličku osmi a už to jede stejně rychle jako ATmega 328p.
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... _________________ Jirka
Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: pá březen 31 2023, 19:26 Předmět:
Neobsahuje. V Bascomu i v AVRdude, což je podkladek pod Arduino IDE se pečou fuse a lock zvlášť od flash, případně eeprom. Záleží co si nastavíš, jestli to udělá po pečení flash nebo ne.
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. _________________ Jirka
Obsahuje, resp. záleží jak si to nastavíš, ale obecně jo. I v Arduino IDE, když dáš Projekt - Export kompilovaného bináru, tak ti to do složky s projektem vygeneruje dva HEX soubory, jeden s bootloaderem a jeden bez, a tam si to můžeš prohlídnout.
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)
Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: so duben 01 2023, 8:43 Předmět:
Hmm, tak proč teda v Bascomu se LB, FS, FSH, FSE nahrávají samostatně ihned jakmile ji změníš? Write PRG se dělá samostatně a nic na nich nezmění, nebo jsem si dosud nevšiml. _________________ Jirka
Špatně to chápeš, to jestli je to prostředí umí zapsat přímo z menu nijak nesouvisí s tím, jestli jsou fuses v HEX zrovna momentálně uloženy nebo ne, to platí obecně a závisí to na konfiguraci prostředí (hlavně co se týče překladu). Fuses prostě v HEX být můžou i nemusí. Bascom neznám, ale jestli to v něm nejde nastavit, tak jen proto, že si s tím autor nedal tu práci.
V prostém *.hex (univerzálním pro všechny způsoby použití) obsahujícím program pro Atmel pojistky nikdy nejsou (na rozdíl třeba od PICu).
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 chce, hledá způsob;
kdo ne - hledá důvod.
Založen: Apr 02, 2011 Příspěvky: 18314 Bydliště: Nový Bydžov
Zaslal: ne duben 02 2023, 0:23 Předmět:
Tak to by mě teda zajímalo, kdo z Vás dvou má pravdu.
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ý. _________________ Jirka
Založen: Sep 28, 2005 Příspěvky: 1342 Bydliště: ZČ + JM
Zaslal: ne duben 02 2023, 8:20 Předmět:
citace:
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. _________________ Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.