Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

course, tutorial... to learn programming low level

hardware

  • Please log in to reply
4 replies to this topic

#1 IlikeProgramming

IlikeProgramming

    CC Newcomer

  • Member
  • PipPip
  • 14 posts

Posted 02 May 2011 - 11:39 PM

Hi Friends!!! I'm very very interested in learn programming hardware devices, and low level. I've studied computer science and I know C/C++ and Assembly (specially in Linux), and I like it a lot, but I would like to learn more. Do you know a course, tutorial in Web to learn programming hardware devices in Linux?

thank you very much!
  • 0

#2 fkl

fkl

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 417 posts

Posted 03 May 2011 - 01:04 PM

Linux is the easiest and best source to learn and study with. In linux when you add a device driver or similar thing a usual way to do this is to write a loadable kernel module. Here is a good tutorial doing that which goes deep into code as well as contains a very good conceptual explanation.

Writing Your Own Loadable Kernel Module
Linux Loadable Kernel Module HOWTO

Alternately any device driver tutorial is great though there would be much in common to LKM since drivers are often written that way
  • 0

#3 IlikeProgramming

IlikeProgramming

    CC Newcomer

  • Member
  • PipPip
  • 14 posts

Posted 04 May 2011 - 02:08 AM

Hi fayyazlodhi!! Thank you very much, it was more or less what i was searching for. But first, maybe I would like to study in depth how a computer works in the lowest level. Do you recommend me any book for this topic??

Thank you very much!!!
  • 0

#4 fkl

fkl

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 417 posts

Posted 04 May 2011 - 12:12 PM

I am not sure i understand your existing level of knowledge. You mentioned you have studied computer science and you know c/c++ and assembly - right?

No matter how trivial - you should have had a basic concept of how computer works and how programs work. Every other details specific to Linux or internals are discussed in the book i referred earlier. The following one might also be helpful.

Understanding the Linux Kernel - O'Reilly Media

The question you posed seemed like asking for an "Introduction to Computer Science" or "How stuff works - Computer" thing which i am sure is what you would know already.

A programmer needs to understand Operating system and it's working principle as seen by a programmer which is covered in above books or at max any C book such as Robert La fore or Yashwant Kanetkar. Further conceptual details are in Operating systems books such as the one by william stallings, andrew tenanbaum or silbershot.

For those interested in developing OS of their Expanded Main Page - OSDev Wiki is a very good site.

For educational purpose Minux is an OS written by Tenanbaum which is much more simpler than a real world OS and yet is very practical. The MINIX 3 Operating System

If you were referring to further deep hardware knowledge as studied in Computer Organization and Architecture or Digital logic and design course, although knowing that helps a lot but to a large extent is more than required for learning system programming. Again that is also taught in academics CS course and that discusses how a computer works at the lowest (binary) level.

Let me know if i got off track or something
  • 0

#5 IlikeProgramming

IlikeProgramming

    CC Newcomer

  • Member
  • PipPip
  • 14 posts

Posted 05 May 2011 - 11:54 PM

Hi fayyazlodhi!! Yes, I've studied computer science, but I took a specialization in high level languages (JAVA, C/C++ and php), and a little of assembly and low level computers, and I would like to go in depth of this low level. That's why i asked you for some book about how a computers works and programming low level.

Thank you very much!!!
  • 0





Also tagged with one or more of these keywords: hardware

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download