Most of what embedded is, is hardware. To build the low level software and drivers requires a detailed understanding of the hardware and its datasheets. It would be pretty hard to give a generic overview of the software side these days, because there is just so much out there. I mean you have the TI parts for the beagle bone which have a pair of microcontrollers on them each having access to the same memory as the main processor. There's the video processor on Broadcoms chip in the raspberry pi. Understanding any of the details of these components requires understanding most of thousands of pages of documentation. Most people wait for someone else to do it for them!
In the old days the only peripherals were timers and ADCs. You could make a generic and useful tutorial for those. Not anymore!