This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CODECOMPOSER:如何设置 CCS makefile 以支持两个不同的 devconfig.mak 文件(一个用于 CUST_MPK 和 CUST_MEK 密钥)

Guru**** 1983025 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1439253/codecomposer-how-do-i-setup-my-ccs-makefile-to-support-two-different-devconfig-mak-files-one-for-cust_mpk-and-cust_mek-keys

器件型号:CODECOMPOSER

工具与软件:

我有一个适用于 AM243x MCU 的 CCS 引导加载程序工程、我们需要在使用和不使用自定义 devconfig.mak 的情况下进行 构建、以便我们可以使用自定义 HS-SE 密钥进行构建

是否可以在同一 make 文件中使用两个不同的二进制文件来生成两个不同的二进制 文件?这两个文件使用两个不同的 devconfig.mak 文件

我需要使用默认 devconfig.mak 构建我的引导加载程序、并使用进行以下更改:

  • 修改了 devconfig.mak
    • 第2行:  device_type?=HS
    • 第22行: CUST_MPK=devMpk_am64x_am243x.pem
    • 第23行: CUST_MEK=devMek_am64x_am243x.txt
    • 第30行: ENC_SBL_ENABLED?=否
  • 定制 devMek_am64x_am243x.txt 文件
  • 定制 devMpk_am64x_am243x.pem 文件

我可以构建两个不同的工程、但我更愿意从同一工程生成两个映像。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    以下补丁修改 SBL 的 CCS makefile (makefile_ccs_bootimage_gen)以将 devconfig 路径作为参数:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    diff --git a/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/makefile_ccs_bootimage_gen
    index 63304e99..f4e4d9e7 100644
    --- a/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/makefile_ccs_bootimage_gen
    +++ b/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/makefile_ccs_bootimage_gen
    @@ -12,7 +12,9 @@
    CCS_PATH=$(CCS_INSTALL_DIR)
    include $(MCU_PLUS_SDK_PATH)/imports.mak
    -include $(MCU_PLUS_SDK_PATH)/devconfig/devconfig.mak
    +
    +DEVCONFIG_PATH?=$(MCU_PLUS_SDK_PATH)/devconfig/devconfig.mak
    +include $(DEVCONFIG_PATH)
    STRIP=$(CG_TOOL_ROOT)/bin/tiarmstrip
    OBJCOPY=$(CG_TOOL_ROOT)/bin/tiarmobjcopy
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    然后、您可以添加一个额外的编译后步骤、将 devconfig 路径作为一个参数和任何其他必要的变量传递、以生成不同的映像。 例如、编译后步骤中的以下附加命令使用自定义 DEVCONFIG 路径生成自定义 SBL NULL 映像。

    $(make)-C ${CCS_PROJECT_DIR}-f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName /devconfig/cust_devconfig.mak}PROFILE=${ConfigName}mcu_plus_sdk_path=${mcu_plus_sdk_path}DEVCONFIG_PATH=${MCU_PLUS_DI_MODE_MODE_MODE=${MCS_READ_DI_MODE_DI_MODE_MODE_DI_MODE_CCS_MODE_MODE=${MCS_READ_DI_MODE_MODE_DI_MODE_MODE_MODE_MODE_CCS_MODE=

    此致、

    Prashant

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我只能使用该工程的命令行编译工具。  是否可以在不使用 IDE 的情况下添加此编译后步骤? 看起来你共享的示例 make 指令位于.cproject 文件中、我看起来不便于编辑。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果需要、我应该能够在运行 CCS IDE 的系统上修改工程、并复制.cproject 文件。

    从该 IDE 中、  我现有的编译后处理步骤是(我不能很流利地理解它)

    Fullscreen
    1
    $(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE}
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    我想添加这样的内容吗?

    Fullscreen
    1
    $(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} DEVCONFIG_PATH=${CCS_PROJECT_DIR}/devconfig.mak BOOTIMAGE_NAME=${BuildArtifactFileBaseName}.se.hs_fs.tiimage CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE}
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果需要、我应该能够在运行 CCS IDE 的系统上修改项目并复制.cproject 文件。

    不确定,但这应该是可以的。

    如果手动编辑`.cproject`文件、我在添加附加命令时看到了以下差异:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    diff --git a/.cproject b/.cproject
    index a504b15..8d29ddf 100644
    --- a/.cproject
    +++ b/.cproject
    @@ -14,7 +14,7 @@
    </extensions>
    </storageModule>
    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
    - <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.1080308160" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x">
    + <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.1080308160" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x;$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} DEVCONFIG_PATH=${MCU_PLUS_SDK_PATH}/devconfig/cust_devconfig.mak BOOTIMAGE_NAME=custom_sbl_null.hs_fs.tiimage CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x">
    <folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.1080308160." name="/" resourcePath="">
    <toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_3.0.exe.DebugToolchain.1512285410" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_3.0.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_3.0.exe.linkerDebug.512515238">
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.272720753" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    如果您尚未在 CCS 中导入工程、则可以修改`example.projectspec`文件、然后导入工程。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    diff --git a/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec b/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec
    index ffaafa07..a30e2912 100644
    --- a/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec
    +++ b/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec
    @@ -52,7 +52,7 @@
    --reread_libs
    "
    - postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x"
    + postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x;$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} DEVCONFIG_PATH=${MCU_PLUS_SDK_PATH}/devconfig/cust_devconfig.mak BOOTIMAGE_NAME=custom_sbl_null.hs_fs.tiimage CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am243x"
    enableSysConfigTool="true"
    sysConfigBuildOptions="
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我`D的是 cust_devconfig.mak、其中包括` evice_type?=HS `m、因此我`我的`sakefile_ccs_bootimage_gen`文件使用 ` ysfw-Hs-enc.bin`而不是`sysfw-hs-fs-enc.bin`对 $(make) 的最后调用、但事实并非如此。

    这是我的`.cproject`文件中的两个 make 命令。 
    Fullscreen
    1
    <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.346474771" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE};$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} DEVCONFIG_PATH=${CCS_PROJECT_DIR}/cust_devconfig.mak BOOTIMAGE_NAME=${BuildArtifactFileBaseName}.se.hs.tiimage CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE};mv ../bootloader_am243.se.hs.tiimage .;">
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    这是我的两个编译后命令的输出。
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /home/user/ti/ccs1250/ccs/utils/bin/gmake -C /proj -f makefile_ccs_bootimage_gen OUTNAME=bootloader_am243 PROFILE=Debug MCU_PLUS_SDK_PATH=/home/user/ti/mcu_plus_sdk_am243x_09_00_00_35 CG_TOOL_ROOT=/home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS CCS_INSTALL_DIR=/home/user/ti/ccs1250/ccs CCS_IDE_MODE=desktop
    Boot image: am243x:r5fss0-0:nortos:ti-arm-clang /proj/Debug/bootloader_am243.hs_fs.tiimage ...
    /home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS/bin/tiarmobjcopy --strip-sections -O binary Debug/bootloader_am243.out /proj/Debug/bootloader_am243.bin
    python3 /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-bin /proj/Debug/bootloader_am243.bin --sysfw-bin /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-fs-enc.bin --sysfw-inner-cert /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-fs-enc-cert.bin --boardcfg-blob /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/sciclient_default_boardcfg/am243x/boardcfg_blob.bin --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_degenerateKey.pem --rom-image /proj/Debug/bootloader_am243.hs_fs.tiimage
    cp /proj/Debug/bootloader_am243.hs_fs.tiimage /proj/Debug/tiboot3.bin
    Boot image: am243x:r5fss0-0:nortos:ti-arm-clang /proj/Debug/bootloader_am243.hs_fs.tiimage Done !!!
    .
    /home/user/ti/ccs1250/ccs/utils/bin/gmake -C /proj -f makefile_ccs_bootimage_gen OUTNAME=bootloader_am243 PROFILE=Debug MCU_PLUS_SDK_PATH=/home/user/ti/mcu_plus_sdk_am243x_09_00_00_35 DEVCONFIG_PATH=/proj/cust_devconfig.mak BOOTIMAGE_NAME=bootloader_am243.se.hs.tiimage CG_TOOL_ROOT=/home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS CCS_INSTALL_DIR=/home/user/ti/ccs1250/ccs CCS_IDE_MODE=desktop
    Boot image: am243x:r5fss0-0:nortos:ti-arm-clang bootloader_am243.se.hs.tiimage ...
    /home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS/bin/tiarmobjcopy --strip-sections -O binary Debug/bootloader_am243.out /proj/Debug/bootloader_am243.bin
    python3 /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-bin /proj/Debug/bootloader_am243.bin --sysfw-bin /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-fs-enc.bin --sysfw-inner-cert /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-fs-enc-cert.bin --boardcfg-blob /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/sciclient_default_boardcfg/am243x/boardcfg_blob.bin --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_degenerateKey.pem --rom-image bootloader_am243.se.hs.tiimage
    cp bootloader_am243.se.hs.tiimage /proj/Debug/tiboot3.bin
    Boot image: am243x:r5fss0-0:nortos:ti-arm-clang bootloader_am243.se.hs.tiimage Done !!!
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    如何将正确的`sysfw-Hs-enc.bin`文件用于最后的 pst 构建?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如图所示、它为我选择了正确的引导加载程序

    C:/ti/ccs1230/ccs/utils/bin/gmake -C:\ti\ccs_workspace_v12.3\sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang -f makefile_ccs_bootimage_gen outnme=sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang /home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35 /ti/ccs1230/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS
    ...
    Python X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-bin C:/ti/ccs_workspaces/workspace_v12.3/sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang.bin -- sysfw-bin X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient soc / am64x_am243x/ sysfw-hs-fs-enc.bin - sysfw-inner-cert X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient soc / am64x_am243x/ sysfw-hs-fs-enc-cert.bin --boardcfg-blob X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient/sciclient_default_boardcfg/am243x/boardcfg_blob.bin --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/tools/boot/signing/rom_degenerateKey.pem --rom-image sbl_null.Debug.hs_fs.tiimage
    ...
    C:/ti/ccs1230/ccs/utils/bin/gmake /home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35 /ti/ccs1230/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS -C:\ti\ccs_workspace_v12.3\sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang -f makefile_ccs_bootimage_gen outnme=sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang /home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/devconfig/cust_devconfig.mak
    ...
    Python X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-enc --enc-key X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/tools/boot/signing/custMek_am64x_am243x.txt --sbl-bin C:/ti/ccs_workspaces/workspace_v12.3/sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_null_am243x-evm_r5fss0-0_nortos_ti-arm-clang.bin -- sysfw-bin X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient soc / am64x_am243x/ sysfw-hs-enc.bin - sysfw-inner-cert X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient soc / am64x_am243x/ sysfw-hs-enc-cert.bin --boardcfg-blob X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/source/drivers/sciclient/sciclient_default_boardcfg/am243x/boardcfg_blob.bin --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key X:/home/p-shivhare/ti/mcu_plus_sdk/am243x/09_00_00_35/tools/boot/signing/custMpk_am64x_am243x.pem --debug dg_full_enable --rom-image custom_sbl_null.hs_fs.tiimage

    以下补丁修改 SBL 的 CCS makefile (makefile_ccs_bootimage_gen)以将 devconfig 路径作为参数:

    你是否在 makefile 中正确地应用了这些更改?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 上面共享了我的 makefile_ccs_bootimage_gen 中的确切行。 适用器件为:

    $(make)-C ${CCS_PROJECT_DIR}-f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName}PROFILE=${ConfigName}mcu_plus_sdk_path=${MCU_PLUS_SDK_PATH}DEVCONFIG_PATH=${CCS_PROJECT_DIR}/cust_DEVCONFIG_MODE_MODE={IMARTM_MODE_ID_MODE${IMARTM_DI_MODE_MODE_IGE_MODE_MODE=}IGE_MODE= 

    我所做的其他更改 特别包括:

    1) 1)将  devMek_am64x_am243x_dev.txt 和  devMpk_am64x_am243x_dev.pem 文件添加到我的项目文件夹中、其中包含我要使用的密钥。

    2) 2)将我的 SDK 中 devconfig.mak 文件的一个副本放入我的工程文件夹、并将该文件命名为  cust_devconfig.mak

    3) 3)我对  项目文件夹中的 cust_devconfig.mak 文件进行了以下修改:

    • 第2行:  device_type?=HS
    • 第22行: CUST_MPK=devMpk_am64x_am243x_dev.pem
    • 第23行: CUST_MEK=devMek_am64x_am243x_dev.txt
    • 第30行: ENC_SBL_ENABLED?=否

    我缺少什么吗?

    如果您需要、我可以提供完整的文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果需要、我可以为您提供完整文件。

    是的、请分享`您正在使用的`makefile_ccs_bootimage_gen 文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #
    # Auto generated makefile
    #
    # Below variables need to be defined outside this file or via command line
    # - MCU_PLUS_SDK_PATH
    # - PROFILE
    # - CG_TOOL_ROOT
    # - OUTNAME
    # - CCS_INSTALL_DIR
    # - CCS_IDE_MODE
    CCS_PATH=$(CCS_INSTALL_DIR)
    include $(MCU_PLUS_SDK_PATH)/imports.mak
    include $(MCU_PLUS_SDK_PATH)/devconfig/devconfig.mak
    STRIP=$(CG_TOOL_ROOT)/bin/tiarmstrip
    OBJCOPY=$(CG_TOOL_ROOT)/bin/tiarmobjcopy
    ifeq ($(OS), Windows_NT)
    PYTHON=python
    else
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、您尚未应用我在第一个回复中分享的补丁。

    Fullscreen
    1
    2
    3
    4
    -include $(MCU_PLUS_SDK_PATH)/devconfig/devconfig.mak
    +
    +DEVCONFIG_PATH?=$(MCU_PLUS_SDK_PATH)/devconfig/devconfig.mak
    +include $(DEVCONFIG_PATH)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    完成这项更改后、我的项目不再构建:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /home/user/ti/ccs1250/ccs/utils/bin/gmake -C /proj -f makefile_ccs_bootimage_gen OUTNAME=bootloader_am243 PROFILE=Debug MCU_PLUS_SDK_PATH=/home/user/ti/mcu_plus_sdk_am243x_09_00_00_35 DEVCONFIG_PATH=/proj/cust_devconfig.mak BOOTIMAGE_NAME=bootloader_am243.se.hs.tiimage CG_TOOL_ROOT=/home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS CCS_INSTALL_DIR=/home/user/ti/ccs1250/ccs CCS_IDE_MODE=desktop
    Boot image: am243x:r5fss0-0:nortos:ti-arm-clang bootloader_am243.se.hs.tiimage ...
    /home/user/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_2.1.3.LTS/bin/tiarmobjcopy --strip-sections -O binary Debug/bootloader_am243.out /proj/Debug/bootloader_am243.bin
    python3 /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-bin /proj/Debug/bootloader_am243.bin --sysfw-bin /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-enc.bin --sysfw-inner-cert /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/soc/am64x_am243x/sysfw-hs-enc-cert.bin --boardcfg-blob /home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/source/drivers/sciclient/sciclient_default_boardcfg/am243x/boardcfg_blob.bin --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key custMpk_am64x_am243x_dev.pem --debug DBG_FULL_ENABLE --rom-image bootloader_am243.se.hs.tiimage
    makefile_ccs_bootimage_gen:66: recipe for target 'all' failed
    Could not open file or uri for loading private key from custMpk_am64x_am243x_dev.pem
    4087427E077F0000:error:16000069:STORE routines:ossl_store_get0_loader_int:unregistered scheme:../crypto/store/store_register.c:237:scheme=file
    4087427E077F0000:error:80000002:system library:file_open:No such file or directory:../providers/implementations/storemgmt/file_store.c:267:calling stat(custMpk_am64x_am243x_dev.pem)
    Traceback (most recent call last):
    File "/home/user/ti/mcu_plus_sdk_am243x_09_00_00_35/tools/boot/signing/rom_image_gen.py", line 313, in <module>
    subprocess.check_output('openssl req -new -x509 -key {} -nodes -outform DER -out {} -config {} -{}'.format(args.key, cert_name, cert_file_name, g_sha_to_use), shell=True)
    File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command 'openssl req -new -x509 -key custMpk_am64x_am243x_dev.pem -nodes -outform DER -out cert452 -config temp_cert334 -sha512' returned non-zero exit status 1.
    gmake[3]: *** [all] Error 1
    gmake[2]: [post-build] Error 2 (ignored)
    makefile:177: recipe for target 'post-build' failed
    mv ../bootloader_am243.se.hs.tiimage .
    makefile:177: recipe for target 'post-build' failed
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="547606" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1439253/codecomposer-how-do-i-setup-my-ccs-makefile-to-support-two-different-devconfig-mak-files-one-for-cust_mpk-and-cust_mek-keys/5531637 #5531637"]

    3) 3)我对  项目文件夹中的 cust_devconfig.mak 文件进行了以下修改:

    • 第2行:  device_type?=HS
    • 第22行: CUST_MPK=devMpk_am64x_am243x_dev.pem
    • 第23行: CUST_MEK=devMek_am64x_am243x_dev.txt
    • 第30行: ENC_SBL_ENABLED?=否
    [报价]

    CUST_MPK 和 CUST_MEK 应使用密钥的绝对路径进行初始化、就像在默认 devconfig 中初始化一样。

    Fullscreen
    1
    2
    3
    ❯ grep -n ".*am64x_am243x" -- devconfig/devconfig.mak
    28: CUST_MPK=$(SIGNING_TOOL_PATH)/custMpk_am64x_am243x.pem
    29: CUST_MEK=$(SIGNING_TOOL_PATH)/custMek_am64x_am243x.txt
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

x 出现错误。请重试或与管理员联系。