cancel
Showing results for 
Search instead for 
Did you mean: 

How to Port SBSFU to Linux Environment ??

SPati.7
Associate III

I worked on POC for X-CUBE-SBSFU in windows environment. It is all working fine without any issues.

Now the challenge is, we need to migrate SBSFU source to be compiled in Ubuntu Linux environment. I am struggling to do this, and getting lot of errors.

Can you please guide us to migrate SBSFU in ubuntu environment ??

@Fred​ Can you help on this ??

Logs

"../prebuild.sh" "../"

prepareimage with python script

python /home/nppdev/repos/SecureBoot/Middlewares/STM32_Secure_Engine/Utilities/KeysAndImages/prepareimage.py conf ..//../Inc/se_crypto_config.h

selected

create symbolic link postbuild.sh to .sh

arm-none-eabi-gcc -o "SECoreBin.elf" @"objects.list" -l:libSTM32CryptographicV3.1.1_STM32H7_GCC.a -mcpu=cortex-m7 -T"../STM32H753ZITx.ld" --specs=nosys.specs -Wl,-Map="SECoreBin.map" -Wl,--gc-sections -static -L../../../../../../../Middlewares/ST/STM32_Cryptographic/Fw_Crypto/STM32H7/Lib -Xlinker -L ../../../Linker_Common/STM32CubeIDE --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group

arm-none-eabi-gcc: error: ./Application/Startup/se_key.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/data_init.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/se_crypto_bootloader.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/se_low_level.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_crc.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_crc_ex.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_flash_ex.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_callgate.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_crypto_common.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_exception.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_fwimg.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_startup.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_user_application.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_utils.o: No such file or directory

arm-none-eabi-gcc: error: ../../../Linker_Common/STM32CubeIDE: No such file or directory

makefile:66: recipe for target 'SECoreBin.elf' failed

make[1]: *** [SECoreBin.elf] Error 1

makefile:59: recipe for target 'all' failed

4 REPLIES 4
Fred
ST Employee

STM32CubeIDE is available for Linux.

STM32CubeIDE - Integrated Development Environment for STM32 - STMicroelectronics

I do not have a Linux machine but I guess that the CubeIDE project should work with the tool in Linux.

Or are you using command lines ?

SPati.7
Associate III

Yes @Fred​ We are using command line, through MAKE file compilation.

We already had STM Binary generated with Makefile environment in ubuntu environent. So now we are trying to integrate SBSFU with same SDK.

Can you please help on this ?? if any sample project exist with.

I guess your problem is the way you invoke prebuild and postbuild.

Maybe you did a copy/paste from the IDE steps ?

These commands are supposed to be run from the PROJECT folder.

With your make infrastructure, I guess it is invoked from another place.

So, you must update the paths.

The paths in the IDE steps are relative to PROJECT so probably the STM32CubeIDE folder

I have taken care about the paths. But still something issues with Python scripts running in Linux environment.

I am debugging those, need to check.