Firmware/Driver developer?

SONYFX

Senior member
May 14, 2003
403
0
0

I have an interview coming up for one of these two positions but I have no idea what's the difference between them, can anyone point me to some resources? Thanks!
 

zmaster

Senior member
May 22, 2005
342
0
71
Well basically, IMO, you would be required to write drivers for certain products

A firmware developer is basically writing the I/O for those computer components that dont need a driver as such like the cd drives and maybe even the bios of certain gpus.

As a driver developer you will need to make the device function in an OS environment like windows linux etc. nothing to be written as a standalone application

Hope it helpedat least a bit.
 

SONYFX

Senior member
May 14, 2003
403
0
0
Originally posted by: zmaster
Well basically, IMO, you would be required to write drivers for certain products

A firmware developer is basically writing the I/O for those computer components that dont need a driver as such like the cd drives and maybe even the bios of certain gpus.

As a driver developer you will need to make the device function in an OS environment like windows linux etc. nothing to be written as a standalone application

Hope it helpedat least a bit.


Thanks!

Is writing driver a lot harder than doing appplication programming like Java?

I have no experience writing drivers and I don't really know what they'll ask me at the interview.

 

Bassyhead

Diamond Member
Nov 19, 2001
4,545
0
0
Firmware and drivers are quite a bit different from a Java environment. They're involved with hardware design (knowledge of it, not actual design) and low level programming in assembly or C that interacts with hardware.

Originally posted by: SONYFX
Originally posted by: zmaster
Well basically, IMO, you would be required to write drivers for certain products

A firmware developer is basically writing the I/O for those computer components that dont need a driver as such like the cd drives and maybe even the bios of certain gpus.

As a driver developer you will need to make the device function in an OS environment like windows linux etc. nothing to be written as a standalone application

Hope it helpedat least a bit.


Thanks!

Is writing driver a lot harder than doing appplication programming like Java?

I have no experience writing drivers and I don't really know what they'll ask me at the interview.

 

icarus4586

Senior member
Jun 10, 2004
219
0
0
Having some knowledge of assembly language concepts is probably helpful for both positions. Both drivers and firmware are small programs that need to operate very close to the hardware, and they need to do their thing very fast. One of the only places where assembly is widely used would be for this type of thing.
 

Mday

Lifer
Oct 14, 1999
18,647
1
81
firmware and drivers work hand-in-hand. firmware is code on the hardware. drivers are code in the software.

unless it's a hardware with native java instructions, your java experience is useless. your programming skills is what's required.

you'll probably want to know assembly, or C at the very least. (notice, C not C#, not C+++).
 

arcas

Platinum Member
Apr 10, 2001
2,155
2
0
Driver development requires an intimate knowledge of both the hardware device itself and the hardware platform and operating system you're targetting. Most likely, you'll be working in C but you'll need to have a decent understand of your architecture's assembly instructions in order to debug crashes. You'll sometimes use inline assembly for those routines in your driver that are performance critical but since inline assembly kills portability, the practice is generally frowned upon.

A firmware developer needs an even more intimate knowledge of the hardware device but generally doesn't care about the host platform. The language will depend on the device. Some actually have hardware JVMs but most likely, you'll be working in a low level language like C, Forth or assembly.

I write device drivers for crypto hardware for a living and I wrote a couple USB drivers found in the Linux kernel. It's a different world from user-space programming.

 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Firmware is what makes devices work, internally.

Drivers are what lets the operating system make use of those devices.