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.

CC2650EM TI-MAC example problem

Other Parts Discussed in Thread: TIMAC, CC2650

Hi,

I am trying to run the TI-MAC example for CC2650EM to evaluate the product.

I downloaded TI-MAC version 1.5.2 from http://www.ti.com/tool/TIMAC

My current setup:
CC2650EM-4XS 1.0 board
with a SmartRF06EB PCB v1.2

I am using IAR Embedded Workbench for ARM 7.40.2.8570 to compile the project. I'm currently running it on Windows 7 Enterprise.

I opened the project as per the instructions at the following location:
C:\ti\simplelink\timac_1_05_02_43299\Projects\mac\Sample\cc26xx_RTOS\IAR Projects\Application\CC2650

I had a problem since the Custom Arguments Variables were not loaded. The troubleshooting did not help, however, I found a forum that suggested to open the custom_argvars file in the location specified above (which worked). I loaded the following file:

msa_cc2650_pg2.2.custom_argvars

I erased the flash memory of the CC2650 as instructed. I compiled and loaded the cc2650Stack.

I then compiled and loaded the application (msa_cc2650), but nothing happens (I was expecting LED4 to flash which did not happen).

When I press pause during applcation debug, the call stack shows that I am stuck at (abort + 0x2edf) or + ex2edd).

If I step through the code from the beginning of the application, it stops at

BIOS_start();

More specifically, when I press Step, I never reach another step, but when I press pause, it is stuck in a while loop inside

void halAssertHandler( void )
{
#if defined( HAL_ASSERT_RESET )
  HAL_SYSTEM_RESET();
#elif defined ( HAL_ASSERT_LIGHTS )
  halAssertHazardLights();
#elif defined( HAL_ASSERT_SPIN )
  volatile uint8 i = 1;
  HAL_DISABLE_INTERRUPTS();
  while(i);
#endif

  return;
}

The call stack shows that it failed during this MB_ASSERT inside MB_SendCommand:

MB_ASSERT( (MB_CMDSTA_REG & 0xFF) == CMDSTA_DONE || (MB_CMDSTA_REG & 0xFF) == CMDSTA_SCH_ERR );

The line of code that sent the command is the first one inside macMcuInit()
MB_SendCommand( BUILD_DIRECT_CMD( CMD_START_RAT ) );

The register MB_CMDSTA_REG contains the error code: ContextError (0x85)

My question is: what am I doing wrong?

How do I get the example to work?

Thank you.

  • Try to change to MODULE_CC26XX_7X7 define to MODULE_CC26XX_4X4 in compile option.

  • That worked!!
    Thank you very much!

    The IO mapping was different on the CC2650EM-7ID from the CC2650EM-4XS and that's why it didn't work. With the correct define, it works.

    I would also like to add that the instructions in the user's guide mention to use the RIGHT button and that LED1 should be blinking at some point.

    On the 4XS board, the RIGHT button is not mapped to the EVM board, so you have to use the SELECT button instead.
    LED1 and LED2 are not mapped as well, so you have to rely on the LED3 to see whether the "receiving" device is receiving the packets (I validated with the TI packet sniffer to make sure that packets were really sent)
  • You are welcome and it's good to know it works now.