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.
Table of Contents
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.