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.

AM2434: different result of same function

Part Number: AM2434
Other Parts Discussed in Thread: SYSCONFIG

Dear Champs,

My customer tried to load LWIP on CPSW of Cortex R5 0-0 core and ICSS EtherCAT on PRU-ICSS of Cortex-R5 0-1 core, and same function was loaded on these cores. They found the results of Udma_rmGetSciClientDefaultBoardCfgRmRange in the Udma_init were different in each core.

e.g. they can get the Board config value of rmDefBoardCfgResp[] through udma_rmGetSciclientDefaultBoardCfgRmRange in the Udma_init in Cortex-R5 0-1(udma_rmcfg_common.c : 109 line), and they fill 'rmInitPrm->startMappedRxch[]' using this 'Board config value', but set '0' in the ICSSG_0 and ICSSG_1.(udma_rmcfg_common.c :233 line)

They want to know why '0' will be set in the ICSSG0 and ICSSG1.

Could you please let me know how customer can find 'Sciclient Default BoardCfg' value and set it?

Is it normal to have different value of 'Sciclient Default BoardCfg' in each core?

Thanks and Best Regards,

SI.

  • Hi SI,

    Could you please add details on what you mean by

    same function was loaded on these cores
  • Hi Anand,

    I updated as below. Do you need more detail?

    e.g. they can get the Board config value of rmDefBoardCfgResp[] through udma_rmGetSciclientDefaultBoardCfgRmRange in the Udma_init in Cortex-R5 0-1(udma_rmcfg_common.c : 109 line), and they fill 'rmInitPrm->startMappedRxch[]' using this 'Board config value', but set '0' in the ICSSG_0 and ICSSG_1.(udma_rmcfg_common.c :233 line)

    They want to know why '0' will be set in the ICSSG0 and ICSSG1.

    They run same 'Udma_init' on both of R5 0_0 and 0_1 and rmInitPrm->startMappedRxch[] value is normal in R5 0_0 core, but it set to 0 for ICSSG0 and ICSSG1 of R5 0_1 core. it seemed there is an issue resource manager and how they can use it when both CPSW and PRU-ICSS are working.

    Thanks and Best Regards,

    SI.

  • Hi SI,

    The default boardcfg is a consolidated data for all cores, and the resources for each host is specifically demarcated. This is loaded during the boot time. Since the query is core specific, it will return the ranges assigned for each core which can be different. If you want a custom configuration, the default boardcfg should be edited to allocate resources correctly for your needs, in this case extra resources for ICSSG0 and 1. Is this the problem you're trying to address?

    Regards,
    Anand M

  • Hi Anand M,

    Thanks for the response. Yes. you are right.

    Should they modify Resource Management BoardCfg file by referring below?

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_03_00_18/exports/docs/api_guide_am243x/TOOLS_SYSFW.html#BOARCFG_GEN

     

    in this case extra resources for ICSSG0 and 1

    What I'm still confused is why resources were not allocated for R0_1 core and startMappedRxch[] are '0' for CPSW, ICSS_0 and ICSS_1 when CPSW is working in other core in default boardcfg.

    e.g. when they checked the values of startMappedRxch[] for CPSW, ICSS_0, ICSS_1, and SAUL, they found '0' values for CPSW, ICSS_0, ICSS_1, and '19' for SAUL.

    In R5 0_0 core, they found below values.

    Could you please clarify this?

    Thanks and Best Regards,

    SI.

  • Hi Anand M,

    This issue can be reproduced using IPC example. e.g. in IPC example, you can reproduce this issue when System_init() was called after adding UDMA in UDMA Sysconfig as below.

    you can find there were differences in the values of '(Udma_DrvHandleInt)&gUdmaDrvObj[0] -> rmInitPrms -> startMappedRing[2] & [3]' and '(Udma_DrvHandleInt)&gUdmaDrvObj[0] -> rmInitPrms -> numMappedRing[6], [7])' of each cores. 

    1) adding UDMA in SysConfig Core R0-0 and R0-1 as below.(instance PKTDMA_0)

    2) when you execute Udma_init(), you can reproduce issues, and you can find there were no resources allocated for R0-1.

    * Core R0-0:

    * Core R0-1: ==> you can find no resources allocated for Core R0-1.

    Thanks and Best Regards,

    SI.

  • Dear Team,

    Any update on this?

    Thanks and Best Regards,

    SI.

  • Hi Si,

    Like I mentioned, the default boardcfg will mostly have resource allocations for the only the examples which we have tested, so if resources are needed on R50_1, it needs to allocated. For that the sciclient_defaultBoardCfg_rm.c file has to be changed, entries need to be added for R50_1, and then the boardcfg has to be regenerated (You have given the reference for this above). For example, in the current sciclient_defaultBoardCfg_rm.c file, around line 815, you can find an entry like this:

    {
                .num_resource = 16,
                .type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_CPSW_RX_CHAN),
                .start_resource = 128,
                .host_id = TISCI_HOST_ID_MAIN_0_R5_1,
    },

    This is an entry for the allocation of PacketDMA rings for CPSW Rx Channel. If you pay attention to each of the members of this struct entry, what this means is that 16 PKTDMA rings starting from 128 for CPSW Rx Channel is allocated to MAIN_0_R5_1 'host'. The host is a different terminology used and is not to be confused with core names. MAIN_0_R5_1 here means R50_0, but non secure host. Had it been R50_0 secure host, it would have been MAIN_0_R5_0.

    Now if you want the same resources to be allocated for R50_1, you need to add an entry just like this one, with host id as TISCI_HOST_ID_MAIN_0_R5_3 (non secure R50_1). You can get a whole list of host ids in mcu_plus_sdk/source/drivers/sciclient/include/tisci/am64x_am243x/tisci_hosts.h

    Once the host id is changed, make sure that the resources used are different for each host. As in, default case you have 16 resources from 128 for R50_0. You can't have the same for R50_1. So split 8 resources each, or if you just want to run this from R50_1, remove the R50_0 entry. After making the changes in this file, please regenerate the boardcfg and rebuild the SBLs. Please try this and let me know what happens.

    Regards,
    Anand M
  • Hi Anand M,

    Thanks for your response.

    They are trying to modify resource file as you suggested, but failed to generate hex header file.

    They modified resource file(sciclient_defaultBoardCfg_rm.c) as below.

    They compiled it as below, 

    cd ${SDK_INSTALL_PATH}

    gmake -s -C tools/sysfw/boardcfg

    they found only 'sciclient_defaultBoardcfg_security.o' file as below, and there is no hex header file described in SDK UG.

     

    When they check the log, they found below error and would like to check if this is normal or not.

    Could you please check below log?

    No implicit rule found for 'C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_security.c'.
    Finished prerequisites of target file 'C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_security.c'.
    No recipe for 'C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_security.c' and no prerequisites actually changed.
    No need to remake target 'C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_security.c'.

    Here is full log.

    gmake log.txt

    Thanks and Best Regards,

    SI.

  • Hi SI,

    Apologies that I didn't ask for the version of SDK you're using. I assumed it is the latest. I think in AM243x SDK 8.2 there was a dependency on the gcc tool chain (objcopy) for generating the boardcfg, that's probably why it is failing. If switching to new SDK is possible then that's the better option, but if you want to stay in 8.2 itself, you have to make changes in the boardcfg makefile to use the objcopy which comes with CCS installation. Here is the change diff:

    30c30,32
    < OBJCOPY=$(CCS_PATH)/utils/tiobj2bin/tiobj2bin
    ---
    > # ObjCopy Tool
    > BOARDCFG_GEN_OBJCOPY?=$(CGT_TI_ARM_CLANG_PATH)/bin/tiarmobjcopy$(EXE_EXT)
    > GCC_ARM_OBJCOPY=$(CGT_GCC_ARM_PATH)/bin/arm-none-eabi-objcopy
    138c140
    <       $(OBJCOPY) $(OBJDIR)/$(notdir $(2)).$(OBJEXT) $(OBJDIR)/$(1).bin.unsigned $(CGT_TI_ARM_CLANG_PATH)/bin/tiarmofd $(CGT_TI_ARM_CLANG_PATH)/bin/tiarmhex $(CCS_PATH)/utils/tiobj2bin/mkhex4bin
    ---
    >       $(GCC_ARM_OBJCOPY) --gap-fill=0xFF -O binary $(OBJDIR)/$(notdir $(2)).$(OBJEXT) $(OBJDIR)/$(1).bin.unsigned

    After this change, the gmake -s -C tools/sysfw/boardcfg should pass without an error log. This is assuming that there are no overlapping resources in your sciclient_defaultBoardCfg_rm.c. I see that you've replace the R50_0 entry with R50_1, so that should be okay.

    Once the boardcfg build is successful, like I mentioned above you can rebuild the SBLs and try.

    Regards,
    Anand M

  • Hi Anand M,

    Thanks to your help, it seemed customer could rebuild boardcfg by modifying resource file, but they could not check it when they boot it with new SBL.

    Could you please let me know how they can check if their modifications were applied well?

    Could you please check below logs if there is any issue in their build?

    gmake -s -C tools/sysfw/boardcfg

    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang>gmake -s PROFILE=release
    Generating SysConfig files ...
    Running script...
    Validating...
    Generating Code (example.syscfg)...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_dpl_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_dpl_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_open_close.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_open_close.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_pinmux_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_power_clock_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_open_close.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_open_close.h...
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: ../../../sciclient_set_boardcfg.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: ../main.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_drivers_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_drivers_open_close.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_board_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_board_open_close.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_dpl_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_pinmux_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out: generated/ti_power_clock_config.c
     .
     Linking: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out ...
     Linking: am243x:r5fss0-0:nortos:ti-arm-clang sciclient_set_boardcfg.release.out Done !!!
     .
     Boot image: am243x:r5fss0-0:nortos:ti-arm-clang C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/sciclient/sciclient_set_boardcfg/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sciclient_set_boardcfg.release.appimage ...
     Boot image: am243x:r5fss0-0:nortos:ti-arm-clang C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/sciclient/sciclient_set_boardcfg/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sciclient_set_boardcfg.release.appimage Done !!!
     .
    
    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang>
    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang>dir
     C 드라이브의 볼륨에는 이름이 없습니다.
     볼륨 일련 번호: 4CF4-F703
    
     C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang 디렉터리
    
    2022-07-26  오후 01:42    <DIR>          .
    2022-07-26  오후 01:42    <DIR>          ..
    2022-04-25  오후 01:20             4,060 example.projectspec
    2022-07-26  오후 01:42    <DIR>          generated
    2022-04-25  오후 01:20             6,279 linker.cmd
    2022-04-25  오후 01:20             8,784 makefile
    2022-04-25  오후 01:20             3,755 makefile_ccs_bootimage_gen
    2022-04-25  오후 01:20               856 makefile_projectspec
    2022-07-26  오후 01:42    <DIR>          obj
    2022-07-25  오후 06:30            45,528 sciclient_set_boardcfg.debug.appimage
    2022-07-25  오후 06:30                52 sciclient_set_boardcfg.debug.appimage_xip
    2022-07-25  오후 06:30            60,025 sciclient_set_boardcfg.debug.map
    2022-07-25  오후 06:30           171,640 sciclient_set_boardcfg.debug.out
    2022-07-25  오후 06:30            45,496 sciclient_set_boardcfg.debug.rprc
    2022-07-25  오후 06:30                20 sciclient_set_boardcfg.debug.rprc_xip
    2022-07-26  오후 01:42            30,560 sciclient_set_boardcfg.release.appimage
    2022-07-26  오후 01:42                52 sciclient_set_boardcfg.release.appimage_xip
    2022-07-26  오후 01:42            58,009 sciclient_set_boardcfg.release.map
    2022-07-26  오후 01:42           177,456 sciclient_set_boardcfg.release.out
    2022-07-26  오후 01:42            30,528 sciclient_set_boardcfg.release.rprc
    2022-07-26  오후 01:42                20 sciclient_set_boardcfg.release.rprc_xip
    2022-04-25  오후 01:20               206 syscfg_c.rov.xs
                  18개 파일             643,326 바이트
                   4개 디렉터리  267,472,056,320 바이트 남음
    
    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-evm\r5fss0-0_nortos\ti-arm-clang>

    gmake -s libs

    * SBL build : C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang>gmake PROFILE=release

    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang>gmake PROFILE=release
    Generating SysConfig files ...
    C:/ti/sysconfig_1.11.0/nodejs/node C:/ti/sysconfig_1.11.0/dist/cli.js --product C:/ti/mcu_plus_sdk_am243x_08_02_00_31/.metadata/product.json --context r5fss0-0 --part ALV --package ALV --output generated/ ../example.syscfg
    Running script...
    Validating...
    Generating Code (example.syscfg)...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_dpl_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_dpl_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_open_close.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_drivers_open_close.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_pinmux_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_power_clock_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_config.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_config.h...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_open_close.c...
    Writing C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang\generated\ti_board_open_close.h...
    C:/ti/ccs1110/ccs/utils/cygwin/mkdir -p obj/release/
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: ../main.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//main.obj ../main.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_drivers_config.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_drivers_config.obj generated/ti_drivers_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_drivers_open_close.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_drivers_open_close.obj generated/ti_drivers_open_close.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_board_config.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_board_config.obj generated/ti_board_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_board_open_close.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_board_open_close.obj generated/ti_board_open_close.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_dpl_config.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_dpl_config.obj generated/ti_dpl_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_pinmux_config.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_pinmux_config.obj generated/ti_pinmux_config.c
     Compiling: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out: generated/ti_power_clock_config.c
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function  -Os  -IC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/include/c -IC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source -Igenerated   -DSOC_AM243X   -MMD -o obj/release//ti_power_clock_config.obj generated/ti_power_clock_config.c
     .
     Linking: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out ...
    C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang -Wl,--diag_suppress=10063 -Wl,--ram_model -Wl,--reread_libs   -Wl,-iC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/kernel/nortos/lib -Wl,-iC:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/lib -Wl,-iC:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/lib   -Wl,-m=sbl_null.release.map -o sbl_null.release.out obj/release/main.obj obj/release/ti_drivers_config.obj obj/release/ti_drivers_open_close.obj obj/release/ti_board_config.obj obj/release/ti_board_open_close.obj obj/release/ti_dpl_config.obj obj/release/ti_pinmux_config.obj obj/release/ti_power_clock_config.obj -lnortos.am243x.r5f.ti-arm-clang.release.lib -ldrivers.am243x.r5f.ti-arm-clang.release.lib -llibc.a   linker.cmd
     Linking: am243x:r5fss0-0:nortos:ti-arm-clang sbl_null.release.out Done !!!
     .
    C:/ti/ccs1110/ccs/utils/tiobj2bin/tiobj2bin sbl_null.release.out sbl_null.release.bin C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmofd C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmhex C:/ti/ccs1110/ccs/utils/tiobj2bin/mkhex4bin
     Boot image: am243x:r5fss0-0:nortos:ti-arm-clang C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.tiimage ...
    python C:/ti/mcu_plus_sdk_am243x_08_02_00_31/tools/boot/signing/rom_image_gen.py --swrv 1 --sbl-bin C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.bin --sysfw-bin C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/soc/am64x_am243x/sysfw.bin --boardcfg-blob C:/ti/mcu_plus_sdk_am243x_08_02_00_31/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/boardcfg_blob.bin     --sbl-loadaddr 0x70000000 --sysfw-loadaddr 0x44000 --bcfg-loadaddr 0x7B000 --key C:/ti/mcu_plus_sdk_am243x_08_02_00_31/tools/boot/signing/rom_degenerateKey.pem --rom-image C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.tiimage
    C:/ti/ccs1110/ccs/utils/cygwin/cp C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.tiimage tiboot3.bin
    C:/ti/ccs1110/ccs/utils/cygwin/cp C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.tiimage C:/ti/mcu_plus_sdk_am243x_08_02_00_31/tools/boot/sbl_prebuilt/am243x-evm/
    C:/ti/ccs1110/ccs/utils/cygwin/rm -f temp_stdout_release.txt
     Boot image: am243x:r5fss0-0:nortos:ti-arm-clang C:/ti/mcu_plus_sdk_am243x_08_02_00_31/examples/drivers/boot/sbl_null/am243x-evm/r5fss0-0_nortos/ti-arm-clang/sbl_null.release.tiimage Done !!!
     .
    
    C:\ti\mcu_plus_sdk_am243x_08_02_00_31\examples\drivers\boot\sbl_null\am243x-evm\r5fss0-0_nortos\ti-arm-clang>

    For SDKv8.3, they tried to use it, but they failed to build even with basic option. They are checking it to use SDKv8.3 now.

    Thanks and Best Regards,

    SI.

  • Hi SI,

    I don't see any issues in the logs. Unfortunately there is no explicit way to check if the modifications are applied other than checking the application. After rebuilding the boardcfg, the source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/boardcfg_blob.bin would differ, that's a change noticeable. If you build the sbl_null then without the -s option, you can see that this binary is used in creation of the sbl_null.release.appimage image. I understand that the customer is trying the SDK 8.3. Let me know any more issues faced, I am waiting for your response.

    Regards,
    Anand M

  • Hi Anand M,

    Thanks for your response.

    Thanks to your help, they successfully rebuild SBL by modifying resource file in SDKv8.3, and they can find right resources would be allocated for other cores.

    Thanks and Best Regards,

    SI.