As a firmware contractor, I frequently get questions about what embedded firmware is and what is required.
Embedded firmware programming is different from normal PC programming because it is usually designed to do one task or set of tasks. The power of a PC is that it can run many different programs. You may choose to write a letter in Word or read a pdf document in reader. This flexibility comes at a cost though – they’re usually pretty large (although with netbooks and tablet PCs, they’re getting smaller).
There is a whole segment of electronic devices that don’t need this flexibility. Consider a microwave which needs to read the keypad and display the resulting cook time. After the cook time is set and the start button is pressed, it will need to count down the seconds and turn the microwave off after it is complete. Pretty simple, right? Firmware has some definite advantages in this case. The microcontroller is simpler and therefore cheaper than a comparable microprocessor. Also the fact that the program is simpler means it is more reliable. What would you do if your microwave blue screened while making popcorn?
Here are some advantages to keep in mind for embedded firmware microcontroller design projects:
- Task Specific: Embedded microcontroller projects target one specific task or set of tasks.
- Cheaper Cost: Embedded microcontrollers are a cheaper solution for specific tasks than a full-blown PC which uses a microprocessor with external chips. Microcontrollers have memory, input and output capabilities, communications buses, and peripherals such as timers built into one silicon chip. This microcontroller includes what could be 5 different parts internally. Also less circuit board is needed for the microcontrollers which reduces design time, board cost, and defects.
- Special Tools: Embedded firmware programming requires some specialized tools but the cost of these tools has decreased. In many cases, tools are free or have a limited evaluation period.
- Enhanced Security: Since the memory is inside the chip, your embedded firmware design is harder to steal. Most chips have a security bit that prevents hackers from reading your firmware programming. Compare the security of an embedded firmware program on a microcontroller to the security on a PC where the program can be copied to a flash drive or CD.
- Ruggedness: Embedded firmware programs run out of on-board SRAM and FLASH memory so they are more rugged than the mechanical hard disk drives that have moving parts.
A contract firmware design house like ours helps a customer select the best microcontroller for the job and then provides the underlying embedded firmware programming required to run the task. A contract firmware company can typically complete a design in less than 6 months depending upon the complexity of the project. Using contract firmware labor means you pay for the design and possibly maintenance without having to hire a full-time embedded firmware programmer.
Additional Information Links