In the last chapter, you used GPIOs to exchange simple digital data with the outside world. However, what about interfacing with more advanced devices that require complex sequences of bits or bytes for communication?
One of the most popular interfacing buses in use today within embedded systems is the Inter-Integrated Circuit serial bus (commonly abbreviated as IIC, I2C, or I2C). In this chapter, you will learn how to write an app that uses the BBB's I2C interface to store data to and retrieve data from a FRAM chip. We will cover the following topics:
Understanding I2C
Multiplexing for I2C on the BBB
Representing I2C devices in the Linux kernel
Building an I2C interface circuit
Exploring the I2C FRAM example app