Search code examples
coperating-systemembeddedkerneldevice-driver

how can I start small embedded programming/project in PC?


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


Solution

  • 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:

    • Minix - educational OS created by Andrew S. Tanenbaum.
    • Linux and BSD kernels - if your friend already has some experience.

    Or consider less known homegrown kernels, that are likely much easier to enter. Personally, I'm developing Embox embedded operating system kernel.

    Good luck!