Getting Started - Beagle Bone

Hello all,

Just Got a Bone for christmas and been trying to find info to make it
do stuff. I have a decent linux background, but the embedded linux
world is a bit new to me. I've read and followed the getting started
guide and the current bone SRM, but I'm still having trouble finding
info on how to do things that deem like they ought to be really simple
- like blink/toggle an led on a gpio pin, control an i2c device, or
enable and use serial ports or spi.

The first barrier to doing any of the above would seem that I can find
absolutely nothing that points to how and where within linux the
pinmux can be setup so the various functions I want actually show up
on the user headers and properly populate /dev as expected (how should
/dev relate to and represent these devices anyway...). without the
pinmux properly setup and me knowing pretty confidently that the pins,
ports, and signals are where I think they are supposed to be (based
upon some yet mostly absent documentation) there isn't much point in
trying to use a given function or interface.

second, I understand pretty well how to use devices like /dev/ttyXX,
I'm even beginning to get some idea about i2c and the i2c tools under
linux (though I have yet to find them in the default agstrom
distro...) but how does one work with gpio on the bone? where are
such devices found? how are they represented in /dev or otherwise?
Also how would one impliment PWM so as to drive RC servos and such.
Any of this kind of basic stuff in getting started with the bone would
be really helpful.

Thanks,

Eric Fort

Eric,

I found that the bonescript code is a good example of muxing and
accessing a digital pin. One of the sample programs packaged with
bonescript, /var/lib/cloud9/blinkled.js, writes to one of the GPIO
pins, pin 3 on port 8.

I'm at about the same point as you at learning this stuff, but I wrote
a blog post that you might find useful:
http://www.gigamegablog.com/2012/01/05/beaglebone-coding-101-blinking-an-led/

Although it's not Bone-specific, the eLinux Embedded Beagle course is
the best resource I've found so far: http://elinux.org/EBC_Embedded_Beagle_Class_Topics.
The topics it covers include PWM and i2c.

Dan.