MCU+ SDK CCS Project Build Generates Invalid/Redundant Boot Image Files

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Not Prioritized
    • SITSW-9066
    • Hide
      10.01.00
      11.00.00
      11.01.00
      Show
      10.01.00 11.00.00 11.01.00
    • Hide
      am62xx-sk
      am62xx-sk-lp
      am62x-sip-sk
      am62a-sk
      am62p-sk
      am62d-evm
      am275x-evm
      am64xx-evm
      am64xx-sk
      beagleplay-gp
      Show
      am62xx-sk am62xx-sk-lp am62x-sip-sk am62a-sk am62p-sk am62d-evm am275x-evm am64xx-evm am64xx-sk beagleplay-gp

      When building SBL_NULL through CCS, it will result in two identically named output files to get generated, as follows:

      $ ll Release/sbl_null.Release.hs_fs.tiimage
      -rw-r--r-- 1 a0797059 1049089 425673 Nov 11 12:10 Release/sbl_null.Release.hs_fs.tiimage
      
      
      $ ll sbl_null.Release.hs_fs.tiimage
      -rw-r--r-- 1 a0797059 1049089 423859 Nov 11 12:10 sbl_null.Release.hs_fs.tiimage 

      The file in the project root directory is smaller and seems incomplete, it also doesn't boot (gets rejected by ROM). It does have the initial certificate, but then some other stuff is missing, so the file does not work on HS-FS devices. Our build should not generate two identically-named files. And the Release (or Debug) artifacts shouldn't pollute the project root.

      Looking at it further, it looks like the extra sbl_null.Release.hs_fs.tiimage file generated at the project root is caused by the below line of code in makefile_ccs_bootimage_gen. Commenting it out will avoid creating the file, and not impact on the proper HS-FS boot file builds in any way. The temp file is invalid because it uses/embedds a GP-based TIFS image file, which won't work on HS-FS devices.

       

      $(BOOTIMAGE_CERT_GEN_CMD) --swrv 1 --sbl-bin $(BOOTIMAGE_BIN_NAME) --sysfw-bin $(SYSFW_PATH)/sysfw.bin --boardcfg-blob $(BOARDCFG_BLOB) --boardcfg-sbldata-blob $(BOARDCFG_SBLDATA_BLOB) --sbl-loadaddr $(SBL_RUN_ADDRESS) --sysfw-loadaddr $(SYSFW_LOAD_ADDR) --bcfg-loadaddr $(BOARDCFG_LOAD_ADDR) --bcfg-sbldata-loadaddr $(BOARDCFG_SBLDATA_LOAD_ADDR) --key $(BOOTIMAGE_CERT_KEY) --rom-image $(BOOTIMAGE_NAME) --enable-sbldata $(ENABLE_SBLDATA)

       

      It's not a good customer experience and confusing the way it is, and has led to wasted time already trying to boot the wrong image file and trying to figure out what's going on. Cleanest is probably to just remove GP support from that file since that's not something the customer can get their hands on anyways. This will simplify the makefile generation logic. Or just clean that up so it works for all of GP/HS-FS/HS without confusing and mixing up filenames and creating temp files in invalid locations.

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Connection: Intermediate to External PROD System
                EXTSYNC-6122 - MCU+ SDK CCS Project Build Generate...
                SYNCHRONIZED
                • Last Sync Date: