Unable to read Family ID and Revision ID of CYT2B95CAS controller in free run, but with debugger connected able to read it

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
yoga
Level 1
Level 1
First like received 5 sign-ins First reply posted

I am able to read  Silicon ID, Flash boot version, SROM FW version of CYT2B95CAS controller in free run and debugger connected.

But, with same process I am unable to read Family ID and Revision ID n free run, if i connected debugger i am able to read it.

making use of IPC mechanism to read these data (PFA attachment ).

pls let me know if am missing something thanks in advance.

 

yoga_0-1690870747435.png

 

0 Likes
1 Solution
Reza_A
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes given

Hi @yoga,

 

Randriad_0-1690966689474.png

 

Above is the screenshot of Table 33-74. Arguments of IPC_STRUCT.DATA[0] = 1 in the TRM, it is described if you set the value of IPC_STRUCT.DATA[0] = 1, trying to get Family ID and Revision ID will return 0, but CPUSS_PRODUCT_ID can be used to get those values. 

There's an example code in the SDL (Sample Driver Library) available under the srom folder to read Silicon ID registers.

In the provided example, IPC_STRUCT.DATA[0] equals 0 when the Cy_Srom_CallApi() is invoked, so the API parameters and results are stored in the SRAM_SCRATCH, and the address of the SRAM_SCRATCH will be stored in the IPC_STRUCT.DATA. Do you use the same process to read Silicon ID registers in your code? Kindly check the SDL example code and modify your code by referring to it.

I hope this helps.

Best regards.

View solution in original post

0 Likes
1 Reply
Reza_A
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes given

Hi @yoga,

 

Randriad_0-1690966689474.png

 

Above is the screenshot of Table 33-74. Arguments of IPC_STRUCT.DATA[0] = 1 in the TRM, it is described if you set the value of IPC_STRUCT.DATA[0] = 1, trying to get Family ID and Revision ID will return 0, but CPUSS_PRODUCT_ID can be used to get those values. 

There's an example code in the SDL (Sample Driver Library) available under the srom folder to read Silicon ID registers.

In the provided example, IPC_STRUCT.DATA[0] equals 0 when the Cy_Srom_CallApi() is invoked, so the API parameters and results are stored in the SRAM_SCRATCH, and the address of the SRAM_SCRATCH will be stored in the IPC_STRUCT.DATA. Do you use the same process to read Silicon ID registers in your code? Kindly check the SDL example code and modify your code by referring to it.

I hope this helps.

Best regards.

0 Likes