A Ubuntu 12.04 LTS platform is been used to develop embedded Linux software for ARM cortex-A8 hardware platform (beaglebone black).

To communicate on the I2C bus on target device, it is recommended to use i2c_smbus_ functions to communicate on the I2C bus. When i2c_smbus functions such as i2c_smbus_read_word_data are referenced in software for the target ARM Cortex-A8 processor errors such as ‘i2c_smbus_read_word_data’ was not declared in this scope are generated at compile.

It appears that the following header files indicate that they are dated.

  • /usr/arm-linux-gnueabi/include/linux/i2c.h
  • /usr/arm-linux-gnueabi/include/linux/i2c-dev.h

Also in that following reference i2c.h file has all the i2c_smbus defined.

How can all arm-linux-gnueabi libraries be updated?

Research references


Install i2c_tools and libi2c-dev packages

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.