ADVANCED INDUSTRIAL LEVEL TRAINING IN LINUX BASED EMBEDDED SYSTEMS

ADVANCED INDUSTRIAL LEVEL TRAINING IN LINUX BASED EMBEDDED SYSTEMS
ADMISSIONS OPEN

Search This Blog

Thursday 4 July 2013

WHAT IS DIFFERENT ABOUT EMBEDDED PROGRAMMING ??


Embedded programs must work closely with the specialized components and custom circuitry that makes up the hardware.  Unlike programming on top of a full-function operating system, where the hardware details are removed as much as possible from the programmer’s notice and control, most embedded programming acts directly with and on the hardware.  This includes not only the hardware of the CPU, but also the hardware which makes up all the peripherals (both on-chip and off-chip) of the system.  Thus an embedded programmer must have a good knowledge of hardware, at least as it pertains to writing software that correctly interfaces with and manipulates that hardware.  This knowledge will often extend to specifying key components of the hardware (microcontroller, memory devices, I/O devices, etc), and in smaller organizations will often go as far as designing and laying out (as a printed circuit board) the hardware.  An embedded programmer will also need to have a good understanding of debugging equipment such as multimeters, oscilloscopes, logic analysers and the like.
Another difference from more general purpose computers is that most (but not all) embedded systems are quite limited as compared to the former.  The microcomputers used in embedded systems may have program memory sizes of a few thousand to a few hundred thousand bytes rather than the gigabytes in the desktop machine, and will typically have even less data (RAM) memory than program memory.  Further, the processors used will often be smaller 8 and 16 bit devices as opposed to the 32 bit and larger devices found in a desktop (although small 32-bit microcontrollers are now under a dollar in moderate quantities, which is amazingly amazing).

No comments:

Post a Comment