<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">V .map souboru by melo byt
videt, ktere knihovny jsou prilinkovane. Podle me by mely byt
vsechny pro stejnou architekturu (ARMv7-M nebo ARMv7E-M), pak by
tedy mely obsahovat vzdy pouze Thumb instrukce. Ted jsem se dival
do jednoho ze svych projekyu pro STM32F4xx a vsechny standardni
funkce jsou prilinkovane z knihoven v adresari armv7e-m...<br>
<br>
Hynek Sladky<br>
<br>
<br>
</font>
<div class="moz-cite-prefix">Dne 27.3.2017 11:28, Josef Štengl
napsal(a):<br>
</div>
<blockquote
cite="mid:09c249c9-93fc-9cd0-001b-46a117048e3a@nagano.cz"
type="cite">Ahoj,
<br>
vytvářím nový projekt pro Cortex-m4 (trošku mě překvapilo, že
oproti cortex-a/r je to prakticky jiný procesor) pomocí
STM32CubeMX + gcc (tahle kombinace poprvé, jak procesor tak
překladač, tak se s tím zatím peru :-). No a drhne to na fci
volání __libc_init_array, ve které se to zadrhne. Co jsem se
dočetl, tak se většinou pro C komentuje. To sice také funguje, ale
nechápal jsem proč to nejde a bloudí a co dělá (jsem někdy
nemístně zvědavý).
<br>
V asm výpisu (LST file) jsem zjistil, že kód je místo THUMB ARM.
ARM ten procesor dle dokumentace neumí a nemám tušení jak se to
interpretuje.
<br>
<br>
Procesor je STM32F329 (bude pak 405)
<br>
<br>
Nemá někdo tušení, jak přesvědčit kompilátor/linker aby přidával
svůj kus kódu ve správných instrukcích (THUMB only)?
<br>
<br>
Našel jsem zmíňku o výpis možných knihoven pro překladač, ale už
jsem nenašel jak s touto informací naložit.
<br>
Buď to nikdo neřeší, nebo něco přehlížím.
<br>
<br>
#arm-none-eabi-gcc --print-multi-lib <br>
<br>
.;
<br>
thumb;@mthumb
<br>
fpu;@mfloat-abi=hard
<br>
armv6-m;@mthumb@march=armv6s-m
<br>
armv7-m;@mthumb@march=armv7-m
<br>
armv7e-m;@mthumb@march=armv7e-m
<br>
armv7-ar/thumb;@mthumb@march=armv7
<br>
armv7e-m/softfp;@mthumb@march=armv7e-m@mfloat-abi=softfp@mfpu=fpv4-sp-d16
<br>
armv7e-m/fpu;@mthumb@march=armv7e-m@mfloat-abi=hard@mfpu=fpv4-sp-d16
<br>
armv7-ar/thumb/softfp;@mthumb@march=armv7@mfloat-abi=softfp@mfpu=vfpv3-d16
<br>
armv7-ar/thumb/fpu;@mthumb@march=armv7@mfloat-abi=hard@mfpu=vfpv3-d16
<br>
thumb/armv7-ar/fpu/vfpv3-d16/be;@mthumb@march=armv7@mfloat-abi=hard@mfpu=vfpv3-d16@mbig-endian
<br>
<br>
<br>
Překlad:
<br>
arm-none-eabi-gcc -MT obj/usart.o -MMD -MP -mthumb -mlittle-endian
-mcpu=cortex-m4 -mfpu=vfpv4-d16 -DSTM32F4 -DSTM32F429xx
-DUSE_STDPERIPH_DRIVER -DVECT_TAB_SRAM ...
<br>
<br>
Linkování:
<br>
arm-none-eabi-gcc -mthumb -mlittle-endian -mcpu=cortex-m4
-mfpu=vfpv4-d16
-Wl,--gc-sections,-Map=SmartAtFire_SCU-cortex-m4_debug.map,--cref
...
<br>
<br>
<br>
Díky za každé nakopnutí.
<br>
ced
<br>
_______________________________________________
<br>
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<br>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
<br>
<br>
</blockquote>
<br>
</body>
</html>