<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>