I have recently aquired a beaglebone black board. I need some direction, as I would like to write my code in C and still use the board.
So far all the examples i have found are in bonescript or python. I’m also trying to stay away from adruino.
The project is to make the MPU-9250 of invensense work with the the beaglebone black.
Please note that i’m still a newbie in the development world, thus I would appreciate as much details as possible if anyone can help.
Buy the book –
Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux
by Derek Molloy for John Wiley & Sons, 2014
It walks you through programming in C on the Beaglebone, and setting up a cross compiler.
Look at his videos.
The book is several years old, so the Beaglebone and its OS are evolving and changing,
but this is still the best reference.
WebSite:
http://exploringbeaglebone.com/
Source Code:
https://github.com/derekmolloy/exploringBB/
git clone https://github.com/derekmolloy/exploringBB.git
— Graham
On Tue, 7 Mar 2017 01:53:04 -0800 (PST),
mamanechrist2@gmail.com declaimed the
following:
I have recently aquired a beaglebone black board. I need some direction, as
I would like to write my code in C and still use the board.
And what seems to be stopping you? You /can/ run gcc to compile/link on
the BBB -- may be slow, but probably easier to set-up than to get a
Linux-ARM cross development system set up on a faster computer (especially
if you don't run Linux on that computer)
So far all the examples i have found are in bonescript or python. I'm also
trying to stay away from adruino.
The project is to make the MPU-9250 of invensense work with the the
beaglebone black.
Lot's of math work to make sense of the numbers reported such a sensor
-- if there is an Arduino library for it, I'd start with that (behind the
setup()/loop() standard IDE is a C++ compiler; so study the library source
code and adjust the actual low-level I/O operations to fit the BBB).
Based upon
https://learn.sparkfun.com/tutorials/mpu-9250-hookup-guide?_ga=1.149888374.1556349131.1442378211
the device uses I2C protocol, so you'd have to configure the BBB for I2C
(if the pin-mux doesn't already have an I2C channel active).
Unlike the Arduino (and other microcontrollers) which have direct
access to the I/O pins, the BBB is running a general purpose OS and the
simplest access to the I/O has to go through the OS (sysfs "directory") --
this makes for rather slow operation, but one only needs to know C
open/read/write/close operations. To get faster access often requires
memory mapping the I/O pins (at least for GPIO uses -- I2C may use a
library). Oh, and the OS is highly protective, so applications often need
to be run with root privileges.
I'd suggest a Google (or your preferred engine) search for "beaglebone
black I2C" (one example:
https://www.element14.com/community/thread/23991/l/bbb-i2c-notes?displayFullThread=true
)