I would appreciate some help getting started with embedded Linux. My
previous experience is with microcontrollers and basic windows
programming (both of these using commercial IDEs). My goal is to use
the beagleboard to control devices connected through SPI. To do this I
think I will have to write a module to communicate with my SPI devices
and provide access from userspace programs.
My first question is, how do I find the most up to date documentation,
specific to the image that I am using? Up to now I have been using the
image available at http://www.angstrom-distribution.org/demo/beagleboard/
and would like to avoid compiling the kernel from source if I don't
have to. From what I have read though, most of the documentation is in
the kernel sources. Is there a way to download just the documentation
and header files? I have read the guides that walk you through
building the Angstrom image and they use openembedded to download the
sources, can I download these sources without doing the full build? I
don't have experience with git, but I am willing to learn if this is
the best way to do it.
My second question relates to how the development process works. I
have played around with writing programs on the beagleboard and then
compiling them with gcc. I can see however that this is probably not
the most efficient method. I have found the tutorial for gumstix
development ( http://www.gumstix.net/Software/view/Build-system-overview/Hello-world-tutorial/111.html
) and will try to follow that with the beagleboard. Are there any
other examples of how to develop using openembedded that would be good
for me to read? Remember that I have only used IDEs before so whole
development process is new to me.
My third question is about SPI on the beagleboard. I have been able to
write a script to do simple things like blinking LEDs by writing to /
sys/class/gpio/. I would like to communicate with SPI devices this
easily, (read and write from a file). To do this I believe I need to
write a driver to set up the SPI port and to preform initalization of
my SPI hardware. I would like to use built in modules as much as
possible, but I will probably have to write some of my own code for
hardware specific things like initalizing and formatting information.
Could someone share experience with using SPI on the beagleboard, or
at least point me in the right direction?
Thanks for any help you can give me,