EmbeddedRelated.com
Forums

embedded systems industry applications

Started by Steve January 8, 2007
Real Time/Embedded systems is a large industry, and there are many
practical applications of the RT/embedded systems.

In this post, I try to classify the types of embedded systems industry
applications. I understand the major programming languages for embedded
systems are most likely C, Assembly, C++, or even Java for mobile
devices. For newbies in this field, how do we prepare ourselves with
different skills set in different applications? Or we just focus on the
foundational skills such as OS in specific RTOS, computer architecture,
and programming skills first?

Below is my analysis on 4 different types of practical applications of
the embedded systems , please advice and discuss.

1. Electronics consumer devices such as MP3 players, digital TV, cell
phone.
2. Communications applications such as routers, firewall.
3. Military and aerospace systems  
4. Medical devices

Thanks.

Steve wrote:

> Real Time/Embedded systems is a large industry, and there are many > practical applications of the RT/embedded systems. > > In this post, I try to classify the types of embedded systems industry > applications. I understand the major programming languages for embedded > systems are most likely C, Assembly, C++, or even Java for mobile > devices. For newbies in this field, how do we prepare ourselves with > different skills set in different applications? Or we just focus on the > foundational skills such as OS in specific RTOS, computer architecture, > and programming skills first? > > Below is my analysis on 4 different types of practical applications of > the embedded systems , please advice and discuss. > > 1. Electronics consumer devices such as MP3 players, digital TV, cell > phone. > 2. Communications applications such as routers, firewall. > 3. Military and aerospace systems > 4. Medical devices > > Thanks.
Do your own homework. Ian
In article <1168304850.941817.244250@51g2000cwl.googlegroups.com>,
Steve <javacc2@gmail.com> wrote:
>Real Time/Embedded systems is a large industry, and there are many >practical applications of the RT/embedded systems. > >In this post, I try to classify the types of embedded systems industry >applications. I understand the major programming languages for embedded >systems are most likely C, Assembly, C++, or even Java for mobile >devices. For newbies in this field, how do we prepare ourselves with >different skills set in different applications? Or we just focus on the >foundational skills such as OS in specific RTOS, computer architecture, >and programming skills first? > >Below is my analysis on 4 different types of practical applications of >the embedded systems , please advice and discuss. > >1. Electronics consumer devices such as MP3 players, digital TV, cell >phone. >2. Communications applications such as routers, firewall. >3. Military and aerospace systems >4. Medical devices
You missed some. OK, you missed a lot. Probably more than half of the embedded market, in terms of numbers. Into which category goes the automotive engine computer? A home thermostat? Traffic signal control? Metal stamping machine? Etc. etc. etc. When someone tells you computers are everywhere, they're not kidding. We're so used to them that we don't tend to think of them as computers, but they're there, and they need to be designed in by someone. -- Steve Watt KD6GGD PP-ASEL-IA ICBM: 121W 56' 57.5" / 37N 20' 15.3" Internet: steve @ Watt.COM Whois: SW32-ARIN Free time? There's no such thing. It just comes in varying prices...
I agree you said that computers are everywhere, and looks like embedded
systems field is getting bigger and tend to be different from
traditional embedded systems. Compared with other industries, do you
think embedded systems field is a large field? Now, most hot jobs in
the market are Java and .NET, and they are not used in embedded systems
at all. I think embedded systems developers really need to understand
computer systems well, not just programming itself.

What do you think?

Steve Watt wrote:
> In article <1168304850.941817.244250@51g2000cwl.googlegroups.com>, > Steve <javacc2@gmail.com> wrote: > >Real Time/Embedded systems is a large industry, and there are many > >practical applications of the RT/embedded systems. > > > >In this post, I try to classify the types of embedded systems industry > >applications. I understand the major programming languages for embedded > >systems are most likely C, Assembly, C++, or even Java for mobile > >devices. For newbies in this field, how do we prepare ourselves with > >different skills set in different applications? Or we just focus on the > >foundational skills such as OS in specific RTOS, computer architecture, > >and programming skills first? > > > >Below is my analysis on 4 different types of practical applications of > >the embedded systems , please advice and discuss. > > > >1. Electronics consumer devices such as MP3 players, digital TV, cell > >phone. > >2. Communications applications such as routers, firewall. > >3. Military and aerospace systems > >4. Medical devices > > You missed some. > > OK, you missed a lot. Probably more than half of the embedded market, > in terms of numbers. > > Into which category goes the automotive engine computer? > > A home thermostat? > > Traffic signal control? > > Metal stamping machine? > > Etc. etc. etc. When someone tells you computers are everywhere, > they're not kidding. We're so used to them that we don't tend > to think of them as computers, but they're there, and they need > to be designed in by someone. > -- > Steve Watt KD6GGD PP-ASEL-IA ICBM: 121W 56' 57.5" / 37N 20' 15.3" > Internet: steve @ Watt.COM Whois: SW32-ARIN > Free time? There's no such thing. It just comes in varying prices...
On 9 Jan 2007 20:01:22 -0800, "Steve" <javacc2@gmail.com> wrote:

>I agree you said that computers are everywhere, and looks like embedded >systems field is getting bigger and tend to be different from >traditional embedded systems. Compared with other industries, do you >think embedded systems field is a large field? Now, most hot jobs in >the market are Java and .NET, and they are not used in embedded systems >at all. I think embedded systems developers really need to understand >computer systems well, not just programming itself. > >What do you think?
What you are asking is not easy to answer. Embedded is a fairly broad term these days. It can be a simple 4bit micro in a thermostat to a full blown PC controlling a machine. It is a large field as just about everything you use has some sort of computer embedded into it. Even your PC has some embedded firmware on the motherboard. AS for .net/java, choose you language for the job at hand. Those who say that c++ is crap or java is rubbish clearly have no idea what they are talking about. Each language has its benifits and pitfalls. I have read so many people ranting about why one language is better than another and it is all bullshit. I am not going to use java in my 4bit thermostat that only requires a few dozen lines of assembler. Likewise i am not going to use assembler to write a full graphical interface where languages like c# will do it for me in a fraction of the time. IF you ask me, I think embedded firmware should be a discipline by itself. It is my honest opion that hardware engineers should stick to hardware and computer engineers stick to software. Neither seem to cross well into the firmware space.
> >Steve Watt wrote: >> In article <1168304850.941817.244250@51g2000cwl.googlegroups.com>, >> Steve <javacc2@gmail.com> wrote: >> >Real Time/Embedded systems is a large industry, and there are many >> >practical applications of the RT/embedded systems. >> > >> >In this post, I try to classify the types of embedded systems industry >> >applications. I understand the major programming languages for embedded >> >systems are most likely C, Assembly, C++, or even Java for mobile >> >devices. For newbies in this field, how do we prepare ourselves with >> >different skills set in different applications? Or we just focus on the >> >foundational skills such as OS in specific RTOS, computer architecture, >> >and programming skills first? >> > >> >Below is my analysis on 4 different types of practical applications of >> >the embedded systems , please advice and discuss. >> > >> >1. Electronics consumer devices such as MP3 players, digital TV, cell >> >phone. >> >2. Communications applications such as routers, firewall. >> >3. Military and aerospace systems >> >4. Medical devices >> >> You missed some. >> >> OK, you missed a lot. Probably more than half of the embedded market, >> in terms of numbers. >> >> Into which category goes the automotive engine computer? >> >> A home thermostat? >> >> Traffic signal control? >> >> Metal stamping machine? >> >> Etc. etc. etc. When someone tells you computers are everywhere, >> they're not kidding. We're so used to them that we don't tend >> to think of them as computers, but they're there, and they need >> to be designed in by someone. >> -- >> Steve Watt KD6GGD PP-ASEL-IA ICBM: 121W 56' 57.5" / 37N 20' 15.3" >> Internet: steve @ Watt.COM Whois: SW32-ARIN >> Free time? There's no such thing. It just comes in varying prices...
The Real Andy wrote:
[]
> What you are asking is not easy to answer. Embedded is a fairly broad > term these days. It can be a simple 4bit micro in a thermostat to a > full blown PC controlling a machine. It is a large field as just about > everything you use has some sort of computer embedded into it. Even > your PC has some embedded firmware on the motherboard.
not to mention, the controllers in disc drives, Graphics boards, Monitors, keyboards, mice.
> > AS for .net/java, choose you language for the job at hand. Those who > say that c++ is crap or java is rubbish clearly have no idea what they > are talking about. Each language has its benifits and pitfalls.
I have some reasons to think JAVA is rubish, but your point is correct: Pick the right tool for the job.
> > IF you ask me, I think embedded firmware should be a discipline by > itself. It is my honest opion that hardware engineers should stick to > hardware and computer engineers stick to software. Neither seem to > cross well into the firmware space. >
So who does that leave for working in the firmware space? If your point is for exxample that you should not hire a database programmer for the software of a microwave oven, then I agree. Embedded systems development is indeed a unique disipline. It is much broader than just firmware. Those who wish to be good in it, however really MUST be able to cross between hardware and software. Without the skill to read the schematic, you may not be able to design and write the software. Without being able to program various chip design tools, you may not be able to design the hardware. If you do not know enough software design principles you will not communicate very well with the software developers you need to work with. You have to understand tradeoffs between hardware, firmware and software. It is not a matter of burning a PROM and plugging it in any more. Ed
Steve wrote:
> Now, most hot jobs in > the market are Java and .NET, and they are not used in embedded systems > at all. I think embedded systems developers really need to understand > computer systems well, not just programming itself.
Even in connection with embedded systems there is typically a frond end, a data base, or similar on a conventional system associated with. This is then programmed with use of the modern techniques, you just mentioned. Think RFIDs, or for eample the new road toll system in Germany for trucks ("Lkw Maut"). It has a lot of cameras, GSM-transmitters etc. installed in the field (every so many kilometers on the highways), clearly embedded systems, but there is also a big infrastucture behind it, with data bases, monitoring etc. You cannot separate the two domains, and also for an embedded designer it is good to have some ideas of the modern SW world. Andreas