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