Stránka 2 z 2
Napsal: 06 bře 2016, 20:08
od FHonza
Ale celou dobu se bavíme o bootloaderu, tj o bitech BOOTSZx a BOOTRST ( Boot Reset vector Enabled) o BOD (Brown-out detection) nepadlo ani slovo. A na funkci bootloaderu to vliv nemá.
Napsal: 06 bře 2016, 20:13
od lesana87
Netvrdila jsem nic o vlivu na bootloader, jen říkám, že jsou nevhodně nastavené fuse bity.

Napsal: 06 bře 2016, 20:41
od FHonza
Máš pravdu, bez BOD by dle doporučení měla být nastavená prodleva po resetu. Byl jsem "zaseklej" na tom bootloaderu

Mimochodem Arduino to má v instalaci tím pádem jinak než je doporučeno.
Takže, ještě zkus nastavit L: 0xFF H:0xCA (i v boards.txt)
Jestli je to tím, tak celý měsíc, každé ráno, zarecituju oslavné verše na Lesanu
Edit: omlouvám se za překlep ve jménu.
Napsal: 06 bře 2016, 20:47
od lesana87
Tím to zadrhávání asi nebude, ale je dobré v tom mít pořádek a držet se doporučení výrobce.
A jsem z lesa, ne z lase.

Napsal: 11 bře 2016, 06:17
od Dan555
Díky za rady, zkusím to a dám vědět.
Napsal: 11 bře 2016, 18:31
od Dan555
FHonza píše:Máš pravdu, bez BOD by dle doporučení měla být nastavená prodleva po resetu. Byl jsem "zaseklej" na tom bootloaderu

Mimochodem Arduino to má v instalaci tím pádem jinak než je doporučeno.
Takže, ještě zkus nastavit L: 0xFF H:0xCA (i v boards.txt)
Jestli je to tím, tak celý měsíc, každé ráno, zarecituju oslavné verše na Lesanu

Edit: omlouvám se za překlep ve jménu.
Recitace nebude.

Bootloader je i nadále šíleně líný. Naslouchá UARTu mnoho zbytečně dlouhých sekund a po nahrání (mimochodem viditelně pomalém) mu další dlouhé sekundy trvá, než se zresetuje a spustí program. Ten ale pak ovšem sviští obvyklým způsobem a i časování v programu souhlasí, takže potíž je výhradně s bootloaderem. Něco je ohledně něj špatně, akorát nevím co... Mám různé vývojové desky, všechny s 16MHz krystalem. Nemůže být přeci jen problém s časováním? Není bootloader určený pro jinou pracovní frekvenci? Třeba vnitřních 1MHz či 8MHz? Nerozumím také tomu, co znamená "start up time: 16k CK + 64ms", když se podívám na nastavení pojistek. Vám finguje bootloader atmegy8 stejně rychle jako atmegy328?
Napsal: 12 bře 2016, 21:02
od FHonza
Napiš prosím jakou máš verzi IDE a přidej sem tu část board.txt, kde máš definovanou tu desku s atmega8.
K tomu času viz dva obrázky. Těch 64ms je čas Tout
Napsal: 13 bře 2016, 04:41
od Dan555
FHonza píše:Napiš prosím jakou máš verzi IDE a přidej sem tu část board.txt, kde máš definovanou tu desku s atmega8.
K tomu času viz dva obrázky. Těch 64ms je čas Tout
Jdu si obrázky nastudovat, ale něco mi říká, že tohle by mohl být možná důvod, proč programátor nemůže přes UART provést reset a při nahrávání ho musím provádět ručně (zatímco s atmega328 to funguje). Viz. obrázek. Zkoušel jsem zkratovat i kondenzátor 100n na DTR, výsledek stejný. Programátor prostě reset nedokáže s atmega8 provést.
Verzi IDE mám 1.6.5 i 1.6.7, v obou je to stejné.
## Arduino NG or older w/ ATmega8
## ------------------------------
atmegang.menu.cpu.atmega8=ATmega8
atmegang.menu.cpu.atmega8.upload.maximum_size=7168
atmegang.menu.cpu.atmega8.upload.maximum_data_size=1024
atmegang.menu.cpu.atmega8.bootloader.low_fuses=0xdf
atmegang.menu.cpu.atmega8.bootloader.high_fuses=0xca
atmegang.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
atmegang.menu.cpu.atmega8.build.mcu=atmega8
Napsal: 13 bře 2016, 21:17
od FHonza
V tom boards.txt je ještě společná část kousek nad tvojí ukázkou. Měla by být takto (resp. tak jí mám já a funguje to):
Kód: Vybrat vše
atmegang.name=Arduino NG or older
atmegang.upload.tool=avrdude
atmegang.upload.protocol=arduino
atmegang.upload.speed=19200
atmegang.bootloader.tool=avrdude
atmegang.bootloader.unlock_bits=0x3F
atmegang.bootloader.lock_bits=0x0F
atmegang.build.mcu=atmegang
atmegang.build.f_cpu=16000000L
atmegang.build.board=AVR_NG
atmegang.build.core=arduino
atmegang.build.variant=standard
Ale stejně si myslím že to tím nebude

Napsal: 13 bře 2016, 21:45
od mtajovsky
Mě to trápení se sériovým uploadem připadá jako zbytečný masochismus. Stačí si pořídit
tohle a
tohle a je za stovku vystaráno. Mám to vyzkoušené právě s ATMega8. USBasp doporučuji opatřit s připravenou propojkou JP2, aby šel flashnout novější firmware, který nedělá problémy s nastavováním hodinového kmitočtu při programování. K tomu ještě nainstalovat např. programovací SW Khazama.
Z IDE se pak volí upload přes programátor - Ctrl+Shift+U.
Napsal: 13 bře 2016, 22:07
od FHonza
To sem psal jako svůj první příspěvek. Pod tím je odpověď proč místo ISP chce tazatel použít bootloader.
Napsal: 13 bře 2016, 22:33
od mtajovsky
No vím, ale ty důvody se mi zdají slabé, zvlášť když jsou s tím takové potíže. Ono vyvést 3 piny pro bootloader nebo 4 piny pro ISP už není takový rozdíl.
Napsal: 14 bře 2016, 17:33
od Dan555
mtajovsky píše:No vím, ale ty důvody se mi zdají slabé, zvlášť když jsou s tím takové potíže. Ono vyvést 3 piny pro bootloader nebo 4 piny pro ISP už není takový rozdíl.
Výše uvedenými čínskými udělátky jsem si zpočátku prošel též. Jsou to skvělí pomocníci a lze s nimi tyhle obtíže úplně obejít. Ale já už se nyní neptám jak to udělat, ale proč to tak či onak (ne)funguje. To proto, že skrze SPI či paralelním programováním (tím mažu pojistky) mám obvody od attiny13 po atmega328 zvládnuté. Teď bych rád porozuměl ještě i bootloaderům.
Napsal: 14 bře 2016, 18:42
od Dan555
Jeejda píše:Pak ti asi nezbyde než podívat se do
zdrojáků bootloaderu, jen tak se přesně dozvíš jak to v něm funguje a případně si ho můžeš upravit podle sebe... když ti to jinak jde a jen ti vadí prodleva a ruční reset, tak nevím co jiného poradit.
Díky za odkaz, jdu ho studovat.
