It's been a while since I looked at it. IIRC, the main problem I had was that many of the IO lines had shared/multiple functions and I couldn't find any documentation that explained how to switch them.
e.g. (contrived example), if a bit was MOSI for an SPI interface or DIO on port C, I had no idea which one it defaulted to and how to use it for the alternate function.
I got it to work for basic I/O, but it's obviously capable of much more.
Comments
Experienced embedded developer here as well.
For some reason I haven't had any trouble with the Beaglebone at all. A kernel driver is a kernel driver, and I2C bus is an I2C bus.
What specs on the BBB do you need, specifically, that are causing you trouble?
It's been a while since I looked at it. IIRC, the main problem I had was that many of the IO lines had shared/multiple functions and I couldn't find any documentation that explained how to switch them.
e.g. (contrived example), if a bit was MOSI for an SPI interface or DIO on port C, I had no idea which one it defaulted to and how to use it for the alternate function.
I got it to work for basic I/O, but it's obviously capable of much more.
If you're running Linux on it, I believe you need to use device tree overlays. See http://kilobaser.com/blog/2014-07-28-beaglebone-black-device...