Overview & Applications
C is a high-level programming language. It is a structured programming language. As it is a high-level programming language so it can not be directly applied as an assembly language. In ASIC, we use assembly languages. Where in C we need to write less code we write several codes in assembly languages for the same purpose of making the electronic systems less complex. On the other hand, we know operating systems, like Linux, and various application software are written in C. Various embedded systems use an extended library of C for their own functionality.
If we talk about the demand for C language in the IT market then we can say many companies are still looking for candidates who are proficient in C++. Especially, C++ is good for writing software. On the other hand, some of you must have heard of C#. It is developed by Microsoft. It is a good competent of Java. Because C# is also an object-oriented programming language.
What is an Embedded System
Embedded Systems are those systems that are developed for a specific application. It is sometimes termed an "ASIC" or Application Specific Integrated Circuit. In ASIC, there are microcontrollers, memory, and network circuit in a small chip.
What are Assembly Languages
We all know what programming languages are. You know C is a high-level programming language. We do not use C directly to develop an embedded system. For, example, in C if we want to add two variables then we just write
int x=10, y=5;
int z = x+y;
But in the case of assembly languages, we do not write C language, because C is a high-level language. Development with C language is not cost-efficient. It costs more. So, we use relatively low-level assembly languages. In the above code, we've used only 2 lines to add two variables but in the case of assembly language, we use multiple lines for one line command in C. Because in the case of electronic circuits, we have to program devices in compatible manners that suit and also it should be cost-efficient as well. For example, in the case of electronic circuits we store data in registers, whereas in the case of high-level C programming languages, we directly store it in memory. A lot of assembly languages have been developed so far as extensions of C language.
Prerequisites to working with Embedded system
You must have basic knowledge of C or C++ to understand how embedded systems work. It will be easier for you to understand how embedded systems work. Knowledge of 8085 or 8086 is also important.