TI AWR1642 build with RT-Druid : Assert on AWR1642

Forum related to ERIKA Enterprise and RT-Druid version 3

Moderator: paolo.gai

Locked
TronManI

TI AWR1642 build with RT-Druid : Assert on AWR1642

Post by TronManI »

Hi ,
I used the RT-Druid V3 on the AWR1642 and see the below error when I execute the binary.

[Cortex_R4_0]
ASSERT ERROR: file platform/soc_xwr16xx_mss.c[line:967]

It looks to me like some issue in the build of the code wrt to the memory bank usage.

Can someone help?

-TronManI
e.guidieri

Re: TI AWR1642 build with RT-Druid : Assert on AWR1642

Post by e.guidieri »

Hi,

first a couple of questions just to be sure that we are on the same page.

Are you using the specific version of mmWave-SDK stated in the support wiki page?

http://www.erika-enterprise.com/wiki/in ... TI_AWR16XX

Actually only the version MMWAVE-SDK 02_01_00_04 is supporrted (the latest LTS version).

http://software-dl.ti.com/ra-processors ... x_FDS.html

Said that, have you started from the tutorial?

http://www.erika-enterprise.com/wiki/in ... h_RT-Druid

If not your main function looks like this

Code: Select all

int main(void) {
  int             errMain;
  int32_t         errCode;
  SOC_Cfg         socCfg;

  /* Initialize the SOC configuration: */
  memset ((void *)&socCfg, 0, sizeof(SOC_Cfg));

  printf("\n"); /* The first printf is used as lazy initialization of stdout */

  
  esmHandle = ESM_init(1); /* Clear the Errors */
  /* In this example ESM handler is not used but in general must be kept. */
  (void)esmHandle;

  /* Populate the SOC configuration: */
  socCfg.clockCfg = SOC_SysClock_INIT;

  /* Initialize the SOC Module */
  socHandle = SOC_init(&socCfg, &errCode);

  if (socHandle  == NULL)
  {
    printf ("Error: SOC Module Initialization failed [Error code %d]\n", errCode);
    errMain = -1;
  } else {
    printf("!!!Hello World!!!\n");
    errMain = 0;
  }

  if (errMain == 0) {
    StartOS(OSDEFAULTAPPMODE);
  }

  return errMain;
}
TronManI

Re: TI AWR1642 build with RT-Druid : Assert on AWR1642

Post by TronManI »

Hi,
I have used the SDK 2.1.0.4 from the link provided.
I followed the steps to setup and build as mentioned in your tutorial.
After loading the code to the target program is stopped at main() and then when I execute it, I get the assert.

I am pretty sure it is to do with the build as some of the build options mentioned int he mmWaveSDK and the "ee_arch_compiler_ti_cgt_arm.mk" do not match up.

The error is in the "SOC_getL3RAMNumBanks()" of "mmwave_sdk_02_01_00_04\packages\ti\drivers\soc\platform\soc_xwr16xx_mss.c" .
e.guidieri

Re: TI AWR1642 build with RT-Druid : Assert on AWR1642

Post by e.guidieri »

But,

are you sure that you are working with a awr 16xx and not a 14xx (these configuration are pretty standard AFAIK), or is a custom 16xx?

In any case try this:

Enable compiler minimal opt:

Code: Select all

   CPU_DATA = CORTEX_R {
     COMPILER = TI_CGT_ARM{
          MINIMAL_OPTS = TRUE;
     };
     ...
   };

and provide the configuration through CFLAGS

Code: Select all

CFLAGS="--define=SOC_XWR16XX"; /* is it right? */
CFLAGS="--define=SUBSYS_MSS";   /* This is a must  */
CFLAGS="--define=DOWNLOAD_FROM_CCS2"; /* is this  a must?  */
CFLAGS="--define=MMWAVE_L3RAM_SIZE=0xC0000"; /* Change this with the right value,  this is the macro that configure the check that fail */
CFLAGS="--define=DebugP_ASSERT_ENABLED"; /* keep this one */
CFLAGS="--diag_warning=225"; /* No idea, what this does */
Locked