Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

x86 emulator for training embedded development

I wish to learn more about the inner working of the computer, to enhance my knowledge about embedded system developement.

At work, I never get involved with the low-level details (such as, the GDT, the loader of the code from flash to RAM, etc) as all these are already written.

I'd rather not buy any other hardware currently. Is there an emulator, and a very simple OS, I can play with, in order to master with all those low level aspects of embedded programmimng? Is there a tutorial that can walk me through setting a very simple embedded environment (setting the memory segments, the GDT, getting to protected mode, and execute main())

like image 298
Elazar Leibovich Avatar asked Jan 17 '10 16:01

Elazar Leibovich


2 Answers

The ususal suspects for x86 emulators would be Bochs and QEMU.

You might also want to take a look at James Molloy's kernel development tutorial and the resources it links to.

like image 163
Christoph Avatar answered Sep 19 '22 18:09

Christoph


For our Operating Systems course we're currently using a toy OS called POTATOES. It's pretty basic and AFAIK based on James Molloy's kernel tutorials. You might have a look at it here.

In addition I can recommend the Wiki and discussion board at OSdev.org.

Edit: Some good information about the x86 architecture can be found in volume 3 of Intel's IA-32 Architectures Software Developer's manuals. Volume 1 features the basic architecture and in volume 2 you'll find a complete reference of the x86 assembly instruction set.

like image 28
AdrianoKF Avatar answered Sep 18 '22 18:09

AdrianoKF