Skocz do zawartości

stm32 pierwszy program


sorontar

Pomocna odpowiedź

Witam,
napisałem pierwszy program

#include "stm32f10x.h"

int main(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_SetBits(GPIOD, GPIO_Pin_8);

while (1)

{

}

}

przekopiowałem pliki stm32f10s.h, core_cm3.h i resztę do katalogu gdzie znajdował się main.c. Próba kompilacji kończy się błędem:

----------------Build Started: 'main' in configuration 'Standard'--------------------------

Building C:\stm\beep\Source\User\main.c

Running: ARM Compiler

"C:\Program Files (x86)\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F103VCT6_ -D_STM3x_ -D_STM32x_ -mthumb -mcpu=cortex-m3 "C:\stm\beep\Source\User\main.c" -o "C:\stm\beep\Source\User\main.o" -I "." -I "C:\Program Files (x86)\Raisonance\Ride\Lib\ARM\include" -I "C:\stm\beep\Source\User" -c -fsigned-char -g -O1 -ffunction-sections -mlittle-endian

"C:\Program Files (x86)\Raisonance\Ride\Bin\rexrdr.exe" "C:\stm\beep\Source\User\main.lst" 0 "C:\Program Files (x86)\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-objdump.exe" --disassemble -all --source "C:\stm\beep\Source\User\main.o"

"C:\Program Files (x86)\Raisonance\Ride\Bin\rexrdr.exe" "C:\stm\beep\Source\User\main.o.sizetmp" 0 "C:\Program Files (x86)\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-size.exe" "C:\stm\beep\Source\User\main.o"

Building C:\stm\beep\Source\User\main.rapp

Running: LD Linker

"C:\Program Files (x86)\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -mcpu=cortex-m3 -mthumb -Wl,-T -Xlinker "C:\stm\beep\Source\User\main.elf.ld" -u _ start -Wl,-static -Wl,--gc-sections -nostartfiles -Wl,-Map -Xlinker "C:\stm\beep\Source\User\main.map"

C:\stm\beep\Source\User\main.o: In function `main':

C:\stm\beep\Source\User/main.c:7: undefined reference to `RCC_Conf'

C:\stm\beep\Source\User/main.c:9: undefined reference to `RCC_APB2PeriphClockCmd'

C:\stm\beep\Source\User/main.c:14: undefined reference to `GPIO_Init'

C:\stm\beep\Source\User/main.c:19: undefined reference to `GPIO_SetBits'

collect2: ld returned 1 exit status

Build failed

Czy może być to spowodowane niezgodnością bibliotek?

Pozdrawiam

Link do komentarza
Share on other sites

Robisz to w eclipse ??

Proponowałbym ci przesiąść się na IAR. Tam jest łatwiej z Workspace'm 😉

edit

Pozatym wygląda jakby miał problemy z odczytaniem biblioteki.

Link do komentarza
Share on other sites

Korzystam z Ride 7. A bibliotekę czyta moim zdaniem, bo części poleceń się nie czepia.Może być że jest to stara biblioteka?

Ściągam IAR.

Pozdrawiam

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

W RIDE trzeba dodać pliki bibliotek do projektu. Robi sie to z tym okienku po lewej stronie. Bez tego kompilacja nie dobiegnie końca. A ty tego widocznie nie zrobiłeś prawidłowo. Że źle dodałeś biblioteki do projektu świadczą błędy, jakie wyświetliło. Najprościej będzie jak zaczniesz od zapoznania sie z jakimś projektem zbudowanym na tym ide. Poszukaj w folderze z bibliotekami do stmów. Do każdej z nich ST dołącza przykładowe projekty dla RIDE również. Po prostu otwórz go i zobacz, co jest tam w projekcie, a co brakuje u ciebie. Lub po prostu przekopiuj listing ze swojego programu do gotowego projektu. I sprawdź jeszcze czy dobrze podałeś ścieżki do folderu z bibliotekami w linkerze, aby mogła je dołączyć do projektu.

Tu masz przykładowe screeny jak może wyglądać projekt w RIDE:

W ramce masz biblioteki dołączona do projektu.

Tu masz zaznaczone miejsce gdzie podać ścieżki do folderu z bibliotekami.

A poza tym polecam zapoznać sie z plikiem pomocy dołączonym do bibliotek tam jest opisane jak ich używać.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.