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.

TDA4VM: Are there any special requirements for placement of the .boardcfg_data and .bss.devgroup section in the ti code of SDK package?

Part Number: TDA4VM
Other Parts Discussed in Thread: DRA829

we are use DRA829 SDK 8.0, it can execution Sciclient_pmSetModuleState function, Although success was returned, the actual setting failed.
After exclusion and testing, it is found that it is a problem with the link file. If both .bss.devgroup and .bss.devgroup defined by section are placed in the same area, the function of Sciclient_pmSetModuleState is success.


Link file before modification:
MEMORY
{
     ……
OCMC_RAM_OS_QM_CORE0 : ORIGIN = 0x41C40000 , LENGTH = 0x00040000 /* 256 KiB */
DDR0_RAM_LOAD_DATA : ORIGIN = 0x803BFF80 , LENGTH = 0x00040000 /* 256 KiB */
    …...
}

SECTIONS
{
     ……
  .TI_sysfw_sections_data_devgroup : ALIGN(4)
  {
    _TI_sysfw_sections_data_devgroup_START = .;
    *(.boardcfg_data)
    *(.data_user)
    . = ALIGN(4);
    _TI_sysfw_sections_data_devgroup_END = . - 1;
    _TI_sysfw_sections_data_devgroup_LIMIT = .;
  } > DDR0_RAM_LOAD_DATA, RUN > OCMC_RAM_OS_QM_CORE0,

  .TI_sysfw_sections_bss_devgroup : ALIGN(4)
  {
    _TI_sysfw_sections_bss_devgroup_START = .;
    *(.bss.devgroup.DMSC_INTERNAL)
    *(.bss.devgroup.MAIN)
    *(.bss.devgroup.MCU_WAKEUP)
    . = ALIGN(4);
    _TI_sysfw_sections_bss_devgroup_END = . - 1;
    _TI_sysfw_sections_bss_devgroup_LIMIT = .;
  } > OCMC_RAM_OS_QM_CORE0
     ……
}


Link file after modification:
MEMORY
{
     ……
OCMC_RAM_OS_QM_CORE0 : ORIGIN = 0x41C40000 , LENGTH = 0x00040000 /* 256 KiB */
DDR0_RAM_LOAD_DATA : ORIGIN = 0x803BFF80 , LENGTH = 0x00040000 /* 256 KiB */
    …...
}

SECTIONS
{
  ......
  .TI_sysfw_sections_data_devgroup : ALIGN(4)
  {
    _TI_sysfw_sections_data_devgroup_START = .;
    *(.boardcfg_data)
    *(.data_user)
    *(.bss.devgroup.DMSC_INTERNAL)
    *(.bss.devgroup.MAIN)
    *(.bss.devgroup.MCU_WAKEUP)
    . = ALIGN(4);
    _TI_sysfw_sections_data_devgroup_END = . - 1;
    _TI_sysfw_sections_data_devgroup_LIMIT = .;
  } > DDR0_RAM_LOAD_DATA, RUN > OCMC_RAM_OS_QM_CORE0,
  ......
}

Looking at the official documentation of Ti, it is not found that .boardcfg _ data and .bss.devgroup need special placement.
I don't know why?Are there any special requirements for placement of the .boardcfg_data and .bss.devgroup section in the ti code of SDK package?


Thanks.