首页 > 技术文章 > STM32开发X-CUBE-SBSFU Packpage编译问题(已解决!!!)

DerekChen517 2021-03-10 17:08 原文

  问题:在STM32CubeIDE中编译X-CUBE-SBSFU Packpage的G0例程中存在编译失败问题。

  最近接触了ST公司HackThon比赛,有关于 X-CUBE-SBSFU STM32Cube Expansion Package,相关安全功能开发。

  在AI电堂中观看视频,想自己尝试一下SBSFU的相关烧录操作。

  可是,打开Package中的例程希望能够编译烧录下板。

  我的开发平台是WIN10.0.1863+STM32CubeIDE Version: 1.6.0+NUCLEO-G071RB
  将en.x-cube-sbsfu导入到CubeIDE的WorkPlace,发现原先的工程是基于SW4STM32的,CubeIDE可以将其转换成CubeIDE的工程(二者基于eplicse开发),且转换过程无问题

  我开始编译en.x-cube-sbsfu\STM32CubeExpansion_SBSFU_V2.4.0\Projects\NUCLEO-G071RB\Applications\2_Images中的工程

 

 

  按照用户手册UM2262 User manual中的操作,首先编译2_Images_SECoreBin工程,再编译2_Images_SBSFU,最后编译2_Images_UserApp的工程。

  依次编译前两个工程均无问题,当编译至2_Images_UserApp时,存在如下错误:

d:\stm32cubeide_1.0.1\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/SW4STM32/NUCLEO-G071RB_2_Images_SBSFU/Debug\se_interface_app.o: in function `SE_APP_GetActiveFwInfo':
(.SE_IF_Code+0x0): multiple definition of `SE_APP_GetActiveFwInfo'; ../../../../2_Images_SBSFU/SW4STM32/NUCLEO-G071RB_2_Images_SBSFU/Debug\se_interface_app.o:(.SE_IF_Code+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:70: UserApp.elf] Error 1
make: *** [makefile:63: all] Error 2

   虽然编译2_Images_UserApp2_Images_SBSFU的错误multiple definition of `SE_APP_GetActiveFwInfo'我知道这三者间的工程是相互耦合的关系。但这个在.o文件中multiple definition就很不清楚。

  在IDE中查询`SE_APP_GetActiveFwInfo'相关位置

 

   好像也改不了啊!0.0

  计划:有清楚的小伙伴大家相互交流下,目前我正在苦逼的看UM2262 User manual

  2021年3月10日17点07分


  感恩感恩!全网找了几天终于在国外找到解决方案了!

  是我的IDE版本问题。

  原文答案如下:community.st.com/s/question/0D53W00000cRsLASA0/the-update-to-cubeide-160-cause-a-linker-error-compiling-the-userapp

  感恩这位ST工程师RICARD先生!

  

 

推荐阅读