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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.