Author Topic: Firmware and Embedded Systems Engineering  (Read 1491 times)

0 Members and 1 Guest are viewing this topic.

Offline Fantasma25Topic starter

  • Regular Contributor
  • *
  • Posts: 91
  • Country: mx
Firmware and Embedded Systems Engineering
« on: December 03, 2013, 04:10:32 am »
So I am getting really interested on FPGAs, microcontrollers and embedded systems and its applications, but I can't tell just yet what is the difference between a firmware engineer and an embedded engineer. As far as I know, both of them write code that runs on a microcontroller/microprocesor, but what are the differences? Can someone share some work experience?
 

Offline Zad

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: gb
    • Digital Wizardry, Analogue Alchemy, Software Sorcery
Re: Firmware and Embedded Systems Engineering
« Reply #1 on: December 03, 2013, 04:46:02 am »
I suspect it depends on the individual job description. In general terms, an embedded engineer will have predominantly hardware skills, with secondary skills in software. A firmware engineer will probably have little or no hardware training and experience.


Offline Gath

  • Contributor
  • Posts: 11
  • Country: ch
Re: Firmware and Embedded Systems Engineering
« Reply #2 on: December 03, 2013, 01:33:04 pm »
It is a matter of definition.

As far as I am concerned, an embedded engineer is an engineer that specializes in embedded systems, which involves system level integration, specific hardware design and firmware development. Such systems are self-sufficient, they do no need humans to interact directly with them. For this reason, they are usually rugged, super stable and heavily tested systems (e.g. automotive systems, segway stabilization system, ...).

A firmware engineer would be more dedicated to writing the code that make embedded systems tick. Basically writing the code that is executed by the CPUs in an embedded system (whether the CPU in a micro-controller, or a soft-CPU instantiated in a FPGA).

As an example of work experience, I once worked on the development of a microchip PIC firmware. Another engineer had developed the electronics for a USB controlled GPIO (relays and optocouplers) with a PIC at its heart, but he had not developed the firmware. I basically was handed a board and had to make it work. It is a bit like receiving a development board and programming it for a specific application, expect that it was a board that had been designed for a well-defined purposed. In this case, I worked as a firmware engineer. I had virtually not constrains from the system level integration of the board, everything was already physically build. I just had to bring intelligence to it.

Anyway, you can't really do one without the other.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf