.lst na Arduinu pro AVR
David Obdrzalek
David.Obdrzalek na mff.cuni.cz
Pátek Duben 26 08:59:24 CEST 2024
On 21 Apr 2024 at 10:12, Martin Záruba wrote:
> Vím, že to tu někdo psal, ale nemohu to najít, jak získat výpis
> assembleru. Holt mých asi 10 různých assemblerů, které jsem se v životě
> učil mi možná v těch vyšších jazycích chybí.
To vlákno už bylo dost zamotané, tak radši dělám nové.
Jak se dostat k .lst na Arduinu při překladu pro AVR:
Jednak je možné se podívat do výpisu kompilace, tam si najít, kam se vygeneroval
.elf a z něj si nechat udělat .lst, ale to bych udělal tak dvakrát, než by mě to
přestalo bavit. Je ale možné nechat to dělat automaticky: do platform.local.txt jsem
přidal dva řádky:
dump.me=D:\DEV\prog\Arduino\sketches\dumper.bat
recipe.objcopy.userlst.pattern="{dump.me}" "{compiler.path}avr-objdump" -S
"{build.path}/{build.project_name}.elf"
"{build.source.path}/{build.project_name}.lst"
(tady v mailu se ten druhý asi rozláme na víc)
přičemž v prvním řádku mám cestu někam, kde se mi to hodí, a tam mám dumper.bat,
který obsahuje jediný řádek
%1 %2 %3 > %4
Přes ten platform.local.txt je možné udělat si i to, že se po překladu někam uloží
ještě výsledný .hex (program) a .eep (náplň do eeprom). Já si to nechávám uložit do
adresáře toho projektu (není to úplně dobře, v adresáři se zdrojákama by neměly být
přeložené věci):
recipe.objcopy.usereep.pattern="{compiler.path}{compiler.objcopy.cmd}"
{compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags}
"{build.path}/{build.project_name}.elf"
"{build.source.path}/{build.project_name}.eep"
recipe.objcopy.userhex.pattern="{compiler.path}{compiler.elf2hex.cmd}"
{compiler.elf2hex.flags} {compiler.elf2hex.extra_flags}
"{build.path}/{build.project_name}.elf"
"{build.source.path}/{build.project_name}.hex"
Ta šaráda s dumper.bat tam je proto, že avr-objcopy ten .lst normáně vypíše na
výstup, ale já ho chci do souboru, jenže v platform.local.txt neumím udělat to
přesměrování. Takže se zavolá ten batch, který to přesměrovává.
D.O.
Další informace o konferenci Hw-list