My friend very much interested in Embedded system. He wants to learn embedded system by doing or starting with some small small embedded projects or programs. Like switching between processes/tasks, interrupt generation, device driver programming (where he can learn proper usage of volatile, const etc), linux system level programming and all. Please suggest me some good websites where he can start learning creating small small programs or projects in embedded system.
Thanks in Advance
I would suggest osdev.org (it is a wiki-based website about developing OSes).
It is a good starting point for learning operating system architecture in general and particularly OSes for emebedded devices.
Also a good option is to join some existing opensource project to "touch it" by hands. Some examples:
Or consider less known homegrown kernels, that are likely much easier to enter. Personally, I'm developing Embox embedded operating system kernel.
Good luck!