icm-20600_impi is icm-20600 implementation-independent library. Implementation-independent (impi for short) means that this library can be used on any device from any manufacturer: STM, TI, NXP, Atmel with whatever architecture MCU or MPU uses. To work like that impi-libraries require your project to implement some basic functions in a specific way. This library can be library to understand at first, but bear with us because after reading this instruction we hope that you'll understand how powerful is this approach.
More information about impi-libraries can be found [here] - (add a link to explanation)