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.

RTOS/CC2640R2F: CC2640R2F hangs up during I2C write

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640,

Tool/software: TI-RTOS

I am using simplelink_cc2640r2_sdk_1_40_00_45 and SmartRF06 to migrate my project from CC2640 to CC2640R2F for BLE4.2. The program hangs when I execute the following code:

//I2C
bspI2cInit();
//

uint8 Data2[2]={0};
Data2[0]= 0x0B;
Data2[1]= 0X0D;
bspI2cWrite(Data2,2);

I trace down and find the spot is inside I2CCC26xx.c,  "bool I2CCC26XX_transfer(I2C_Handle handle, I2C_Transaction *transaction)". there are codes:

/* Set standby disallow constraint. */
Power_setConstraint(PowerCC26XX_SB_DISALLOW);

/* Acquire the lock for this particular I2C handle */
SemaphoreP_pend(&(object->mutex), SemaphoreP_WAIT_FOREVER);

/*
* I2CCC26XX_primeTransfer is a longer process and
* protection is needed from the I2C interrupt
*/

HwiP_disableInterrupt(hwAttrs->intNum);
status = I2CCC26XX_primeTransfer(handle, transaction);
HwiP_enableInterrupt(hwAttrs->intNum);

when the last instruction is executed, the program hang up. 

Please help!