I am a intermediate level programmer. I usually work on
microcontrollers using c but recently have decided to use higher power
MCU's and run Linux to ease software development. I have been using
Linux for quite a while and have bootstrapped and cross-compiled my
own distro's in the past as well as done Linux From Scrath a few
times. However this has not quite prepared me for custom hardware.
For example, the Beagleboard. Back when it came out and somebody says
I want to run Debian on this guy they would need to make some kernel
patches so the drivers knew which GPIO to toggle to access the
hardware. This is where I do not even know where to start. Their are
so many files, boot loaders, everything to deal with how do these guys
do it?
I would like to eventually build my own custom SBC with a taylor made
distro and be able to write drivers to allow userspace to access my
hardware via standard API's.
Can anybody recommend some good books, tutorials, projects or even
online classes that can help me get started?
Thanks!