Skocz do zawartości

Pomocna odpowiedź

Napisano

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

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.

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

To na pewno nie jest kwestia daty wydania biblioteki. Na eclipse miałem podobne komunikaty, a na iar żadnych przy tym samym programie 😋

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...