Click here to Skip to main content
15,943,148 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have some C, C++ programming skills which can be utilized for building embedded applications in real time. I am working on learning C, C++ programs for developing embedded applications in real time. As I do not have full time work experience in embedded systems domain, I am getting confused about how and where to start learning C programming language pertaining to developing embedded applications.

May I please know what are the language specifications I should be familiar with in the C programming language pertaining to developing embedded applications and how can I know more about it?

Are there enough number of library functions in the C programming languages which perform tasks related to operating system functions and other systems programming functions in C language w.r.t the developing applications in embedded systems?

In order to get offered a full time job in embedded systems field as a fresher to the world of embedded systems, may I please know what features or specifications of C programming language should I be familiar with in order to work confidently on the projects w.r.t developing embedded applications?

Is the C programming language exclusively used in the field of development of embedded systems or any other programming language can be used to develop embedded applications from scratch?

What I have tried:

Tried accessing website and many other websites pertaining to the development of embedded applications in C programming, however, couldn't know much w.r.t the development of embedded applications!!!
Updated 15-Mar-22 5:57am

This is a quick answers forum and your questions can't really be answered quickly.

I recommend acquiring a good book on the subject e.g. Programming Embedded Systems in C and C++: Michael Barr: 9781565923546: Books[^] or
Embedded C Coding Standard: Barr, Michael: 9781721127986: Books[^] or others of that ilk : embedded applications[^] - use the star rating system to help you decide what "good" means to you
Share this answer
The term "embedded system" can refer to anything from a toaster to a special purpose server whose source runs to tens of millions of lines of code, so it's hard to say much without knowing what kinds of embedded systems you mean.

That said, embedded systems are often real-time systems. Many are hard real-time systems, which means that not doing something on time can have severe consequences (in avionics or industrial control, for example). These types of systems use priority scheduling to ensure that things happen on time. Many servers, however, are soft real-time systems, where not responding quickly simply frustrates users rather than causing serious problems.

It's not so much about knowing C or C++ as it is knowing about the design patterns that are appropriate to specific types of systems, regardless of the language being used. But C and C++ are commonly used in embedded systems, with C often preferred for most of a hard real-time system and C++ preferred for most of a soft real-time system.
Share this answer
Patrice T 16-Mar-22 19:15pm    

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900