Stránka 2 z 2

Re: Ako dostať kód z arduina

Napsal: 07 bře 2019, 18:34
od AstroMiK
Tak beru zpět tvrzení, že po zrušení LOCK bitu se smaže program. Program v paměti zůstane, ale nepůjde zkopírovat.

Takže je to takhle:

Nastavení LOCK bitů je možné zjistit pomocí programu AVRDUDE přes příkazovou řádku, nebo pomocí nějaké grafické nadstavby.
Já používám AVRDUDESS.

Když se procesor připojí přes ISP programátor (třeba USBasp, nebo druhé Arduino) je možné v AVRDUDESS stav LOCK bitů načíst tlačítkem Read, vedle políčka označeného jako LB.
Odemčený, nebo uzamčený procesor se pozná podle kódu vedle nápisu LB po stisku tlačítka Read
Vysvětlení konkrétních kódů je dostupné po stisku tlačítka Bit Selector.

Napřiklad v mém případě kód 0x3F znamená odemčený procesor.

Když je procesor odemčený, je možné jeho obsah zkopírovat do souboru. Na obrázku níže jsem ten soubor nazval "d:\flsh.hex".
Obsah toho souboru je pak možné nahrát do jiného procesoru (místo Read se pak jen musí v AVRDUDESS zaškrtnout Write)
bez locku.gif





Uzamčený procesor má v mém dalším přikladu kód v LB políčku 0x0C.
Když je procesor uzamčený, tak se při pokusu o kopírování dat do souboru data neuloží.
I v případě, že se pokusíš zamknutý procesor odemknout, stejně se data stáhnout nepodaří.
Zkopírování programu z procesoru bude možné až po přehrání paměti novým programem.
s lockem.gif

Prostě jak se jednou program zamkne, tak se nedá stáhnout, dá se jenom přepsat/smazat.

Re: Ako dostať kód z arduina

Napsal: 07 bře 2019, 22:46
od akruh
Děkuji za vysvětlení o výkendu se na to podívám.

Re: Ako dostať kód z arduina

Napsal: 08 bře 2019, 17:50
od akruh
Tak se mi podařilo něco načíst, ale pak se přestal se mnou bavit. Ve sledovacím programu BMS ale jede.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 2 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 3 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 4 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 5 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 6 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 7 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 8 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 9 of 10: not in sync: resp=0x16
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 10 of 10: not in sync: resp=0x16

avrdude.exe done. Thank you.

Obrázek

Re: Ako dostať kód z arduina

Napsal: 08 bře 2019, 18:26
od AstroMiK
To vypadá jako problém programátoru.
Já používám "USBasp".

Našel jsem na internetu, že podobnou závadu řešili už i jinde:
https://www.itnetwork.cz/hardware-pc/di ... 5e9d7a2ffa

Re: Ako dostať kód z arduina

Napsal: 17 bře 2019, 05:52
od Pega
Pro Arduino Uno má být v Avrdudess baud rate 115200.
Pro Arduino nano 57600.