On 10/16/2010 06:01 PM, Abu Rasheda wrote: > Trying once more. It did not show up in my mail box. Any suggestions ? > > Kernel newbies list has seen hardware related questions and good explanation by Dave, Stephan & Greg. > > What I want is some directions. I know C well and have done kernel programming and feel comfortable with many of kernel concepts and sub systems. > > I want to learn hardware intimately. I am interested in MIPS and Intel (i386) platforms. What would be a good way to start ? > "Learning Hardware" is a bit generic. When you are talking about programming you will probably want to start by learning how a processor processes. Personally I have found the ARM architecture well documented and accessible. The main reason not to go for Intel based architectures for me was the fact that a CISC (Complex Instruction Set Computer) has a lot of specialist instructions to confuse someone starting to learn processors. ARM is a RISC (Reduced Instruction Set Computer) with fewer complexities by design. If you decide to go the ARM way to learn from the processor down to the peripherals, memory and busses I would recommend starting with the book: ARM System-on-chip (ISBN-13: 978-0201675191) by Steve Furber A list of books on the ARM system is here: http://www.arm.com/support/resources/arm-books/ I found moving from Python to C & Assembly and really understanding hardware to be all about having small projects to work towards and researching like crazy. Also, I believe it is important to work towards understanding a particular domain. If you want to understand everything, from processors to networking to drivers and busses to USB to serial communication protocols to actual hardware design with components you will probably find it is more effort than getting a Masters degree in engineering. Also, in your question you do not say why you want to learn MIPS and Intel. Do you have a specific project in mind? I bet you will get better advise if you share a bit more about your "learning goals" (no I am not a highschool teacher!) Good luck and enjoy, Wouter -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ