Forum: Mikrocontroller und Digitale Elektronik ST Motor Control Firmware Library unter Coocox


von Steffen H. (stef_fen)


Lesenswert?

Hallo Zusammen,

hat jemand schonmal die Motor Control Firmware Library von ST unter 
Coocox genutzt? Wenn ja wie funktioniert es und was brauche ich noch 
dazu außer der passenden Hardware?

Gruß Steffen

von Nils P. (ert)


Lesenswert?

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

von Sönke M. (soem)


Lesenswert?

Ich hätte auch Interesse :D Ich habs mit Atollic TrueStudio versucht und 
bin gescheitert :(
Fürs erste könnte man sich jedoch die Demoversion von IAR 
herunterladen...

von Falko J. (spacefrog)


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

von Falko J. (spacefrog)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.