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.

IWR6843AOPEVM: Questions about mmwave sdk i2c driver

Part Number: IWR6843AOPEVM
Other Parts Discussed in Thread: IWR6843AOP, IWR6843, TIDEP-0091, CCSTUDIO

Hi!

Thanks for taking time to solve my problem.

I am trying to use iwr6843aop to control the LP87524J PMIC on the EVM module through i2c. I wish to set the EN_BUCK0 bit in the BUCK0_CTRL1 register of PMIC to 0 to disable the BUCK0 output.

I do this by using the i2c driver in the mmwave sdk. Like the documentation of the PMIC menstioned, I send the register address 0x02 and register content 0x44 (which is the default configuration expect the EN_BUCKx bit is 0) through i2c to the pmic address 0x60.

the documentation about i2c master driver is shown below:

Register definition of PMIC

The message sending code is here:

My first question is that whether I am doing the right thing. Will this disable the output of BUCK0?

My second question is as follow:

I do the exact same thing as my understanding of documenttion, and successfully build the project.

But I am running into a problem:

When I call the I2C_transfer function, it does not return:

code:

console

As you can see, the i2c transfer complete message is not printed in the console. I have checked that there is no break point stopping the program and the output of PMIC BUCK0 is not disabled.

I am wondering why it is not working.

Besides, I have another question.

Interestingly, if I stop the program when iwr6843 is running, it shows that it is in a idle loop. Is the IWR6843 is doing tasks parallely. I am aware of RTOS, but I really can not understand what exactly it is about.

Thanks!