Trying for 2_Images_UserApp with STM32WL55 Nucleo-64 but seems I'm not able to link the User App for CM0+ core.
The linker is specifying that several symbols have been already defined elsewere.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-11 4:42 AM
Further investigating I see that the problem seems related to symbols exported for the se_interface, compiled into the 2_Images_SBSFU_CM0PLUS project and exported as .elf and .o file, thus included in the 2_Images_UserA__CM0PLUS project linking phase.
Running STM32CubeIDE 1.6.0 on Windows 10 with WL firmware pack 1.0.0.
I'm no more able to proceed... Is there something I'm missing?
Thank you
A quick update after further investigation:
Looking for the 1st problem returned by the linker:
c:\st\stm32cubeide_1.6.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: ../../../2_Images_SBSFU/STM32CubeIDE/CM0PLUS/Debug\se_interface_app.o: in function `SE_KMS_CloseSession':
(.SE_IF_Code+0xbd8): multiple definition of `SE_KMS_CloseSession'; ../../../2_Images_SBSFU/STM32CubeIDE/CM0PLUS/Debug\se_interface_app.o:(.SE_IF_Code+0xbd8): first defined here
Seems that the linker is finding twice the symbol SE_KMS_CloseSession @ .SE_IF_Code+0xbd8... but this symbol is present only one time in the generated .map file:
.SE_IF_Code 0x000000000802c000 0x0
0x000000000802c000 . = ALIGN (0x8)
*se_interface_app.o(.text .text*)
*se_interface_kms.o(.text .text*)
0x000000000802c000 . = ALIGN (0x8)
.SE_IF_Code 0x000000000802c000 0x0 ../../../2_Images_SBSFU/STM32CubeIDE/CM0PLUS/Debug\se_interface_app.o
0x000000000802c000 SE_APP_GetActiveFwInfo
[....]
0x000000000802cbd8 SE_KMS_CloseSession
I see that the symbol has been correctly imported from the se_interface_app.o used as library in the linker command line.
So, strictly speaking, seems to me that the same symbol, included from the linker only one time, is identified twice, but at the same relative address....
Any hints on this?
Thank you.
Solved! Go to Solution.
- Labels:
-
STM32WL series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-16 2:47 AM
The problem seems related to SE_*** symbols included twice by the SMT32CubeIDE 1.6.0 when opening the sample project.
I was able to compile the 2_Images_UserApp_CM0PLUS project by following the procedure mentioned here: https://community.st.com/s/question/0D53W00000cRsLASA0/the-update-to-cubeide-160-cause-a-linker-error-compiling-the-userapp
So, summarising, by changing the 2_Images_UserApp_CM0PLUS project settings by:
1) Removing the -l:se_interface_app.o from Tools Settings/Libraries/Libraries
2) Adding the same -l:se_interface_app.o in Tool Settings/Miscellaneous/Other flags
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-16 2:47 AM
The problem seems related to SE_*** symbols included twice by the SMT32CubeIDE 1.6.0 when opening the sample project.
I was able to compile the 2_Images_UserApp_CM0PLUS project by following the procedure mentioned here: https://community.st.com/s/question/0D53W00000cRsLASA0/the-update-to-cubeide-160-cause-a-linker-error-compiling-the-userapp
So, summarising, by changing the 2_Images_UserApp_CM0PLUS project settings by:
1) Removing the -l:se_interface_app.o from Tools Settings/Libraries/Libraries
2) Adding the same -l:se_interface_app.o in Tool Settings/Miscellaneous/Other flags
