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.