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