cancel
Showing results for 
Search instead for 
Did you mean: 

Error when running I3C_Controller/Target_Private_Command_IT

JRM_02
Associate II

So I am using 2 Nucleo-H563ZI boards, one as controller and the other target, and referencing the knowledge base post "How to set up and run the I3C_Private_Command_IT controller and target example projects." I have a couple questions and issues with running these example projects however (at the time of writing this post it has not been shown to work), and am looking for any insight or clarification. 

1) I downloaded the I3C_Controller_Private_Command_IT project from EXAMPLES_MIX and it did not work at all because even after flashing the board, the LED never turned on or began toggling. Anybody know why? I get this issue only with the MIX example, not the LL version of the example project.

2) I loaded I3C_Target_Private_Command_IT and I3C_Controller_Private_Command_IT from EXAMPLES_LL, made no changes to them, and I cannot get them to work following the example instructions from the knowledge base post. I currently believe there is some setting in the compile that I am not setting correctly, because the analyzer I have plugged into the bus always shows a start or start_repeat followed by a 0x7F, never a 0x7E. Why would it be sending out a 0x7F? It's as if the wrong code is being generated. On the controller board, I see the green LED blinking 3 times a second (as intended), then after I press the blue button, it blinks slowly (not intended - indicates error), and the target board LED never turns on in response. This is correct if 0x7F instead of 0x7E is being transmitted, but why is that happening? What settings should we be using for the compile and debug? The MX settings on the I3C wiki differ from the example project .IOC default settings. Is this a factor? The wiki lists different clock and pin settings than the actual example defaults, but they are also using a different board, so I haven't changed the defaults. I believe using pins PB8 and PB9 are correct (although different from the wiki), but should the clock settings be different too? Or the same as the wiki?

3) I see 0x40005C60 in I3C_DEVR0 register on both the Target and the Controller and bits 1-7 are the dynamic address, which is 0x30. Does anyone know why they would be showing as the same? I assumed they would have different addresses...am I reading this wrong?

4) Is there a different version of the firmware I should be using than V3J15M6? I can't find a list of firmware versions so I'm not sure if this is the latest, but its the current one on both boards.

5) Under project manager in the .IOC file, there is an option for "enable multi-threaded support." Should this be enabled? Or does it not matter?

I have tried walking the code on the controller side and just end up in the error handler after the line "while(ubFrameComplete == 0U);" I have tried switching the boards roles (made the controller board the target instead, and vise versa), completely deleting and reimporting the projects, and even including RSTDAA before ENTDAA (in case the error was because it already had a dynamic address) and every time I am getting the same results: controller LED flashes quickly, I press the blue button, analyzer interprets a 0x7F being broadcasted, the target LED never comes on, and the controller begins blinking slowly. What could be going wrong? Is it a setting for the code generation? That's what I'm thinking but have no idea what setting it could be. 

I have included the .IOC files in case any one can see anything incorrect. They are currently set to the example defaults though.

Thank you in advance for any help at all! Any ideas are welcome at this point! And if any additional info about the set up is needed I will be happy to supply until this is figured out.

1 REPLY 1
Dor_RH
ST Employee

Hello @JRM_02 , 

We have already tested the example in stm32cubeh5-v1-2-0 on st.com, and it is fully functional.

To address the issues, you might find the following link useful for setting up and running the I3C_Private_Command_IT controller and target example projects, provided by the ST community

I hope my answer has helped you. When your question is answered, please select this topic as solution that answered you, it will help others find that answer faster.

Thanks for your contribution.

Dor_RH