USBasp AVR a SW pro autoimport

Pavel Kutina hw na prelude.cz
Středa Červen 27 03:04:29 CEST 2012


Tak nakonec zvítězila cesta nejmenšího odporu, napsal jsem si jednoduchý 
.cmd, který cyklicky testuje, jestli se něco nezměnilo. Z IDE si ho -jednou- 
spustím, jako parametr dostane plné jméno souboru včetně cesty k .HEX, viz:

==============================
@echo off
cls

FC /b %1 %1.old | FIND "FC: Nezji" > nul
IF ERRORLEVEL 1 goto :rozdil

timeout 2 1>nul
goto :end

:rozdil

set PROJECT_DRIVE=%~d1
set PROJECT_PATH=%~d1%~p1
set HEX_FILE=%~n1%~x1

%PROJECT_DRIVE%
cd %PROJECT_PATH%

c:\avrdude\avrdude.exe -c usbasp -p m88p -V -U flash:w:%HEX_FILE%
copy  %1 %1.old 1>nul
timeout 5

:end
call c:\avrdude\avrdude.cmd %1
==================================

Pomoci FC otestuju binarni shodu predchozi kopie s aktualni, ve vysledku 
otestuju, jestli je tam kus hlasky "FC: Nezjisteny rozdily" (na ceskych 
Win).

Pomoci errorlevelu to budto necham chvilku pockat a odeslu na :end, kde 
zavolam rekurzivne tento .cmd s parametrem, pripadne to poslu do sekce k 
vypaleni hex.

AVRdude mne trochu potrapil, netusil jsem, ze jako parametr NEUMI plnou 
cestu, ale jen jmeno toho HEXu, necekany. Takze se pomoci systemovych 
promennych rozlozi cesta z plne na jmeno disku, adresarovou strukturu a 
jmeno souboru, nasledne se prepne na onen disk, odkraci se do adresarove 
struktury a tamodtud se zavola avrdude s prislusnymi parametry pro vypaleni 
HEX.
Pak se zkopiruje aktualni HEX na HEX.old, aby bylo v pristim kole co 
porovnavat a dojde se nakonec, kde se rekurzivne spusti .cmd s parametrem 
(c:\avrdude\avrdude.cmd %1).

Jeste by to chtelo vylepsit o otestovani navratoveho kodu avrdude (jestli 
teda neco vreaci, nevim) a kdyz bude nejaka chybka, tak aby se to toceni 
zastavilo.

Vypada to jako kravina, ale stravil jsem nad tim asi hodinu a pul, nejvic 
zabrat mi dal te rozklad plne cesty na jednotlive segmenty... Kazdopadne 
kdybych tri dny nehledal nejlepsi soft pro programovani, tak uz to mohlo byt 
davno hotove :) Treba to nekomu pomuze.

Pavel Kutina



Další informace o konferenci Hw-list