logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak poprawnie dołączyć pliki nagłówkowe CMSIS w projekcie STM32?

squelch 09 Cze 2017 20:54 1431 9
REKLAMA
  • #1 16521350
    squelch
    Poziom 11  
    Posty: 299
    Pomógł: 6
    Ocena: 2
    tak jak w temacie za pomocą cubeMX wygenerowałem sobie projekt dla stm32 po to aby skorzystać z plików nagłówkowych tzn.
    cmsis_gcc.h
    core_cm0.h
    core_cmFunc.h
    core_cmInstr.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    jednak po załączeniu w taki sposób wyskakuje babol i mówi
    fatal error: CMSIS/Include/cmsis_gcc.h: No such file or directory main.c
    jednak pobawiłem się i zmieniłem kolejność o tak
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    i dalej błąd z pierwszą linijką, ja niewiem co jest z tym kompilatorem i dlaczego ciągle i ciągle z uporem maniaka wywala mi błąd w 1 lini
  • REKLAMA
  • Pomocny post
    #2 16521365
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    1. Tych plików nigdy nie dołącza się bezpośrednio - zawsze przez nagłówek danego układu, czyli np. stm32f4xx.h
    2. Masz źle ustawione "include path" w opcjach kompilacji.

    squelch napisał:
    ja niewiem co jest z tym kompilatorem i dlaczego ciągle i ciągle z uporem maniaka wywala mi błąd w 1 lini

    To nie kompilator - to raczej przypadek tak zwanego PEBKAC, więc odrobina autorefleksji by się przydała w tych kwestiach... Z uporem maniaka zgłasza błąd w pierwszej linii bo właśnie tam jest błąd.
  • REKLAMA
  • REKLAMA
  • #4 16521452
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • Pomocny post
    #5 16521462
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    squelch napisał:
    a jeszcze dałbyś jakiegoś linka do skonfigurowania tego include pathsa to bym zobaczył jak to zrobić

    https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/Directory-Options.html#Directory-Options
  • #7 16521585
    Konto nie istnieje
    Konto nie istnieje  
  • #8 16521612
    squelch
    Poziom 11  
    Posty: 299
    Pomógł: 6
    Ocena: 2
    no to przecież pisałem na początku
    Cytat:

    tak jak w temacie za pomocą cubeMX wygenerowałem sobie projekt dla stm32 po to aby skorzystać z plików nagłówkowych tzn.

    Ale problem w tym że nie mogłem załączyć tych plików.

    Poszedłem za wskazówką Freddie Chopin i dołączyłem tylko ten plik
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    No i pokombinowałem to znaczy zrobiłem coś takiego
    Project->Properties->C/C++ General->Paths and Symbols->Includes->Assembly tam dodałem opcją Add następujące foldery
    /_BLINK_LED/Drivers/CMSIS/Device/ST/STM32F0xx/Include
    /_BLINK_LED/Drivers/CMSIS/Include
    /_BLINK_LED/Drivers/STM32F0xx_HAL_Driver/Inc
    /_BLINK_LED/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy

    no i teraz mi się wszystko kompiluje ładnie

    dzięki wielkie
  • #9 16521866
    Konto nie istnieje
    Konto nie istnieje  
  • #10 16522510
    squelch
    Poziom 11  
    Posty: 299
    Pomógł: 6
    Ocena: 2
    kiedy wciskam w open stm Run->Run Configurations i klikam dwa razy a potem na wygenerowaną linię i Run to wyskakuje takie oto ostrzeżenie

    in procedure 'ocd_bouncer'
    ** OpenOCD init failed **
    shutdown command invoked

    oczywiście st-link ładnie wgrywa ale chciałbym mieć większą wygodę

    Dodano po 3 [godziny] 46 [minuty]:

    Piotruś masz rację po co się męczyć jak można zrobić jak mówisz(dołączać zewnętrzne projekty z cubeMx)

Podsumowanie tematu

✨ Użytkownik napotkał problem z dołączeniem plików nagłówkowych CMSIS w projekcie STM32 wygenerowanym przez CubeMX, otrzymując błąd "No such file or directory". Odpowiedzi sugerowały, aby dołączać pliki nagłówkowe przez główny plik nagłówkowy układu, np. stm32f0xx.h, oraz upewnić się, że ścieżki do plików nagłówkowych są poprawnie skonfigurowane w opcjach kompilacji. Użytkownik ostatecznie dodał odpowiednie foldery do "include paths", co rozwiązało problem kompilacji. W dalszej części dyskusji poruszono również kwestie związane z konfiguracją środowiska programistycznego oraz importowaniem projektów.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA