F29H859TU-Q1: CCS Makefile Errors when buildng HS_SE code provisioning tool

Part Number: F29H859TU-Q1


Tool/software:

Hello,

I believe I have an issue with my CCS setup. I am currently trying to debug the following TIFS example: tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang but I am getting the following errors in the when trying to use ARM Linker:

[520]python C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_rom_image_gen.py --image-bin C:/Users/a0506622/TIFS_workspace_3.0/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.bin --core HSM --swrv 1 --loadaddr 0x00000000 --sign-key C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_custMpk.pem --out-image C:/Users/a0506622/TIFS_workspace_3.0/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.hs.hsmimage --debug DBG_SOC_DEFAULT --device f29h85x

[521]process_begin: CreateProcess(NULL, python C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_rom_image_gen.py --image-bin C:/Users/a0506622/TIFS_workspace_3.0/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.bin --core HSM --swrv 1 --loadaddr 0x00000000 --sign-key C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_custMpk.pem --out-image C:/Users/a0506622/TIFS_workspace_3.0/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.hs.hsmimage --debug DBG_SOC_DEFAULT --device f29h85x, ...) failed.
[522]gmake[3]: *** [makefile_ccs_bootimage_gen:88: all] Error 2
[523]gmake[2]: [makefile:276: post-build] Error 2 (ignored)

[524]**** Build finished ****

I am currently using CCS version 2.3.1 . I had someone else run the same exact example on CCS version 2.3.0.10 and they did not have any issues. For context, I am trying to follow said example: file:///C:/ti/tifs_f29h85x_01_02_01_00/docs/api_guide_f29h85x/html/docs_src/code_provisioning/code_provisioning.html Please let me know if any further clarification is needed.

  • Hi,

    Could you please confirm if you have OpenSSL 3.x installed at your end?

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    I have OpenSSL 3.5.0 installed, added to PATH as well

  • Hi Andrew,

    This would occur for 2 reasons. 

    1. OpenSSL not installed

    2. Python not installed.

    Can you share me the screenshot of the below 2 commands

    1. openssl --version

    2. python --version

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    You can find version details below:

  • Hi Andrew,

    Just to double confirm. Did you reboot the machine after installation on OpenSSL? 

    If not, could you do the same and try importing the project again and build?

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    I actually installed OpenSSL a long time ago and have since rebooted multiple times. I am going to try with CCS 20.3.0 (which helped example work on another person's laptop) and then reboot, reimport the project. I will get back to you if this version works.

  • Hi Nikhil, 

    I am still getting some build errors when trying to append the certification (Rebooted with OpenSSL v3.2.6): :

    [500]Building file: "../utils.c"
    [501]Invoking: Arm Compiler
    [502]"C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=soft -mlittle-endian -Os -I"C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/include/c" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/" -I"C:/ti/tifs_f29h85x_01_02_01_00/examples/" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/" -I"C:/ti/tifs_f29h85x_01_02_01_00.." -I"C:/" -I"C:/src" -I"C:/source/drivers/flash/f29h85x" -I"C:/source/drivers/crypto/dthe" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/crypto/dthe" -I"C:/source/drivers/hsm_ctrl" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/hsm_ctrl" -I"C:/source/drivers/mpu_firewall/v1" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/mpu_firewall/v1" -I"C:/source/drivers/nvm/flash" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/nvm/flash" -I"C:/source/drivers/secmgr" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/secmgr" -I"C:/source/drivers/stack_canaries" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/stack_canaries" -I"C:/source/drivers/usurp" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/usurp" -I"C:/source/drivers/usurp/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/usurp/soc/f29h85x" -I"C:/source/imports/drivers/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/drivers/soc/f29h85x" -I"C:/source/imports/kernel/nortos/dpl/m4" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/kernel/nortos/dpl/m4" -I"C:/source/imports/kernel/nortos/dpl/m4/flash" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/kernel/nortos/dpl/m4/flash" -I"C:/source/imports/kernel/nortos/dpl/common" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/kernel/nortos/dpl/common" -I"C:/source/imports/security_common/drivers/crypto" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto" -I"C:/source/imports/security_common/drivers/crypto/dthe" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/dthe" -I"C:/source/imports/security_common/drivers/crypto/rng" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/rng" -I"C:/source/imports/security_common/drivers/secure_ipc_notify" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/secure_ipc_notify" -I"C:/source/imports/security_common/drivers/secure_ipc_notify/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/secure_ipc_notify/soc/f29h85x" -I"C:/source/modules/aes" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/aes" -I"C:/source/modules/asset" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/asset" -I"C:/source/modules/cert_auth" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/cert_auth" -I"C:/source/modules/crypto" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/crypto" -I"C:/source/modules/ecdsa" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/ecdsa" -I"C:/source/modules/dkek" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/dkek" -I"C:/source/modules/hkdf" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hkdf" -I"C:/source/modules/hsmserver" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hsmserver" -I"C:/source/modules/hsmserver/soc/f29h85x/" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hsmserver/soc/f29h85x/" -I"C:/source/modules/hsmserver/tifs/hsse/soc/f29h85x/code_provisioning" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hsmserver/tifs/hsse/soc/f29h85x/code_provisioning" -I"C:/source/modules/keyring/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/keyring/soc/f29h85x" -I"C:/source/modules/kdf" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/kdf" -I"C:/source/modules/memlog" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/memlog" -I"C:/source/modules/rot_switching" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/rot_switching" -I"C:/source/modules/rot_switching/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/rot_switching/soc/f29h85x" -I"C:/source/modules/sec_boot" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/sec_boot" -I"C:/source/modules/sec_boot/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/sec_boot/soc/f29h85x" -I"C:/source/modules/sec_debug" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/sec_debug" -I"C:/source/modules/utils" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/utils" -I"C:/source/soc" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/soc" -I"C:/source/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/soc/f29h85x" -I"C:/source/imports/security_common/drivers/crypto/pke" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/pke" -I"C:/source/imports/security_common/drivers/crypto/pke/hw_include/pke_hw/src" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/pke/hw_include/pke_hw/src" -I"C:/source/imports/security_common/drivers/crypto/pke/hw_include/pke_hw/inc" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/pke/hw_include/pke_hw/inc" -I"C:/source/imports/security_common/drivers/crypto/pke/hw_include/f29x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/imports/security_common/drivers/crypto/pke/hw_include/f29x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hsmserver/tifs/hsse/soc/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/flash/f29h85x" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/flash/f29h85x/inc" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/flash/f29h85x/FlashAPI/Include/FlashTech" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/flash/f29h85x/FlashAPI/Include/FlashTech/Constants" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/hsmserver/tifs/hsse" -I"C:/ti/tifs_f29h85x_01_02_01_00/source/modules/cert_auth/tifs/" -DSOC_F29H85X -DCRI_PKE_NIST_P256 -DCRI_PKE_NIST_P384 -DCRI_PKE_NIST_P521 -DCRI_PKE_BRAINPOOL_P512R1 -DCRI_PKE_BRAINPOOL_P512T1 -DCRI_PKE_ED25519_CURVE -DCRI_PKE_SM2_CURVE -DDEV_TYPE_HS=1 -DOS_NORTOS -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -fstack-protector-strong -MMD -MP -MF"utils.d_raw" -MT"utils.o" -I"C:/Users/a0506622/newTIFStest/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/syscfg" -o"utils.o" "../utils.c"
    [503]Finished building: "../utils.c"

    [504]Building target: "tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out"
    [505]Invoking: Arm Linker
    [506]"C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/bin/tiarmclang.exe" -mcpu=cortex-m4 -mfloat-abi=soft -mlittle-endian -Os -DSOC_F29H85X -DCRI_PKE_NIST_P256 -DCRI_PKE_NIST_P384 -DCRI_PKE_NIST_P521 -DCRI_PKE_BRAINPOOL_P512R1 -DCRI_PKE_BRAINPOOL_P512T1 -DCRI_PKE_ED25519_CURVE -DCRI_PKE_SM2_CURVE -DDEV_TYPE_HS=1 -DOS_NORTOS -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -fstack-protector-strong -Wl,-m"tifs_f29h85x_hs_se_code_provisioning.Release.map" -Wl,-i"C:/ti/tifs_f29h85x_01_02_01_00/source/drivers/flash/f29h85x/FlashAPI/Include/FlashTech" -Wl,-i"C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/lib" -Wl,--reread_libs -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang_linkInfo.xml" -Wl,--ram_model -o "tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out" "./CacheP_null.o" "./ClockP_nortos.o" "./ClockP_nortos_m4.o" "./CycleCounterP_m4.o" "./DebugP_log.o" "./DebugP_nortos.o" "./HwiP_armv7m.o" "./HwiP_armv7m_handlers_nortos.o" "./MpuP_armv7m.o" "./SysTickTimerP.o" "./aes_cmac.o" "./aes_cmac_kdf.o" "./aes_ecb.o" "./asn1_parse.o" "./asn1_utils.o" "./asset.o" "./boot_armv7m.o" "./cert_auth.o" "./cpu_boot_config.o" "./crypto_rng_interface.o" "./crypto_util.o" "./dkek.o" "./dma.o" "./dthe.o" "./dthe_aes.o" "./dthe_secure_enable.o" "./dthe_sha.o" "./dthe_soc_ctrl.o" "./ec_curve_brp192_r1.o" "./ec_curve_brp192_t1.o" "./ec_curve_brp224_r1.o" "./ec_curve_brp224_t1.o" "./ec_curve_brp256_r1.o" "./ec_curve_brp256_t1.o" "./ec_curve_brp320_r1.o" "./ec_curve_brp320_t1.o" "./ec_curve_brp384_r1.o" "./ec_curve_brp384_t1.o" "./ec_curve_brp512_r1.o" "./ec_curve_brp512_t1.o" "./ec_curve_ed25519.o" "./ec_curve_ed448.o" "./ec_curve_frp256.o" "./ec_curve_p192.o" "./ec_curve_p224.o" "./ec_curve_p256.o" "./ec_curve_p256_k1.o" "./ec_curve_p384.o" "./ec_curve_p521.o" "./ec_curve_sm2.o" "./ec_curve_x25519.o" "./ec_curve_x448.o" "./ecdsa.o" "./syscfg/tifs_modules_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_dpl_config.o" "./flash.o" "./hkdf.o" "./hsm_defines.o" "./hsm_dkek.o" "./hsm_dthe_service.o" "./hsm_fw_update.o" "./hsm_fw_update_f29h85x.o" "./hsm_rot_switching.o" "./hsm_soc_ctrl.o" "./hsm_srv_debug.o" "./hsm_utils.o" "./hsm_version.o" "./hsmserver.o" "./hsmserver_sec_boot.o" "./hsmserver_send_boot_notify.o" "./keyring_soc.o" "./main_nortos.o" "./math_generate_rsa_key.o" "./math_get_bit_length.o" "./math_probable_prime_test.o" "./memlog.o" "./mpu_firewall.o" "./nvm.o" "./otp_defines.o" "./pke.o" "./pke4.o" "./pke4_common.o" "./pke4_ec_blind_key.o" "./pke4_ecc_decompress.o" "./pke4_ecc_driver.o" "./pke4_ecc_keygen.o" "./pke4_ecc_oncurve.o" "./pke4_ecc_private_keygen.o" "./pke4_ecdh_primitive.o" "./pke4_ecdsa_verify.o" "./pke4_eddsa_sign.o" "./pke4_eddsa_verify.o" "./pke4_rsa_blind_key.o" "./pke4_rsa_common.o" "./pke4_rsa_crt_blind_key.o" "./pke4_rsa_crt_private_key.o" "./pke4_rsa_keygen.o" "./pke4_rsa_private_key.o" "./pke4_rsa_public_key.o" "./printf.o" "./rng.o" "./rot_switching.o" "./sec_boot.o" "./sec_dbg.o" "./secmgr.o" "./sipc_notify_cfg.o" "./sipc_notify_src.o" "./soc.o" "./soc_tifs.o" "./stack_check.o" "./string_pke.o" "./tifs_pke4_random.o" "./update_key_rev.o" "./usurp_control.o" "./usurp_control_f29h85x.o" "./utils.o" "../linker.cmd" -Wl,-lF29H85xHSM_NWFlashAPI_v22.00.00.00.lib -Wl,-llibc.a
    [507]Finished building target: "tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out"

    [508]C:/ti/ccs2030/ccs/utils/bin/gmake -C C:\Users\a0506622\newTIFStest\tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang -f makefile_ccs_bootimage_gen OUTNAME=tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang PROFILE=Release TIFS_PATH=C:/ti/tifs_f29h85x_01_02_01_00 CG_TOOL_ROOT=C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS CCS_INSTALL_DIR=C:\ti\ccs2030\ccs\ CCS_IDE_MODE=desktop DEVICE=f29h85x DEVICE_TYPE=HS CONFIG=FLASH ENC_ENABLED=no
    [509] Boot image: f29h85x:hsm0-0:nortos:ti-arm-clang tifs_f29h85x_hs_se_code_provisioning.Release.hs.hsmimage ...
    [510]C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/bin/tiarmobjcopy Release/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out --strip-sections --remove-section .cert --output-target binary C:/Users/a0506622/newTIFStest/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.bin
    [511]python C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_rom_image_gen.py --image-bin C:/Users/a0506622/newTIFStest/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.bin --core HSM --swrv 1 --loadaddr 0x00000000 --sign-key C:/ti/tifs_f29h85x_01_02_01_00/tools/boot/signing/mcu_custMpk.pem --out-image C:/Users/a0506622/newTIFStest/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang/Release/tifs_f29h85x_hs_se_code_provisioning.Release.hs.hsmimage --debug DBG_SOC_DEFAULT --device f29h85x --boot FLASH
    [512]INFO: OpenSSL version 3.2.6 found.
    [513]"Appending Cert"
    [514]C:/ti/ccs2030/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS/bin/tiarmobjcopy --update-section=.cert=C29-cert-pad.bin Release/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out

    [515]C:\ti\ccs2030\ccs\tools\compiler\ti-cgt-armllvm_4.0.3.LTS\bin\tiarmobjcopy.exe: error: 'Release/tifs_f29h85x_hs_se_code_provisioning__hsm0-0_nortos_ti-arm-clang.out': section '.cert' not found
    [516]gmake[3]: *** [makefile_ccs_bootimage_gen:90: all] Error 1
    [517]gmake[2]: [makefile:276: post-build] Error 2 (ignored)

    [518]**** Build finished ****

  • Hi Andrew,

    Atleast the first issue is gone now and it is able to move into the mcu_rom_image_gen.py script. 

    May I know the procedure you are following here to build this project? 

    Thanks and Regards,

    Nikhil Dasan