ST Motor Control Firmware Library unter Coocox

#3718160
Lesenswert?

Hallo zusammen,
ich bin auch gerade dabei... kann auch schon ein Projekt kompilieren, 
"nur" das linken funktioniert nicht.

Ich bekomme einen haufen Fehler in der fogenden Art:
1
       [cc] C:\CooCox\CoIDE\workspace\mc_lib\UILibrary\src/UserInterfaceClass.c:438: undefined reference to `FOC_SetIdref'
2
       [cc] C:\CooCox\CoIDE\workspace\mc_lib\UILibrary\src/UserInterfaceClass.c:284: undefined reference to `PID_SetKD'
3
       [cc] C:\CooCox\CoIDE\workspace\mc_lib\UILibrary\src/UserInterfaceClass.c:303: undefined reference to `STO_GetObserverGains'
4
       [cc] C:\CooCox\CoIDE\workspace\mc_lib\UILibrary\src/UserInterfaceClass.c:324: undefined reference to `STO_CR_GetObserverGains'
5
       [cc] C:\CooCox\CoIDE\workspace\mc_lib\UILibrary\src/UserInterfaceClass.c:345: undefined reference to `STO_GetObserverGains'
Ich vermute das die Funktionen in einer der Biblotheksdateien im 
Verzeichniss: ...Project\EWARM\MC Library Compiled\Exe liegen.

Aber wenn ich die in den Linker einstellungen dazu schreibe (für mein 
Projekt müsste es die MC_Library_STM32F303_dual_drive.a sein), gibts die 
Fehlermeldung, das er die datei nicht öffnen kann.

[code]
      [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 
-mfloat-abi=hard -mthumb -Wall -g -nostartfiles -Wl,-Map=blam1.map -Os 
-Wl,--gc-sections -LC:\CooCox\CoIDE\configuration\ProgramData\blam2 
-Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\blam2/arm-gcc-link.ld -g 
-o blam1.elf ..\obj\stm32f30x_opamp.o ..\obj\UITask.o 
..\obj\stm32f30x_rcc.o 
..\obj\USART_F30X_PhysicalLayerCommunication_Class.o 
..\obj\stm32f30x_adc.o ..\obj\UserInterfaceClass.o ..\obj\stm32f30x_it.o 
..\obj\stm32f30x_comp.o ..\obj\stm32f30x_gpio.o ..\obj\main.o 
..\obj\Timebase.o ..\obj\stm32f30x_MC_it.o 
..\obj\system_stm32f30x_temp.o ..\obj\syscalls.o ..\obj\stm32f30x_misc.o 
..\obj\stm32f30x_tim.o ..\obj\startup_stm32f30x.o 
..\obj\FrameCommunicationProtocolClass.o ..\obj\UIIRQHandlerClass.o 
..\obj\stm32f30x_dac.o ..\obj\MotorControlProtocolClass.o 
..\obj\stm32f30x_usart.o ..\obj\PhysicalLayerCommunication_Class.o 
-L..\..\..\..\mc_lib\mc_lib\Debug\bin -lmc_lib -L..\..\..\..\mc_lib 
-lmc_library_stm32f303_dual_drive
       [cc] c:/programme/gnu tools arm embedded/4.8 
2014q2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/bin/ 
ld.exe:  cannot find -lmc_library_stm32f303_dual_drive
[code/]


Kann es sein, das es nicht funktioniert, weil die mit nem anderen 
kompiler erstellt worden ist?
Leider scheinen davon auch nicht die Quellcodes zur verfügung zu stehen, 
richtig??? :-(
#3718324
Lesenswert?

Update:
das linken hat jetzt geklappt... es gibt nur noch eine Warnung:
       [cc] c:/programme/gnu tools arm embedded/4.8 
2014q2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/bin/ 
ld.exe:  warning: 
..\..\..\..\mc_lib\libmc_library_stm32f303_dual_drive.a(IMFF_PMSM_FOCDri 
veClass.o)  uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; 
use of wchar_t values across objects may fail


leider funktioniert es noch nicht richtig. Wenn ich versuche die 
Verbindung über die Motorcontroll Workbench herzustellen, gibt ein 
connection failed. Ich arbeite übrigens mit dem IHM042v1 Eval board.

Jemand eine Idee?
LG
Falko

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren