What is Embedded C?

Embedded C is an extension of C Language. It inherits all the fundamentals of C. Only Difference between Embedded C and C lies in their Application.

Embedded C is used for Programming Processors with constrained resources. e.g. Less Processing Power, RAM, ROM and IOs. Embedded C is targeted for code speed and size as the devices targeted are limited with resources and for a dedicated purpose.

Whereas, C language is typically used for Desktop OS applications like windows device drivers etc. Where resources are not constrained.

C language is statically-typed, which means a type of the variable is known at the compile time. C is also a procedural programming language. This means everything in C is a function. C programs always have a main() function that is the entry point of the program. After execution program also exits from the main().

Why C is used for constrained devices?

  • C footprint is small thus the program can be easily optimized for code and speed.
  • C supports the memory level access, used for Input/Output pin states, data transfer to I2C etc.
  • C is processor independent, the compiler converts the C into Machine code. So easy to use and simple to learn.
    • C is efficient as it is a low-level language.

    Below are the basics of Embedded C, Further Details can be accessed from the tabs on the left.

    1. Data types
    2. Operators
    3. Structures
    4. Enum
    5. Functions
    6. Pointers.