Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32]Semihosting initialise_monitor_handles gdzie znajdę deklarację funkcji?

toch88 21 Lip 2017 19:43 882 4
  • #1 21 Lip 2017 19:43
    toch88
    Poziom 10  

    Cześć

    Wiem że temat jest delikatnie mówiąc już nie świeży, ale pomimo postów które znalazłem w internecie nie mogę do tego dojść samodzielnie.

    Korzystam z Semihostingu na uC STM32F411 płytka Discovery, programowana przez ST-Link.

    Semihosting udało mi się uruchomić:
    Flagi w Properties->C/C++ Build->Settings->MCU G++ Linker -> Miscellaneous : Linker flags: --specs=rdimon.specs --specs=nosys.specs
    oraz Debuger Configuration:
    ->startup: monitor arm semihosting enable

    Prostacki program:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Program poprawnie wysyła printfy w consoli oraz miga diodą na porcie GPIOD12.

    Moje pytanie: Skąd linker bądź kompilator "bierze" tę funkcję ? void initialise_monitor_handles(void); Jeżeli ją zakomentuje to w konsoli nic się nie pojawia. Normalnie w eclipsie jest możliwość "przejścia" do funkcji CTRL+kliknięcie na nazwie funkcji - w przypadku tej funkcji nic się takiego nie dzieje.
    Z tego co mi się wydaje powinna być w syscalls.c.

    0 4
  • #2 23 Lip 2017 20:21
    toch88
    Poziom 10  

    W pliku output.map znalazłem referencje do tej funkcji
    c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.13.3.201707031232/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/rdimon-crt0.o (initialise_monitor_handles)

    jednakże samej funkcji brak ;/

    0
  • #3 23 Lip 2017 20:41
    tadzik85
    Poziom 38  

    Po kiego grzyba ci ta funkcja? A brak to co najwyżej jej źródeł.

    0
  • #4 24 Lip 2017 12:27
    toch88
    Poziom 10  

    Dokładnie źródła funkcji, z ciekawości nie lubię jak coś "magicznie" się dzieje.

    0