What are the prerequisites for learning how to program integrated systems?


I have completed my degree in Computer Engineering. We had some basic electronics courses in Digital Signal Processing, Information Theory, etc. but my primary field is Programming.

However, I was looking to get into Embedded Systems Programming, and I have NO knowledge of how it is done. However, I am very keen on going into this field.

My questions :

  • What are the languages used to program embedded systems?
  • Will I be able to learn without having any basics in electronics?
  • Any other prerequisites that I should know?

Without a doubt, experience or at least a significant understanding of digital electronics and low level computer engineering is required. You'll need to be able to read device datasheets and understand them. Scopes, multimeters, logic analyzers, etc... are tools of the trade.

C is used mostly, but higher level languages are sneaking in slowly.