Úprava programovacího scriptu AVRDude

Dobrý den,
chci se zeptat zda někdo neřešil podobný problém.

Do procesoru AtMega8 jsem naprogramoval bootloader dle AppNote AVR911 pro programování přes UART. Bootloader jsem nakonfiguroval tak, aby po resetu procesoru čekal 1s na přichod inicializačního znaku přes UART (tj. znaku, po kterém procesor vstoupí do programovacího režimu).
Abych nemusel procesor resetovat ručně, tak jsem si naprogramoval rutinu, která po přijetí jistého řetězce přes UART procesor zrestartuje.

Vše víše uvedené funguje bez problému.

Používám IDE Eclipse + AVR plugin + WinAVR (AVRDude).
Potřeboval bych, aby po stisku tlačítka pro nahrání programu eclipse (nebo AVRDude) poslal na UART ten resetovaci řetězec (reset Megy8) a poté aby se spustil AVRDude, který sám odešle inicializační znak pro aktivaci bootloaderu a začne programovat.
Bohužel jsem zatím nenašel žádné řešení tohoto problému.

Děkuji za odpověď

Nevim jak v Eclipse, ja pouzivam Code::Blocks (kam se na nej Eclipse hrabe :stuck_out_tongue: ), tam bych si udelal tool, ktery by spoustel bat soubor, ve kterem by bylo neco jako “copy data.bin com1” nebo “type data.bin > com1” a v tom souboru data.bin by byly data, ktery potrebujes poslat a pak v tom bataku spusteni avrdude.

Ne ze bych nad tím nepřemýšlel, bohužel moc nevím jak na to.
Ale to bych si již někde našel.

Při editaci toho AVRDude scriptu bych právě obešel vytváření jakékoli další utility a poté by to pro mě byla stejná obsluha Eclipse jako doposud. (nemusel bych mačkat jiná tlačitka či něco externě nastavovat)

Tak to ti neporadim, avrdude nepouzivam.

A co používáš za OS?

OS: Win7

Snazil sem se najit zdrojove kody k WinAVR (AVRDude) ale delal sem to v noci a nic nenasel.

Protože i sám skript pro AvR911 posílá na UART ten inicializacni znak pro vstu do toho BootLoaderu takze by stacilo pred to doplint jeden radek.

Tak jsem to nakonec vyřešil sám.
Popíšu zde postup, aby ti, co toto budou řešit nemuseli strávit tolik bezesných nocí jako já.

Postup je určen pro lidi, kteří neovládají linux, takže znalejším to přijde třeba jednoduché až primitivní. Mě najít správný a fungující postup zabralo několik dní.

  1. Stáhneme si zdrojové kódy AVRDUDE
    (tyto jsem použil já: uloz.to/9552277/avrdude-5-10-orig-tar-gz )

  2. Nainstalujeme dle návodu MinGW
    (návod: tomeko.net/other/avrdude/building_avrdude.php )

  3. Kompilaci provedeme podle návodu

  4. Vytvořeným averdude.exe přepíšeme ten samý soubor ve WinAVR

  5. Programovat, jak jste byli zvyklí :smiley:

Před kompilací lze upravit zdrojové soubory (v mém případě butterfly.c) a dopsat si potřebné příkazy do programovacích scriptů kteréhokoli programátoru.

:arrow_right: administrator: přiloženy externí soubory
Změna typu archívu souboru.
avrdude-5-10-orig-tar.zip (528 KB)