MCUXpresso SDK Documentation

flexio_i2c_interrupt_lpi2c_transfer

flexio_i2c_interrupt_lpi2c_transfer#

Overview#

The flexio_lpi2c_interrupt example shows how to use flexio i2c master driver in interrupt way:

In this example, a flexio simulated i2c master connect to a LPI2C slave

Supported Boards#

EVK9-MIMX8ULP
Hardware requirements
  • Micro USB cable

  • MIMX8ULP-EVK/EVK9 board

  • J-Link Debug Probe

  • 5V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO0(as master) pins and LPI2C0(as slave) pins. Please use two dupont line to connect pins on MIMX8ULP-EVK base board as following:

  • PTA8_LPI2C0_SCL(J20,10), ARDU_D3/PTB0/FLEXIO0_D16/SCL(J21,4) connected

  • PTA9_LPI2C0_SDA(J20,9), ARDU_D2/PTB1/FLEXIO0_D17/SDA(J21,3) connected

Please note this application can’t support running with Linux BSP!

Please note this application can only run well with RAM link file! If run it in QSPI flash in place, there’s high latency when instruction fetch cache miss. The FlexIO I2C has critical timing requirement that I2C data must be read/write in time, otherwise the state machine works abnormally.

Prepare the Demo
  1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.

  2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
IMX952LPD5EVK-19
Hardware requirements
  • Type-C USB cable

  • IMX952-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

Populate R966 and R967 to establish connection between FLEXIO1(as master) and LPI2C6(as slave).

  • IOMUXC_PAD_GPIO_IO09__FLEXIO1_FLEXIO_BIT9 , IOMUXC_PAD_GPIO_IO03__LPI2C6_SCL connected

  • IOMUXC_PAD_GPIO_IO08__FLEXIO1_FLEXIO_BIT8 , IOMUXC_PAD_GPIO_IO02__LPI2C6_SDA connected

Please note this application can’t support running with Linux BSP!
Prepare the Demo
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
EVKB-IMXRT1050
Hardware requirements
  • Mini/micro USB cable

  • EVKB-IMXRT1050 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL SW5-2 –> J23-6 SDA SW5-1 –> J23-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
Note
  • The target of SDRAM debug on Keil(5.24) and ARMGCC(2017 q2) can not run successfully.

MIMXRT1060-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKB board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL SW2-2 –> J33-6 SDA SW2-1 –> J33-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
Note

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 150k in this case.

Note
  • The target of SDRAM debug on Keil(5.24) and ARMGCC(2017 q2) can not run successfully.

MIMXRT1170-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1170-EVKB board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C5

SCL J26-2 –> J10-20 SDA J26-4 –> J10-18

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Note: In ARMCC: When reading from the flash, 64M flash requires 4 bytes of address, which leads to slow code execution in the flash and flexio FIFO underflow. The project use a method to reduce the baud rate. Other methods include putting fsl_flexio_i2c.c fsl_flexio_i2c_master.c fsl_lpi2c.c code in RAM or modifying qspiflash_config in evkbmimxrt1170_flexspi_nor_config.c file to use shorter flash address and smaller flash space.

MIMXRT1060-EVKC
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKC board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL SW2-2 –> J33-6 SDA SW2-1 –> J33-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
Note

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 150k in this case.

Note
  • The target of SDRAM debug on Keil(5.24) and ARMGCC(2017 q2) can not run successfully.

FRDM-IMXRT1152
Hardware requirements
  • Type-C USB cable

  • FRDM-IMXRT1152 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL J44-1 –> J47-12 SDA J44-3 –> J47-10

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Note: In ARMCC: When reading from the flash, 64M flash requires 4 bytes of address, which leads to slow code execution in the flash and flexio FIFO underflow. The project use a method to reduce the baud rate. Other methods include putting fsl_flexio_i2c.c fsl_flexio_i2c_master.c fsl_lpi2c.c code in RAM or modifying qspiflash_config in frdmimxrt1152_flexspi_nor_config.c file to use shorter flash address and smaller flash space.

EVK-MCIMX7ULP
Hardware requirements
  • Micro USB cable

  • MCIMX7ULP-EVK board

  • J-Link Debug Probe

  • 5V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO pins and LPI2C pins. Please use two dupontline to touch the test point (TP) on MCIMX7ULP-EVK base board as following:

  • TP24, TP25 connected

  • TP26, TP27 connected

Please note this application can’t support running with Linux BSP!

Please note this application can only run well with RAM link file! If run it in QSPI flash in place, there’s high latency when instruction fetch cache miss. The FlexIO I2C has critical timing requirement that I2C data must be read/write in time, otherwise the state machine works abnormally.

Prepare the Demo
  1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW1 to power on the board.

  2. Connect a micro USB cable between the host PC and the J6 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
EVK-MIMX8ULP
Hardware requirements
  • Micro USB cable

  • MIMX8ULP-EVK/EVK9 board

  • J-Link Debug Probe

  • 5V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO0(as master) pins and LPI2C0(as slave) pins. Please use two dupont line to connect pins on MIMX8ULP-EVK base board as following:

  • PTA8_LPI2C0_SCL(J20,10), ARDU_D3/PTB0/FLEXIO0_D16/SCL(J21,4) connected

  • PTA9_LPI2C0_SDA(J20,9), ARDU_D2/PTB1/FLEXIO0_D17/SDA(J21,3) connected

Please note this application can’t support running with Linux BSP!

Please note this application can only run well with RAM link file! If run it in QSPI flash in place, there’s high latency when instruction fetch cache miss. The FlexIO I2C has critical timing requirement that I2C data must be read/write in time, otherwise the state machine works abnormally.

Prepare the Demo
  1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.

  2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
EVK-MIMXRT1010
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1010 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL J26-8 –> J57-20 SDA J26-6 –> J57-18

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Known Issue: Only master send data will be printed when running flexspi_nor_debug target in keil. External flash’s speed can not support the rate of I2C transmit because it is affected by performance. Workaround: Set “I2C_BAUDRATE” to no more than 150k.

Note: To debug in qspiflash, following steps are needed:

  1. Select the flash target and compile.

  2. Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.

  3. Start debugging in IDE.

    • Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.

EVK-MIMXRT1015
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1015 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL J18-4 –> J18-6 SDA J18-3 –> J18-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Known Issue: Only master send data will be printed when running flexspi_nor_debug target in keil. External flash’s speed can not support the rate of I2C transmit because it is affected by performance. Workaround: Set “I2C_BAUDRATE” to no more than 150k.

Note: To debug in qspiflash, following steps are needed:

  1. Select the flash target and compile.

  2. Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.

  3. Start debugging in IDE.

    • Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.

EVK-MIMXRT1020
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1020 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL J17-2 –> J18-6 SDA J17-1 –> J18-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Note:

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 200k in this case.

Known Issue:

Some toolchain flexspi_nor_release target could be print “Error occurred in this transfer !”. But slave received data is same with master sented, the transfer is ok for this case.

Note: To debug in qspiflash, following steps are needed:

  1. Select the flash target and compile.

  2. Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.

  3. Start debugging in IDE.

    • Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.

MIMXRT1024-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1024-EVK board

  • Personal Computer

Board settings

Please remove resistance R1882. To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL J17-4 –> J18-12 SDA J17-2 –> J18-10

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Note:

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 200k in this case.

Known Issue:

Some toolchain flexspi_nor_release target could be print “Error occurred in this transfer !”. But slave received data is same with master sented, the transfer is ok for this case.

Note: To debug in qspiflash, following steps are needed:

  1. Select the flash target and compile.

  2. Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.

  3. Start debugging in IDE.

    • Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.

MIMXRT1040-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1040-EVK board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C3

SCL J23-23 –> J33-6 SDA J23-16 –> J33-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
Note

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 150k in this case.

Note
  • The target of SDRAM debug on Keil(5.24) and ARMGCC(2017 q2) can not run successfully.

EVK-MIMXRT1064
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1064 board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C1

SCL SW5-2 –> J23-6 SDA SW5-1 –> J23-5

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
Note

This case use flexio to simulate i2c protocol.

Owing to this simulate process is software and executed in qspi_flash for flexspi_nor target.

But external flash’s speed can not support to the rate of I2C transmit because of effected by performance.

So the settings for baudrate of transmission do not more than 150k in this case.

Note
  • The target of SDRAM debug on Keil(5.24) and ARMGCC(2017 q2) can not run successfully.

MIMXRT1160-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1160-EVK board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C5

SCL J26-2 –> J10-20 SDA J26-4 –> J10-18

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
MIMXRT1180-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1180-EVK board

  • Personal Computer

Board settings

To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C2

SCL J41-2 –> J44-20 SDA J41-4 –> J44-18

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-K32L2A4S
Hardware requirements
  • Mini USB cable

  • FRDM-K32L2A4S board

  • Personal Computer

Board settings

To make lpi2c example work, connections needed to be as follows: FLEXIO_I2C connected to LPI2C2 SCL PTE19(J2-17) –> PTA12(J2-20) SDA PTE18(J2-15) –> PTA13(J2-18)

Prepare the Demo
  1. Connect a mini USB cable between the PC host and the USB port (CN14) on MAPS-DOCK board.

  2. Open a serial terminal on PC for JLink serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-K32L3A6
Hardware requirements
  • Mini USB cable

  • FRDM-K32L3A6 board

  • Personal Computer

Board settings

To make lpi2c example work(M4), connections needed to be as follows: FLEXIO_I2C connected to LPI2C0 SCL PTE13(J1-1) –> PTC10(J2-20) SDA PTE14(J1-3) –> PTC9(J2-18) To make lpi2c example work(M0), connections needed to be as follows: FLEXIO_I2C connected to LPI2C3 SCL PTE13(J1-1) –> PTB15(J3-15) SDA PTE14(J1-3) –> PTB16(J3-13)

Prepare the Demo
  1. Connect a mini USB cable between the PC host and the USB port (CN14) on MAPS-DOCK board.

  2. Open a serial terminal on PC for JLink serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-KE15Z
Hardware requirements
  • Micro USB cable

  • FRDM-KE15Z board

  • Personal Computer

Board settings

The flexio_i2c_interrupt example is requires connecting the FLEXIO pins with the I2C pins The connection should be set as following: FLEXIO_I2C connected to LPI2C0 SCL PTE11(J2-15) –> PTA3(J4-12) SDA PTE10(J2-17) –> PTA2(J4-10)

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

  • 115200 baud rate

  • 8 data bits

  • No parity

  • One stop bit

  • No flow control

  1. Download the program to the target board.

  2. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, the following message is displayed in the terminal:

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-KE17Z
Hardware requirements
  • Micro USB cable

  • FRDM-KE17Z board

  • Personal Computer

Board settings

The flexio_i2c_interrupt example is requires connecting the FLEXIO pins with the I2C pins The connection should be set as following: FLEXIO_I2C connected to LPI2C0 SCL PTA11(J2-17) –> PTB8(J2-20) SDA PTA10(J2-15) –> PTA16(J2-18)

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

  • 115200 baud rate

  • 8 data bits

  • No parity

  • One stop bit

  • No flow control

  1. Download the program to the target board.

  2. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, the following message is displayed in the terminal:

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-KE17Z512
Hardware requirements
  • Micro USB cable

  • FRDM-KE17Z512 board

  • Personal Computer

Board settings

The flexio_i2c_interrupt example is requires connecting the FLEXIO pins with the I2C pins The connection should be set as following: FLEXIO_I2C connected to LPI2C0 SCL PTA11(J2-17) –> PTA3(J2-20) SDA PTA10(J2-15) –> PTA2(J2-18)

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-LINK USB port on the target board.

  2. Open a serial terminal with the following settings:

  • 115200 baud rate

  • 8 data bits

  • No parity

  • One stop bit

  • No flow control

  1. Download the program to the target board.

  2. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, the following message is displayed in the terminal:

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-MCXA156
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXA156 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C3) Pin Name Board Location Pin Name Board Location SCL J8 pin 14,P0_17 SCL J5 pin 5,P3_27 SDA J8 pin 13,P0_16 SDA J5 pin 6,P3_28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXE247
Hardware requirements
  • USB-C cable

  • FRDM-MCXE247 board

  • Personal Computer

Board settings

The flexio_i2c_interrupt example is requires connecting the FLEXIO pins with the I2C pins The connection should be set as following: FLEXIO_I2C connected to LPI2C1 SCL PTD2(J2-8) –> PTD9(J2-20) SDA PTE15(J2-4) –> PTD8(J2-18)

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-LINK USB port on the target board.

  2. Open a serial terminal with the following settings:

  • 115200 baud rate

  • 8 data bits

  • No parity

  • One stop bit

  • No flow control

  1. Download the program to the target board.

  2. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, the following message is displayed in the terminal:

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-MCXN236
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN236 board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C1) Pin Name Board Location Pin Name Board Location SCL J8 pin 18 SCL J5 pin 5 SDA J8 pin 17 SDA J5 pin 6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J10.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXN947
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN947 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C1) Pin Name Board Location Pin Name Board Location SCL J8 pin 28 SCL J2 pin 12 SDA J8 pin 27 SDA J2 pin 8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J17.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXN947T
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN947T Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C1) Pin Name Board Location Pin Name Board Location SCL J8 pin 28 SCL J2 pin 12 SDA J8 pin 27 SDA J2 pin 8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J17.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C0) Pin Name Board Location Pin Name Board Location SCL J2 pin 1 SCL J1 pin 5 SDA J2 pin 2 SDA J2 pin 9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board J10.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J1 pin 5                            SCL         J2 pin 1
SDA         J1 pin 7                            SDA         J2 pin 3

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
IMX95LPD5EVK-19
Hardware requirements
  • Type-C USB cable

  • IMX95LPD5-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

Populate R966 and R967 to establish connection between FLEXIO1(as master) and LPI2C6(as slave).

  • HAL_PINCTRL_PLATFORM_IOMUXC_PAD_GPIO_IO09__FLEXIO1_FLEXIO_BIT9 , HAL_PINCTRL_PLATFORM_IOMUXC_PAD_GPIO_IO03__LPI2C6_SCL connected

  • HAL_PINCTRL_PLATFORM_IOMUXC_PAD_GPIO_IO08__FLEXIO1_FLEXIO_BIT8 , HAL_PINCTRL_PLATFORM_IOMUXC_PAD_GPIO_IO02__LPI2C6_SDA connected

Please note this application can’t support running with Linux BSP!

Prepare the Demo
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-IMX95
Hardware requirements
  • Type-C USB cable

  • FRDM-IMX95 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

Connect J19-3 to J19-27 Connect J19-5 to J19-28

Please note this application can’t support running with Linux BSP!

Prepare the Demo
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-IMX952
Hardware requirements
  • Type-C USB cable

  • FRDM-IMX952 board

  • J-Link Debug Probe

  • 15V~20V USB Type-C PD power supply

  • Personal Computer

Board settings

Connect wires on J18 (40-PIN GPIO HDR) to establish connection between FLEXIO1 (master) and LPI2C6 (slave):

  • J18-5 (GPIO_IO03, FLEXIO1_FLEXIO[3]) <-> J18-21 (GPIO_IO09, FLEXIO1_FLEXIO[9]) [SCL]

  • J18-3 (GPIO_IO02, FLEXIO1_FLEXIO[2]) <-> J18-24 (GPIO_IO08, FLEXIO1_FLEXIO[8]) [SDA]

Please note this application can’t support running with Linux BSP!
Prepare the Demo
  1. Connect 15V~20V USB Type-C PD power supply and J-Link Debug Probe to the board, switch SW1 to power on the board.

  2. Connect a micro USB cable between the host PC and the J1 USB Type-C port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-IMX937
Hardware requirements
  • Type-C USB cable

  • FRDM-IMX937 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

Connect wires on J18 (40-PIN GPIO HDR) to establish connection between FLEXIO1 (master) and LPI2C6 (slave):

  • J18-5 (GPIO_IO03, FLEXIO1_FLEXIO[3]) <-> J18-21 (GPIO_IO09, FLEXIO1_FLEXIO[9]) [SCL]

  • J18-3 (GPIO_IO02, FLEXIO1_FLEXIO[2]) <-> J18-24 (GPIO_IO08, FLEXIO1_FLEXIO[8]) [SDA]

Please note this application can’t support running with Linux BSP!

Prepare the Demo
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
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: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C0) Pin Name Board Location Pin Name Board Location SCL J2 pin 10 SCL J1 pin 5 SDA J2 pin 9 SDA J2 pin 2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J1 pin 5                            SCL         J2 pin 1
SDA         J1 pin 7                            SDA         J2 pin 3

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
MCIMX93AUTO-EVK
Hardware requirements
  • USB Type-C cable

  • MCIMX93AUTO-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO1(as master) pins and LPI2C1(as slave) pins.

  • LPI2C1_SCL(J17-16), IOMUXC_PAD_GPIO_IO02__FLEXIO1_FLEXIO02(J16-3) connected

  • LPI2C1_SDA(J17-18), IOMUXC_PAD_GPIO_IO03__FLEXIO1_FLEXIO03(J16-5) connected

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
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW2 to power on the board.

  2. Connect a USB Type-C cable between the host PC and the J26 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
MCIMX93-EVK
Hardware requirements
  • USB Type-C cable

  • MCIMX93-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO1(as master) pins and LPI2C1(as slave) pins.

  • LPI2C1_SCL(J1005-3), IOMUXC_PAD_GPIO_IO02__FLEXIO1_FLEXIO02(J1001-3) connected

  • LPI2C1_SDA(J1005-5), IOMUXC_PAD_GPIO_IO03__FLEXIO1_FLEXIO03(J1001-5) connected

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
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.

  2. Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
MCIMX93W-EVK
Hardware requirements
  • USB Type-C cable

  • MCIMX93W-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO1(as master) pins and LPI2C1(as slave) pins.

  • LPI2C1_SCL(J1005-3), IOMUXC_PAD_GPIO_IO02__FLEXIO1_FLEXIO02(J1001-3) connected

  • LPI2C1_SDA(J1005-5), IOMUXC_PAD_GPIO_IO03__FLEXIO1_FLEXIO03(J1001-5) connected

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
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.

  2. Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
MCIMX93-QSB
Hardware requirements
  • USB Type-C cable

  • MCIMX93-QSB board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO1(as master) pins and LPI2C1(as slave) pins.

  • LPI2C1_SCL(J1406-3), IOMUXC_PAD_GPIO_IO02__FLEXIO1_FLEXIO02(J1401-3) connected

  • LPI2C1_SDA(J1406-5), IOMUXC_PAD_GPIO_IO03__FLEXIO1_FLEXIO03(J1401-5) connected

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
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.

  2. Connect a USB Type-C cable between the host PC and the J1708 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
IMX943-EVK
Hardware requirements
  • Micro USB cable

  • IMX943-EVK board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

Board settings

The example requires doing connection between FLEXIO1(as master) pins and LPI2C4(as slave) pins.

  • LPI2C4_SCL(J12-5), IOMUXC_PAD_GPIO_IO31__FLEXIO1_3_1_FLEXIO5(J44-10) connected

  • LPI2C4_SDA(J12-3), IOMUXC_PAD_GPIO_IO30__FLEXIO1_3_1_FLEXIO4(J51-18) connected

Please note this application can’t support running with Linux BSP!
Prepare the Demo
  1. Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW1(SYS_PWR) to power on the board.

  2. Connect a micro USB cable between the host PC and the J15(FTDI_DEBUG) USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either re-power up your board or launch the debugger in your IDE to begin running the example.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
MCX-N5XX-EVK
Hardware requirements
  • Mini/micro USB cable

  • MCX-N5XX-EVK Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C1) Pin Name Board Location Pin Name Board Location SCL J20 pin 28 SCL J2 pin 12 SDA J20 pin 27 SDA J2 pin 8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J5.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
MCX-N9XX-EVK
Hardware requirements
  • Mini/micro USB cable

  • MCX-N9XX-EVK Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C1) Pin Name Board Location Pin Name Board Location SCL J20 pin 28 SCL J2 pin 12 SDA J20 pin 27 SDA J2 pin 8 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J5.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J1 pin 5                            SCL         J2 pin 1
SDA         J1 pin 7                            SDA         J2 pin 3

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
MIMXRT700-EVK
Hardware requirements
  • Micro USB cable

  • MIMXRT700-EVK Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C8) Pin Name Board Location Pin Name Board Location SCL J5 pin 6 SCL J11 Pin5 SDA J5 pin 5 SDA J11 Pin6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board MCU-LINK USB port on the board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXE31B
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXE31B Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C_1)
Pin Name     Board Location                      Pin Name   Board Location
SCL          J1-4                                SCL        J2-20
SDA          J1-2                                SDA        J2-18

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a type-c USB cable between the host PC and the MCU-Link USB port (J13) on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXE32B
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXE32B board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C_1)
Pin Name     Board Location                      Pin Name   Board Location
SCL          J1-4                                SCL        J2-20
SDA          J1-2                                SDA        J2-18

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a type-c USB cable between the host PC and the MCU-Link USB port (J13) on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J1 pin 5                            SCL         J2 pin 5
SDA         J1 pin 6                            SDA         J2 pin 6

Short the JP24-2 and JP24-3 with the jumper, other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the LOC board J3.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J1 pin 5                            SCL         J2 pin 5
SDA         J1 pin 6                            SDA         J2 pin 6

Short the JP24-2 and JP24-3 with the jumper, other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the LOC board J3.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-IMXRT1186
Hardware requirements
  • Type-C USB cable

  • FRDM-IMXRT1186 board

  • Personal Computer

Board settings

Change Jumper J31 from 1-2 to 2-3, Jumper J35 from 1-2 to 2-3. To make this example work, connections needed to be as follows:

FLEXIO_I2C        connected to  LPI2C2

SCL J1-6 –> J51-12 SDA J1-8 –> J51-10

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo

You can see the similar message shows following in the terminal if the example runs successfully.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
FRDM-MCXA266
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXA266 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C3) Pin Name Board Location Pin Name Board Location SCL J8 pin 14,P2_9 SCL J5 pin 5,P3_27 SDA J8 pin 13,P2_8 SDA J5 pin 6,P3_28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXA366
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXA366 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C3) Pin Name Board Location Pin Name Board Location SCL J8 pin 14,P2_9 SCL J5 pin 5,P3_27 SDA J8 pin 13,P2_8 SDA J5 pin 6,P3_28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
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:

MASTER(FLEXIO_I2C)                connect to        SLAVE(LPI2C1)
Pin Name    Board Location                      Pin Name    Board Location
SCL         J6 pin 5                            SCL         J5 pin 5
SDA         J6 pin 6                            SDA         J5 pin 6

Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board J10.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXA577
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXA577 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C3) Pin Name Board Location Pin Name Board Location SCL J8 pin 14,P0_9 SCL J5 pin 5,P3_21 SDA J8 pin 13,P0_8 SDA J5 pin 6,P3_20 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  
FRDM-MCXA287
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXA287 Board

  • Personal Computer

Board settings

To make the example work, connections needed to be as follows: Jumper setting: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MASTER(FLEXIO_I2C) connect to SLAVE(LPI2C3) Pin Name Board Location Pin Name Board Location SCL J8 pin 14,P0_9 SCL J5 pin 5,P3_21 SDA J8 pin 13,P0_8 SDA J5 pin 6,P3_20 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Other jumpers keep default configuration.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. 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.

FlexIO I2C interrupt - LPI2C interrupt
Master will send data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F  

Slave received data :
0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  
0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F  
0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  
0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F