ST Motor Control Firmware Library unter Coocox

das sind vorkompilierte Sourcen speziell als IAR-Projekt. Wenn du es 
hinbekommst hätte ich auch Interesse :-).
Ich habe das mal mit Keil versucht und nicht hinbekommen. Reine C-Daten 
gibt STM leider nicht raus. (Stand mitte 2013)

Greez Ert
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??? :-(
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

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.