Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Do you need to know C++ to work in Embedded Systems?

Status
Not open for further replies.
Embedded Systems

It depends on the application and area u r working. Generally telecom embedded projects are written C++ but maximum embedded programming is done either in C or directly in Assembly language on a cross compiler.
 

Embedded Systems

C is the widely used language for programming microcontollers, but still, C++ is the emerging language which is having impt features that u don't have in C. So, switching to C++ for mc programming is necessary.
 

Re: Embedded Systems

C is the widely used language for programming microcontollers, but still, C++ is the emerging language which is having impt features that u don't have in C. So, switching to C++ for mc programming is necessary.

Maybe vary according project. Its not necessary for example rewrite a kernel of OS for example, or a large application previos writing in C with no OO.

The big idea of C++ is OO programming, then for change large structural paradigm program to OO is a hard work. I think that coexistance of two languages, OS and RTOS and low rotines in C and application in C++.

Gorkin
 

Re: Embedded Systems

Actually 'C' is the most important and valuable language in embedded system programming .So , 'C' alone is sufficient for Embedded System Programming , but if you are going to use some Object Oriented Modules then it is necessary to go out from 'C' , there u can use 'C++' or any other OOP programming .


ok..
Take care and Good Bye .....
 

Re: Embedded Systems

in some microcontroller software there's a generating factor of converting c++ to asm:D:D:D:D
 

Re: Embedded Systems

If you are working on microcontroller level only then only C is sufficient. But if u want to work at OS level in embedded system like Linux kernel then C++ is must.
 

Re: Embedded Systems

Good C knowledge is enough, that too Embedded C (good fundas on bits), but c++ also counts as others said.
 

Re: Embedded Systems

Hi,

Most of the times, C is enough for programming a embedded system, and yes Object Oriented approach can also be attained in C, but not to an extent achieved in C++.

E.g.: A uC interfacing a LCD controller till a quite complex car radio system.

But when implementing a very complex system with OS, a very complex GUI C++ is usually preferred.

E.g.: Present day cell phones

Regards,
Bharath
 

Re: Embedded Systems

C more easy in embedded system
 

Embedded Systems

Assembly------>is very useful ,when you have less memory,fast accessing
disadv-->its difficult to write and understand assembly,reusability is less

C-------------->its very easy to write programs,interaction with hardware also good,accessing is also fast ,when compare with assembly speed is less,additional header and library files needed to run C program.
disadv--->reusabilty is less.you cannot use the one function variable in another.security of code is very less.

C++---------->designing phase is very important.due to that you can improve the reusability.it very easy to write the coding.security is more.we can save the time and cost while programming.we can implement all good futures like abstraction,polymorphism,templates,inheritance........

accessing speed is less compare to C.because so many libraries ,linking files,...
it takes more memory compare with assembly and C.

all lanuages are good....which language we have to pick depends on our requirments.:D:D
 

Re: Embedded Systems

C is sufficient to work with embedded systems but Now all most all companies planning to shift to c++.To the best of mine HONEYWELL TECHNOLOGIES doing c++ related Embedded.
 

Embedded Systems

C is sufficient with knowledge of assembly...
 

Re: Embedded Systems

C++ is required for Embedded when oops concept implementation is required but very less companies are using this c++ for embedded.But now all companies are planning to shift from c to c++.
 

Re: Embedded Systems

C is enough, mainly if your target has a little memory for code and data.
If you want to use an object oriented programming, then C++ is a good language
but unlikely not all the cross compilers for the embedded systems support C++,
or they support it but the resulting code is not so good in terms of size and speed,
mainly if you use C++ in a wrong way (for example if you use templates).
I suggest to read the rules for Embedded C++.
The goal of Embedded C++ is to provide embedded systems programmers with a subset of C++ easy to understand and to use. Meanwhile this subset should fulfil the requirements of embedded systems designs; the three major requirements are:
· avoiding excessive memory consumption
· taking care not to produce unpredictable responses
· making the code ROMable

Embedded C++ requirements:
· Multiple inheritance and virtual base classes are omitted.
· Runtime type identification (RTTI) is omitted.
· Exception handling is omitted.
. Templates are omitted.
· Namespaces are omitted.
· New-style casts are omitted.

I agree with these requirements except for namespaces and virtual functions which are very useful even in embedded systems (virtual function help the
polymorphism of object oriented programming)
 

Re: Embedded Systems

c is sufficient to work.
 

Re: Embedded Systems

If OOPS concepts makes the design easier, then u have to definitely know the C++.
 

Re: Embedded Systems

It really depends on the application.

if you are working on drivers and low level stuff, it will generally be in C,

and if you are working on an application ,again depending on the FRAMEWORK, you may use C++ . C++ has a lot of advantages than C in certain applications.
ofcourse we can implement oops concept in C also.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top