Anyone doing Embedded Programming in here?

SamurAchzar

Platinum Member
Feb 15, 2006
2,422
3
76
Just figured I'd do a headcount. With everyone in corporate IT or Web development and such, I wanted to verify that real, hardened programmers are still present and what you are working on today.
 

SamurAchzar

Platinum Member
Feb 15, 2006
2,422
3
76
Actually no. Nearly universally they suck as programmers, do crap work and after encountering many dozens of them during my career I'm afraid of everything that's has a microcontroller in it. Unfortunately that means elevators as well as my car.

I found their PC counterparts to do a much better job in programming. The fact many are converted hardware engineers doesn't help one bit (eh, eh)
 

polarmystery

Diamond Member
Aug 21, 2005
3,888
8
81
I will be soon. Currently working on doing some Verilog/VHDL programming for school and trying to transition to our hardware engineering department at work...
 

duragezic

Lifer
Oct 11, 1999
11,234
4
81
Me. Was working on an avionics project until I got laid off. Hoping to get a job offer next week for a place I interviewed at doing embedded stuff.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
PC counterparts do not care about efficiency or self protection.

Kinda like wanta-be ladies men.

Wham, bang, thankyou mam.

Embedded engineers have to work with tight constraints and zero tolerance for failure.


Sloppy coders who do not look over their shoulders need not apply.

Embedded S/W has allowed for my kids to go to college and pay the mortgage.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
Count me in!

I'm still new at it, but I'm learning the ropes. Atmel at the moment, Pic before.
 

slpaulson

Diamond Member
Jun 5, 2000
4,414
14
81
I was for the last four years, but I've moved on to a more general purpose role.

For what it's worth, I went to school for Computer Engineering with an emphasis on VLSI design, so I'm one of those hardware guys that transitioned to software.
 
Last edited:

SamurAchzar

Platinum Member
Feb 15, 2006
2,422
3
76
So what do you all think about it? Do you like it? Wish you chose another specialty? How's the demand for programmers?

I'm always under the impression embedded programmers are sought after regardless of the economic situation, but maybe I'm wrong.
 

dullard

Elite Member
May 21, 2001
25,934
4,524
126
I do. But, it isn't much of my job. I just do it now and then as necessary. The programming needs are quite simple, so I filled in the task rather than hiring an expert.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
I've enjoyed it so far, but there are challenges that aren't present in "normal" programming. IDEs and documentation can suck, no whizbang frameworks, tight memory and processing requirements, but at the end of the day there's something about having your work physically do something that's rewarding.

Overall, I like it, especially knowing what it'll be used for.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
PC counterparts do not care about efficiency or self protection.

Kinda like wanta-be ladies men.

Wham, bang, thankyou mam.

Embedded engineers have to work with tight constraints and zero tolerance for failure.


Sloppy coders who do not look over their shoulders need not apply.

Embedded S/W has allowed for my kids to go to college and pay the mortgage.

Bah. I started writing "PC software" in assembler back when you needed a TSR to break the 640k RAM barrier. So blow me embedded dweebs :).
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
Bah. I started writing "PC software" in assembler back when you needed a TSR to break the 640k RAM barrier. So blow me embedded dweebs :).

I would have loved to have 640K to run Air Traffic Control for the Navy:p

You were spoiled!:colbert:
 

Colt45

Lifer
Apr 18, 2001
19,720
1
0
I do some here and there, it's not my day job though.

Mostly C on 8 bit AVRs, but I've been playing with some ARM stuffs more recently.
 
May 11, 2008
22,332
1,431
126
I am converting from part hardware engineer part assembler writer to embedded c.
But i want to use the c syntax as best as possible and i try to follow the mantra of Linus Torvalds as much as possible : "Every function should only do 1 thing and do it as good as possible.". Also writing c functions properly and with commenting helps always everybody. I have seen functions that are so cryptic written it cannot be deciphered easily. And that is IMHO a waste of development time. Because the compiler with some exception will produce the same code anyway.

Because i understand the hardware pretty well and what the core does on machine instructions level, it is easier to solve problems or extract best performance from hardware where others less hardware orientated may use unnecessary software solutions. Also the ability to hand optimize assembly code can be a benefit.

Furthermore, i know that some hardware to software engineers can be stubborn, but the best result should rule above ego. This is in general for most engineers a seriously difficult issue by the way. I have always experienced it a lot that ego rules over admitting that other people can have a better solution for a given problem in a given environment.

The best way is to discuss varies options in a given environment ( meaning hardware selection/casing/ pcb layout. Make notes and decide together on the best solution.
 

Cogman

Lifer
Sep 19, 2000
10,284
138
106
I exist somewhere between the murky region of embedded programming and PC programming. I know enough assembly to be dangerous and have an unnatural love of overly optimized code. Yet, I think C# is pretty neat.

I'm like a zombie.
 

yllus

Elite Member & Lifer
Aug 20, 2000
20,577
432
126
I don't myself, but a friend who went to school for computer engineering and never showed any interest in programming now does so for a prominent PVR set-top box manufacturer.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
I exist somewhere between the murky region of embedded programming and PC programming. I know enough assembly to be dangerous and have an unnatural love of overly optimized code. Yet, I think C# is pretty neat.

I'm like a zombie.

Embedded does not mean that you have to be coding in assembly.

More no direct user interaction with your work; no options for recovery by external influences/decisions.

Pretty much you have a warm or cold boot option if your code can not recover itself
 

Cogman

Lifer
Sep 19, 2000
10,284
138
106
Embedded does not mean that you have to be coding in assembly.

More no direct user interaction with your work; no options for recovery by external influences/decisions.

Pretty much you have a warm or cold boot option if your code can not recover itself

I realize that, I just saying that usually embedded programming is fairly low level stuff that focuses on things like low power/memory usage and higher speed code moreso than regular programmers do.
 

JD50

Lifer
Sep 4, 2005
11,888
2,788
136
I've considered buying a gumstix or beagleboard to mess around with embedded programming. Does anyone have experience with that kind of stuff?
 

Cogman

Lifer
Sep 19, 2000
10,284
138
106
I've considered buying a gumstix or beagleboard to mess around with embedded programming. Does anyone have experience with that kind of stuff?

Never heard of either. Arduino is popular.

Personally, I've been looking for a good ARM dev board to mess around with.
 

SamurAchzar

Platinum Member
Feb 15, 2006
2,422
3
76
Gumstix/Beagle are a notch up on most embedded systems in terms of complexity and as a result both run Linux. You can mess around with the drivers and kernel but most is already implemented so not much to do there other than the application - not to mention the low level stuff is pretty complicated.

If you want to learn very basic low level programming, get a PIC or AVR board (such as the Arduino).

If you want to get into more advanced topics (DMAs, audio/basic graphics, USB, DSP) get something based on Cortex-M3. It's among the most powerful platforms that don't require an high level operating system such as Linux.

NXP has 'mbed' platform which is intended as a easy way to use their Cortex-M3 based chips, it's very basic and dumbed down but cheap and easy enough.

I've been working with ARM based chips (Cortex-M3, ARM9, ARM7 etc) for about 6 years now. No doubt ARMs are the future; if you're to put good stuff on your resume, work with some Cortex based chips. This market grows 20&#37; year on year while the 8 bit (PIC/AVR/8051) and 16 bit (MSP430 etc) is pretty much stagnated.