Embedded Systems use different types of languages like; machine code, low-level language (i.e. assembly), high-level languages (i.e. C, C++, Java, ADA etc.) and application level languages (i.e. Visual Basic, Access, etc.).
C offers more flexibility in comparison to other high level languages because C is relatively small, structured language. Embedded developers prefer C language to build the embedded software because programs developed in C are much easier to understand, maintain and debug.
C standard committee extended the C language and comprises a number of features which are not available in normal C, like-
- Fixed-point Arithmetic
- Named address spaces
- Basic I/O hardware addressing
Advantages of using C in Embedded Systems-
- Easier to understand, maintain and debug
- Coding in C is more reliable and scalable in comparison to assembly language
- Availability of C compilers for all embedded devices
- In comparison to assembly, C is not specific to any particular type of microprocessor
- It is fairly systematic
- As C is small and simpler, you don't have to load lots of stuff into the system to run the code
- You can find a C compiler for the most majority of these devices