Cortex-M0 gcc problem
Miroslav Mraz
mraz na seznam.cz
Sobota Březen 30 19:10:27 CET 2013
Gcc je z gcc.gnu.org, vlastní kompilace (parametry v minulém příspěvku),
ty knihovny jsou nějak špatně, na webu jsem našel spoustu nápadů, jak to
zkompilovat, aby to bylo dobře. Jenže se nedozvíte, jak to nakonec
dopadlo. Podstatná informace je ten patch od Yagarto, protože ho máte
vyzkoušený. Pokud byste mi ho poskytl, včetně parametrů kompilace, byl
bych vám nesmírně zauzlován. Ale pokud tam máte zakázán interworking,
asi se na to vykašlu a zůstanu u toho wraperu, co mám. Nebo zkusím
gcc-4.8.0.
Jsem asi nějakej divnej, ale tyhle nástroje si vytvářím sám a nepoužívám
ani ty Eklipsy a Korálová studia, takže mě STM donutili napsat si k tomu
Makefile, ale není to taková hrůza.
To demo co mají v F4 Discovery jsem rozchodil za dnešní odpoledne,
běželo to na první pokus - a to je složitý jako cukrovar. Dokonce i tou
myškou mi to hýbe.
Mrazík
Milan B. píše v So 30. 03. 2013 v 16:56 +0100:
> On 30. 3. 2013 16:12, Miroslav Mraz wrote:
> > Když si o to říkáte, prosím. Domníval jsem se, že je to poměrně známý
> > problém. Takže minimální main.c:
>
> U mna - po skompilovani a zlinkovani, vyzera disassemblovany zaciatok
> prilinkovanej funkcie asi takto (tu adresu si netreba vsimat, mapu som
> neriesil):
>
> 00008020 <__aeabi_idiv>:
> 8020: 2900 cmp r1, #0
> 8022: d041 beq.n 80a8 <.divsi3_skip_div0_test+0x84>
>
> 00008024 <.divsi3_skip_div0_test>:
> 8024: b410 push {r4}
> 8026: 1c04 adds r4, r0, #0
>
> Takze thumb. Kompilovane v 4.7.2 + patch z Yagarto, vlastna kompilacia
> pod Linuxom. Podobny vysledok aj u GCC ARM Embedded.
>
> Problem nevidim ani tak v kompilatore, ako skor v nespravnom vybere
> vhodnej verzie libgcc pri linkovani. Skontrolujte, ci sa pouzije spravna
> multilib kniznica (parameter -v pomoze) - u mna je to kniznica z
> adresara ...../lib/gcc/arm-none-eabi/4.7.2/thumb/v6m , co je pre M0 spravne.
>
> Kompilator pochadza odkial? Vlastna kompilacia? Su vygenerovane spravne
> varianty kniznic?
>
> -m-
Další informace o konferenci Hw-list