.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