AnsweredAssumed Answered

Motor control SDK 5.1.0 and SW4STM32 not compiling

Question asked by Wouter Klop on Jun 8, 2018
Latest reply on Jun 10, 2018 by Wouter Klop

Hi all,

 

I'm trying to get started with the Motor Control SDK 5.1.0, after viewing the webinar. Hardware is a Nucleo F302R8, Nucleo-IHM07M1 (in 3 shunt configuration), and the bullrunning 1700 kV motor. The motor profiler runs, although I couldn't get it working (it doesn't give stable rotation). That's ok for now, as it indicates the HW/SW platform is in working condition.

The steps taken are as follows:

- Use MCSDK 5.1.0 with the hardware mentioned above, to generate an .ioc file. For code generation, SW4STM32 is selected.

- Open the .ioc file in STM32CubeMX 4.26.0

- Generate code, and click "open project", which opens SW4STM32

- Build the project in SW4STM32. The building runs quite far, until the following error is thrown:

 

Building target: motorTestC.elf
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F302R8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "motorTestC.elf" @"objects.list" -lm
Application/User/mc_tasks.o: In function `MCboot':
C:/PATH/motorTestC/Src/mc_tasks.c:184: undefined reference to `STO_PLL_Init'
C:/PATH/motorTestC/Src/mc_tasks.c:188: undefined reference to `RUC_Init'
Application/User/mc_tasks.o: In function `TSK_MediumFrequencyTaskM1':
C:/PATH/motorTestC/Src/mc_tasks.c:308: undefined reference to `STO_PLL_CalcAvrgMecSpeed01Hz'
C:/PATH/motorTestC/Src/mc_tasks.c:337: undefined reference to `RUC_Clear'
C:/PATH/motorTestC/Src/mc_tasks.c:339: undefined reference to `STO_PLL_Clear'
C:/PATH/motorTestC/Src/mc_tasks.c:353: undefined reference to `RUC_Exec'
C:/PATH/motorTestC/Src/mc_tasks.c:367: undefined reference to `STO_PLL_IsObserverConverged'
Application/User/mc_tasks.o: In function `TSK_HighFrequencyTask':
C:/PATH/motorTestC/Src/mc_tasks.c:647: undefined reference to `RUC_FirstAccelerationStageReached'
C:/PATH/motorTestC/Src/mc_tasks.c:650: undefined reference to `STO_PLL_CalcElAngle'
C:/PATH/motorTestC/Src/mc_tasks.c:651: undefined reference to `STO_PLL_CalcAvrgElSpeedDpp'
C:/PATH/motorTestC/Src/mc_tasks.c:654: undefined reference to `STO_ResetPLL'
Application/User/user_interface.o: In function `UI_SetReg':
C:/PATH/motorTestC/Src/user_interface.c:270: undefined reference to `STO_PLL_GetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:271: undefined reference to `STO_PLL_SetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:290: undefined reference to `STO_PLL_GetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:291: undefined reference to `STO_PLL_SetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:310: undefined reference to `STO_GetPLLGains'
C:/PATH/motorTestC/Src/user_interface.c:311: undefined reference to `STO_SetPLLGains'
C:/PATH/motorTestC/Src/user_interface.c:331: undefined reference to `STO_GetPLLGains'
C:/PATH/motorTestC/Src/user_interface.c:332: undefined reference to `STO_SetPLLGains'
Application/User/user_interface.o: In function `UI_GetReg':
C:/PATH/motorTestC/Src/user_interface.c:591: undefined reference to `RUC_GetNumberOfPhases'
C:/PATH/motorTestC/Src/user_interface.c:520: undefined reference to `STO_GetPLLGains'
C:/PATH/motorTestC/Src/user_interface.c:500: undefined reference to `STO_PLL_GetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:480: undefined reference to `STO_PLL_GetObserverGains'
C:/PATH/motorTestC/Src/user_interface.c:540: undefined reference to `STO_GetPLLGains'
C:/PATH/motorTestC/Src/user_interface.c:694: undefined reference to `STO_PLL_GetEstimatedCurrent'
C:/PATH/motorTestC/Src/user_interface.c:800: undefined reference to `STO_PLL_GetEstimatedBemfLevel'
C:/PATH/motorTestC/Src/user_interface.c:818: undefined reference to `STO_PLL_GetObservedBemfLevel'
C:/PATH/motorTestC/Src/user_interface.c:748: undefined reference to `STO_PLL_GetEstimatedBemf'
C:/PATH/motorTestC/Src/user_interface.c:730: undefined reference to `STO_PLL_GetEstimatedBemf'
C:/PATH/motorTestC/Src/user_interface.c:712: undefined reference to `STO_PLL_GetEstimatedCurrent'
Application/User/user_interface.o: In function `UI_GetRevupData':
C:/PATH/motorTestC/Src/user_interface.c:1005: undefined reference to `RUC_GetPhaseDurationms'
C:/PATH/motorTestC/Src/user_interface.c:1006: undefined reference to `RUC_GetPhaseFinalMecSpeed01Hz'
C:/PATH/motorTestC/Src/user_interface.c:1007: undefined reference to `RUC_GetPhaseFinalTorque'
Application/User/user_interface.o: In function `UI_SetRevupData':
C:/PATH/motorTestC/Src/user_interface.c:1032: undefined reference to `RUC_SetPhaseDurationms'
C:/PATH/motorTestC/Src/user_interface.c:1033: undefined reference to `RUC_SetPhaseFinalMecSpeed01Hz'
C:/PATH/motorTestC/Src/user_interface.c:1034: undefined reference to `RUC_SetPhaseFinalTorque'
Application/User/mc_config.o:(.data+0x2d4): undefined reference to `STO_PLL_ForceConvergency1'
Application/User/mc_config.o:(.data+0x2d8): undefined reference to `STO_PLL_ForceConvergency2'
Application/User/mc_config.o:(.data+0x2dc): undefined reference to `STO_OTF_ResetPLL'
Application/User/mc_config.o:(.data+0x2e0): undefined reference to `STO_PLL_IsVarianceTight'
collect2.exe: error: ld returned 1 exit status
makefile:37: recipe for target 'motorTestC.elf' failed
make: *** [motorTestC.elf] Error 1

 

Can anyone explain why this happens, and how it can be solved? Thanks a lot in advance! In case additional input is needed, feel free to ask.

Outcomes