i3c_polling_b2b_transfer_slave#
Overview#
The example shows how to use i3c driver as slave to do board to board transfer with a polling master.
In this example, one i3c instance as slave and another i3c instance on the other board as master. Master first sends a piece of data to slave in I2C mode, and receive a piece of data from slave and check if the data received from slave is correct. Then master will enter dynamic address cycle to assign address to the connected slave, after success, will use I3C SDR mode to transfer data, then receive data from the connected I3C slave and check the data consistency.
Supported Boards#
MIMXRT1180-EVK
Hardware requirements
Micro USB cable
Two MIMXRT1180-EVK boards
Personal Computer
Board settings
Weld 1.5kΩ to R778. I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C2 pins of MASTER_BOARD are connected with I3C2 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C2_CLK J50-1 I3C2_CLK J50-1
I3C2_SDA J50-2 I3C2_SDA J50-2
GND J50-4 GND J50-4
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
EVK-MIMXRT595
Hardware requirements
Micro USB cable
EVK-MIMXRT595 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P2_29 J18-1 P2_29 J18-1
P2_30 J18-2 P2_30 J18-2
GND J18-4 GND J18-4
Prepare the Demo
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J40) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Launch the debugger in your IDE to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
EVK-MIMXRT685
Hardware requirements
Micro USB cable
EVK-MIMXRT685 board
Personal Computer
Board settings
Please notice that the I3C module can only work for 1.8V on the board, short JP12 1-2. I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P2_29 J18-1 P2_29 J18-1
P2_30 J18-2 P2_30 J18-2
GND J18-4 GND J18-4
Prepare the Demo
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J5) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Launch the debugger in your IDE to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA153
Hardware requirements
Type-C USB cable
FRDM-MCXA153 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P0_16 J20 P0_16 J20
P0_17 J21 P0_17 J21
GND J6-8 GND J6-8
Prepare the Demo
Connect a Type-C USB cable between the host PC and the MCU-Link port(J15) on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Remove jumper J43 3-4.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA156
Hardware requirements
Type-C USB cable
FRDM-MCXA156 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C0_SCL/P1_9 J8-3 P1_9 J8-3
I3C0_SDA/P1_8 J8-4 P1_8 J8-4
GND J5-8 GND J5-8
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The log below shows the output of the hello world demo in the terminal window:
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXN236
Hardware requirements
Type-C USB cable
FRDM-MCXN236 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P1_16 J9-4 P1_16 J9-4
P1_17 J9-3 P1_17 J9-3
GND J8-2 GND J8-2
Prepare the Demo
Connect a type-c USB cable between the PC host and the MCU-Link USB port (J10) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXN947
Hardware requirements
Type-C USB cable
FRDM-MCXN947 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P1_16 J5-3 P1_16 J5-3
P1_17 J5-4 P1_17 J5-4
GND J5-8 GND J5-8
Prepare the Demo
Connect a type-c USB cable between the PC host and the MCU-Link USB port (J17) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXN947T
Hardware requirements
Type-C USB cable
FRDM-MCXN947T board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P1_16 J5-3 P1_16 J5-3
P1_17 J5-4 P1_17 J5-4
GND J5-8 GND J5-8
Prepare the Demo
Connect a type-c USB cable between the PC host and the MCU-Link USB port (J17) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXW71
Hardware requirements
Type-C USB cable
FRDM-MCXW71 Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
EVK board: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(I3C0) connect to SLAVE(I3C0) Pin Name Board Location Pin Name Board Location SCL J2 pin 1 SCL J2 pin 1 SDA J2 pin 2 SDA J2 pin 2 GND J2 pin 4 GND J2 pin 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Other jumpers keep default configuration.
Prepare the Demo
Connect the micro and mini USB cable between the PC host and the USB ports on the board.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
MCX-W71-EVK
Hardware requirements
Type-C USB cable
MCX-W71-EVK Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
EVK board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 1 SCL J2 pin 1
SDA J2 pin 3 SDA J2 pin 3
GND J2 pin 7 GND J2 pin 7
Other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the EVK board J14.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
KW45B41Z-EVK
Hardware requirements
Mini/micro USB cable
KW45B41Z-EVK Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
EVK board: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(I3C0) connect to SLAVE(I3C0) Pin Name Board Location Pin Name Board Location SCL J2 pin 9 SCL J2 pin 9 SDA J2 pin 10 SDA J2 pin 10 GND J10 pin 4 GND J10 pin 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Other jumpers keep default configuration.
Prepare the Demo
Connect the micro and mini USB cable between the PC host and the USB ports on the board.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
KW47-EVK
Hardware requirements
Type-C USB cable
KW47-EVK Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
EVK board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 1 SCL J2 pin 1
SDA J2 pin 3 SDA J2 pin 3
GND J2 pin 7 GND J2 pin 7
Other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the EVK board J14.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
LPCXpresso55S36
Hardware requirements
Micro USB cable
LPCXpresso55S36 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P0_9 J9-20 P0_9 J9-20
P0_24 J9-18 P0_24 J9-18
GND J9-14 GND J9-14
Connect the jumper resistor R554 2-3.
Prepare the Demo
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J1) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
LPCXpresso860MAX
Hardware requirements
Micro USB cable
LPCXpresso860max board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P0_26 J1-2 P0_26 J1-2
P1_14 J1-4 P1_14 J1-4
GND J1-14 GND J1-14
Prepare the Demo
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J4) on the board
Open a serial terminal with the following settings:
9600 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
MCIMX93AUTO-EVK
Hardware requirements
USB Type-C cable
MCIMX93AUTO-EVK board
Personal Computer
Board settings
To make the example work, connections needed to be as follows:
MASTER connect to SLAVE
Pin Name Board Location Pin Name Board Location
SCL J17 pin 16 SCL J17 pin 16
SDA J17 pin 18 SDA J17 pin 18
GND J17 pin 29 GND J17 pin 29
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and JLink Plus to the board, switch SW2 to power on the board
Connect a USB Type-C cable between the host PC and the J26 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the demo.
Tips: The I3C use the same PHY pin as LPI2C, Acore already use the i2c resource. Please test the function in “LOW POWER MODE” only.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished .
MCIMX93-EVK
Hardware requirements
USB Type-C cable
MCIMX93-EVK board
Personal Computer
Board settings
To make the example work, connections needed to be as follows:
MASTER connect to SLAVE
Pin Name Board Location Pin Name Board Location
SCL J1005 pin 3 SCL J1005 pin 3
SDA J1005 pin 5 SDA J1005 pin 5
GND J1005 pin 7 GND J1005 pin 7
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and JLink Plus to the board, switch SW301 to power on the board
Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the demo.
Tips: The I3C use the same PHY pin as LPI2C, Acore already use the i2c resource. Please test the function in “LOW POWER MODE” only.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished .
MCIMX93W-EVK
Hardware requirements
USB Type-C cable
MCIMX93W-EVK board
Personal Computer
Board settings
To make the example work, connections needed to be as follows:
MASTER connect to SLAVE
Pin Name Board Location Pin Name Board Location
SCL J1005 pin 3 SCL J1005 pin 3
SDA J1005 pin 5 SDA J1005 pin 5
GND J1005 pin 7 GND J1005 pin 7
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and JLink Plus to the board, switch SW301 to power on the board
Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the demo.
Tips: The I3C use the same PHY pin as LPI2C, Acore already use the i2c resource. Please test the function in “LOW POWER MODE” only.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished .
MCIMX93-QSB
Hardware requirements
USB Type-C cable
MCIMX93-QSB board
Personal Computer
Board settings
To make the example work, connections needed to be as follows:
MASTER connect to SLAVE
Pin Name Board Location Pin Name Board Location
SCL J1005 pin 3 SCL J1005 pin 3
SDA J1005 pin 5 SDA J1005 pin 5
GND J1005 pin 7 GND J1005 pin 7
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and JLink Plus to the board, switch SW301 to power on the board
Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the demo.
Tips: The I3C use the same PHY pin as LPI2C, Acore already use the i2c resource. Please test the function in “LOW POWER MODE” only.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished .
MCX-N5XX-EVK
Hardware requirements
Micro USB cable
MCX-N5XX-EVK board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P1_16 J17 P1_16 J17
P1_17 J18 P1_17 J18
GND J19-8 GND J19-8
Prepare the Demo
Connect a micro USB cable between the PC host and the MCU-Link USB port (J5) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
MCX-N9XX-EVK
Hardware requirements
Micro USB cable
MCX-N9XX-EVK board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P1_16 J17 P1_16 J17
P1_17 J18 P1_17 J18
GND J19-8 GND J19-8
Prepare the Demo
Connect a micro USB cable between the PC host and the MCU-Link USB port (J5) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
MCX-W72-EVK
Hardware requirements
Type-C USB cable
MCX-W72-EVK Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
EVK board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 1 SCL J2 pin 1
SDA J2 pin 3 SDA J2 pin 3
GND J2 pin 7 GND J2 pin 7
Other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the EVK board J14.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
MIMXRT685-AUD-EVK
Hardware requirements
Micro USB cable
MIMXRT685-AUD-EVK board
Personal Computer
Board settings
Make sure the R470, R471 option B(2-3) is connected to route the I3C signal to J18. Please notice that the I3C module can only work for 1.8V on the board, short JP12 1-2. I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
P2_29 J18-1 P2_29 J18-1
P2_30 J18-2 P2_30 J18-2
GND J18-4 GND J18-4
Prepare the Demo
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J5) on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Launch the debugger in your IDE to begin running the demo.
Running the demo
The following message shows in the terminal if the example runs successfully.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished .
MIMXRT700-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT700-EVK board
Personal Computer
Board settings
Jumper setting:
EVK board: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(I3C3) connect to SLAVE(I3C3) Pin Name Board Location Pin Name Board Location SCL J48 pin 3 SCL J48 pin 3 SDA J48 pin 5 SDA J48 pin 5 GND J48 pin 8 GND J48 pin 8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Other jumpers keep default configuration.
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished .
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
KW47-LOC
Hardware requirements
Type-C USB cable
KW47-LOC Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
LOC board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 5 SCL J2 pin 5
SDA J2 pin 6 SDA J2 pin 6
GND J2 pin 8 GND J2 pin 8
Short the JP24-2 and JP24-3 with the jumper, other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the LOC board J3.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
MCXW72-LOC
Hardware requirements
Type-C USB cable
MCXW72-LOC Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
LOC board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 5 SCL J2 pin 5
SDA J2 pin 6 SDA J2 pin 6
GND J2 pin 8 GND J2 pin 8
Short the JP24-2 and JP24-3 with the jumper, other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the LOC board J3.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA266
Hardware requirements
Type-C USB cable
FRDM-MCXA266 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C0_SCL/P1_9 J2-20 P1_9 J2-20
I3C0_SDA/P1_8 J2-18 P1_8 J2-18
GND J2-14 GND J2-14
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The log below shows the output of the hello world demo in the terminal window:
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA366
Hardware requirements
Type-C USB cable
FRDM-MCXA366 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C0_SCL/P1_9 J2-20 P1_9 J2-20
I3C0_SDA/P1_8 J2-18 P1_8 J2-18
GND J2-14 GND J2-14
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The log below shows the output of the hello world demo in the terminal window:
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXW72
Hardware requirements
Type-C USB cable
FRDM-MCXW72 Board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
FRDM board:
MASTER(I3C0) connect to SLAVE(I3C0)
Pin Name Board Location Pin Name Board Location
SCL J5 pin 5 SCL J5 pin 5
SDA J5 pin 6 SDA J5 pin 6
GND J5 pin 8 GND J5 pin 8
Other jumpers keep default configuration.
Prepare the Demo
Connect a USB cable between the host PC and the FRDM board J10.
Open a serial terminal on PC for the serial device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The following lines are printed to the serial terminal when the demo program is executed.
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA577
Hardware requirements
Type-C USB cable
FRDM-MCXA577 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C0_SCL/P0_21 J2-20 P0_21 J2-20
I3C0_SDA/P0_20 J2-18 P0_20 J2-18
GND J2-14 GND J2-14
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The log below shows the output of the hello world demo in the terminal window:
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.
FRDM-MCXA287
Hardware requirements
Type-C USB cable
FRDM-MCXA287 board
Personal Computer
Board settings
I3C one board:
Transfer data from MASTER_BOARD to SLAVE_BOARD of I3C interface, I3C0 pins of MASTER_BOARD are connected with I3C0 pins of SLAVE_BOARD
MASTER_BOARD CONNECTS TO SLAVE_BOARD
Pin Name Board Location Pin Name Board Location
I3C0_SCL/P0_21 J2-20 P0_21 J2-20
I3C0_SDA/P0_20 J2-18 P0_20 J2-18
GND J2-14 GND J2-14
Prepare the Demo
Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Press reset button to begin running the demo.
Running the demo
The log below shows the output of the hello world demo in the terminal window:
I3C board2board polling example -- Slave transfer.
Check I3C master I2C transfer.
Slave received data :
0x 1 0x20 0x 0 0x 1 0x 2 0x 3 0x 4 0x 5
0x 6 0x 7 0x 8 0x 9 0x a 0x b 0x c 0x d
0x e 0x f 0x10 0x11 0x12 0x13 0x14 0x15
0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
0x1e 0x1f
I3C master I2C transfer finished.
Check I3C master I3C SDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C SDR transfer finished.
Check I3C master I3C HDR transfer.
Slave received data :
0x 0 0x 1 0x 2 0x 3 0x 4 0x 5 0x 6 0x 7
0x 8 0x 9 0x a 0x b 0x c 0x d 0x e 0x f
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17
0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
I3C master I3C HDR transfer finished.