[FAQ] PROCESSOR-SDK-AM64X: AM64x example appears to be broken when using SysConfig v1.20 with M4 core

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi,

I've updated the MCU+ SDK from v9 to v10.00.00.20 and as per the migration advise I'm trying to generate new syscfg files. However when trying to create a new project in SysConfig for AM64x m4fss0-0 results in the error

Cannot read properties of undefined (reading 'length')

at loaderFunc (C:\ti\mcu_plus_sdk_am64x_10_00_00_20\source\sysconfig\drivers\.meta\ospi\v0\ospi_v0.syscfg.js:161:33)

at func (webpack://sysconfig/src/pinmux/services/resources/metaContentLoaders/resourceLoader.ts:238:45)

at internalBoundary (webpack://sysconfig/src/pinmux/services/niceExceptions.ts:53:10)

at t.ResourceLoader.loadResource (webpack://sysconfig/src/pinmux/services/resources/metaContentLoaders/resourceLoader.ts:238:22)

at t.ResourceLoader.getResource (webpack://sysconfig/src/pinmux/services/resources/metaContentLoaders/resourceLoader.ts:338:15)

at Object.getScript (webpack://sysconfig/src/pinmux/services/resources/runtime.ts:95:25)

at getModule (C:\ti\mcu_plus_sdk_am64x_10_00_00_20\source\sysconfig\drivers\.meta\ospi\ospi.syscfg.js:9:19)

at loaderFunc (C:\ti\mcu_plus_sdk_am64x_10_00_00_20\source\sysconfig\drivers\.meta\ospi\ospi.syscfg.js:12:11)

at func (webpack://sysconfig/src/pinmux/services/resources/metaContentLoaders/resourceLoader.ts:238:45)

at t.internalBoundary (webpack://sysconfig/src/pinmux/services/niceExceptions.ts:53:10)

Am I doing something wrong or is this a known issue and if so is there a workaround ?

  • The root cause of the issue is that the SDK v10.0.0.20 is missing some configuration in the ospi_am64x_syscfg.js file located at path ${MCU+SDK}/source/sysconfig/drivers/.meta/ospi/soc.

    Please replace the getDefaultConfig() and getConfigArr() function in the above mentioned file with below provided code.

    function getDefaultConfig()
    {
        if(common.getSelfSysCfgCoreName().match(/r5f*/) || common.getSelfSysCfgCoreName().match(/m4f*/))
        {
            return ospi_config_r5fss[0];
        }
        else if(common.getSelfSysCfgCoreName().match(/a53*/))
        {
            return ospi_config_a53ss[0];
        }
    }
    
    function getConfigArr() {
    
        if(common.getSelfSysCfgCoreName().match(/r5f*/) || common.getSelfSysCfgCoreName().match(/m4f*/))
        {
            return ospi_config_r5fss;
        }
        if(common.getSelfSysCfgCoreName().match(/a53*/))
        {
            return ospi_config_a53ss;
        }
    }

    After making the above changes save the file and re-open the example.syscfg file. You will now be able to open sysconfig without errors.

    Regards,

    Tushar