Quote from piglet on November 10, 2011, 16:54
....I have absolutely no idea where to start to get enough information to do stuff on a linux machine like the raspi. No idea about how the guts of the thing will work and how to make anything for it. No idea how to attach hardware to it, access the GPIO...whatever that is....
GPIO is the General-Purpose I/O pins that Systems-On-Chip (SOCs) generally have in abundance. These are usually single-bit digital inputs, outputs, or both, with optional pull-up and pull-down resistors, and optional open drain meaning that they can pull down but require an external pull-up. Usually GPIOs are multiplexed with other functions, such as serial I/O and analog I/O.
As is often the case, your best bet to get started is Wikipedia. I start with Wikipedia and only use a search engine if Wikipedia isn't helpful. For GPIO, the page is http://en.wikipedia.org/wiki/GPIO
. Wikipedia can always use donations!
RasPi is still in gestation and as such doesn't have detailed documentation, so we don't know what GPIOs are available on RasPi expansion headers. The last time I looked you couldn't even get the technical reference manual for the BroadCom chip. I hope that it will be made available by the time RasPi A & B ship, as otherwise it will be pretty much impossible to do any interfacing to the board and write software to talk to those interfaces.
I hope RasPi eventually has information available as good as (or preferably better than) the BeagleBoard, a US$149 board similar to RasPi. I'm not trying to push BB over RasPi: they have very different price points and project goals. I'm just using it as an example of a successful community-supported project.
BeagleBoard has excellent System Reference Manuals for the hardware, an excellent wiki (the RasPi wiki is based on the BB wiki), and a quite useful community FAQ. The latter two developed over time, and are great for understanding hardware problems. Many of these (serial I/O, USB) may also apply to RasPi. Here are the links:
My chief complaint about BeagleBoard is software, which like lots of GNU/Linux projects is fragmented and not well documented. Trying to find the most recent stable release of a given operating system can be quite challenging. There are lots of how-tos which worked at one time in one environment, but then the OS version or environment changes and people write new how-tos instead of maintaining existing ones. Or they get questions answered on chat or the Google Group and nobody updates the wiki. I'm hoping that RasPi will do a lot better on this issue by putting a lots of support behind one or two distros. Otherwise the students and teachers RasPi is directed at could be quite frustrated.