Difference Between C & Embedded C

Difference Between C & Embedded C

Embedded systems programming is different from developing applications on a desktop computers. Key characteristics of an embedded system, when compared to PCs, are as follows:

  • Embedded devices have resource constraints(limited ROM, limited RAM, limited stack space, less processing power)
  • Components used in embedded system and PCs are different; embedded systems typically uses smaller, less power consuming components
  • Embedded systems are more tied to the hardware
  • Two salient features of Embedded Programming are code speed and code size. Code speed is governed by the processing power, timing constraints, whereas code size is governed by available program memory and use of programming language.?

Though C and Embedded C appear different and are used in different contexts, they have more similarities than the differences. Most of the constructs are same; the difference lies in their applications.

Embedded C ICTP 4 Difference Between C and Embedded C C is used for desktop computers, while Embedded C is for microcontroller based applications.

Compilers for C (ANSI C) typically generate OS dependent executables. Embedded C requires compilers to create files to be downloaded to the microcontrollers/microprocessors where it needs to run. Embedded compilers give access to all resources which is not provided in compilers for desktop computer applications.

Embedded systems often have the real-time constraints, which is usually not there with desktop computer applications.

Embedded systems often do not have a console, which is available in case of desktop applications.

Advantages of Using Embedded C

  • It is small and reasonably simpler to learn, understand, program and debug
  • C Compilers are available for almost all embedded devices in use today, and there is a large pool of experienced C programmers
  • Unlike assembly, C has advantage of processor-independence and is not specific to any particular microprocessor/ microcontroller or any system. This makes it convenient for a user to develop programs that can run on most of the systems
  • As C combines functionality of assembly language and features of high level languages, C is treated as a ‘middle-level computer language’ or ‘high level assembly language’
  • It is fairly efficient
  • It supports access to I/O and provides ease of management of large embedded projects
  • Objected oriented language, C++ is not apt for developing efficient programs in resource constrained environments like embedded devices.

要查看或添加评论,请登录

Ali Shan??的更多文章

  • Embedded "C" Basic Concepts

    Embedded "C" Basic Concepts

    Basic Data Types A data type is a classification of data which tells the compiler or interpreter how the programmer…

  • ZYNQ program is solidified to FLASH and SD card

    ZYNQ program is solidified to FLASH and SD card

    The SDK project directory is as follows after launch the Vivado project in SDK First step: Board Support Package…

社区洞察

其他会员也浏览了