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