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.

MSPM0G3507: SysConfig produces code that will not compile

Part Number: MSPM0G3507
Other Parts Discussed in Thread: SYSCONFIG,

ti_msp_dl_config.h ti_msp_dl_config.c 

 

Hi,

I am using CCS21 and sysconfig_1.28.1 and mspm0_sdk_2_11_00_07 and the MSPM0G3507

When I compile the code the follow error is consistently generated in the "ti_msp_dl_config.c" file generated by the SysConfig file "basic_node.syscfg"   (files attached)

Arm Compiler: "ti_msp_dl_config.c"
[10]ti_msp_dl_config.c:213:9: warning: call to undeclared function 'DL_SYSCTL_enableSYSPLL'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  213 |         DL_SYSCTL_enableSYSPLL();
      |         ^
1 warning generated

The error is in the function "SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void)" copied below.

The DL_SYSCTL_disableSYSPLL(); does not error

 

I tried adding the include directly with no effect.

#include "C:\ti\mspm0_sdk_2_11_00_07\source\ti\driverlib\m0p\sysctl\dl_sysctl_mspm0g1x0x_g3x0x.h"

Can someone point me in the right direction to correct this issue?

Thanks,

Mike 

 

SysConfig Function:
 
SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void)
{

    //Low Power Mode is configured to be SLEEP0
    DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0);
    DL_SYSCTL_setFlashWaitState(DL_SYSCTL_FLASH_WAIT_STATE_2);

   
    DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE);
    DL_SYSCTL_setHFCLKSourceHFXTParams(DL_SYSCTL_HFXT_RANGE_32_48_MHZ,10, true);
    DL_SYSCTL_configSYSPLL((DL_SYSCTL_SYSPLLConfig *) &gSYSPLLConfig);

    /*
     * [SYSPLL_ERR_01]
     * PLL Incorrect locking WA start.
     * Insert after every PLL enable.
     * This can lead an infinite loop if the condition persists
     * and can block entry to the application code.
     */

    while (SYSCFG_DL_SYSCTL_SYSPLL_init() == false)
    {
        /* Toggle SYSPLL enable to re-enable SYSPLL and re-check incorrect locking */
        DL_SYSCTL_disableSYSPLL();  // *** OK ***
        DL_SYSCTL_enableSYSPLL();   //***** ERROR is at this line ******

        /* Wait until SYSPLL startup is stabilized*/
        while ((DL_SYSCTL_getClockStatus() & SYSCTL_CLKSTATUS_SYSPLLGOOD_MASK) != DL_SYSCTL_CLK_STATUS_SYSPLL_GOOD){}
    }
    DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_2);
    DL_SYSCTL_setMCLKSource(SYSOSC, HSCLK, DL_SYSCTL_HSCLK_SOURCE_SYSPLL);
}
  • Hi Mike,

    I import the sysctl_mclk_syspll_LP_MSPM0G3507_nortos_ticlang in CCS21 and it compiled without error.

    I think this is due to you are using a previous SDK version whose static library does not include this new API in driverlib.a

    Please double check the inlcude path below:

    Or you can try import the example from the SDK 2.11 and manually add your own code.

    B.R.

    Sal

  • Sal, Thank you very much!


    It was an issue with the SDK. I had 2.11 loaded but the project directory had older libraries in it.1
    Cleared the libraries and reapplied in project and it now compiles.

    I should have thought that I guess. 

    Again thanks for the reply and the direction.

    Mike

**Attention** This is a public forum