Re: Learning harware ...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux