In electronic systems and computing, firmware is
the combination of persistent memory and program code and data stored in it. Typical
examples of devices containing firmware are embedded systems (such as
traffic lights, consumer appliances, and digital watches), computers, computer
peripherals, mobile phones, and digital cameras. The firmware
contained in these devices provides the control program for the device.
Firmware is held in non-volatile memory devices
such as ROM, EPROM, or flash memory. Changing the firmware of a
device may rarely or never be done during its economic lifetime; some firmware
memory devices are permanently installed and cannot be changed after
manufacture. Common reasons for updating firmware include fixing bugs or adding
features to the device. This may require ROM integrated circuits to be
physically replaced, or flash memory to be reprogrammed through a special
procedure. Firmware such as the ROM BIOS of a personal computer
may contain only elementary basic functions of a device and may only provide
services to higher-level software. Firmware such as the program of an embedded
system may be the only program that will run on the system and provide all of
its functions.
Software Code for a microcontroller is written in a
programming language of choice. This source code is written with a standard ASCII
text editor and saved as an ASCII text file. Programming in assembler
involves learning a microcontroller's specific instruction set but results in
the most compact and fastest code. A higher level language like C is for the
most part independent of a microcontroller's specific architecture, but still
requires some controller specific extensions of the standard language to be
able to control all of a chip's peripherals and functionality. The
penalty for more portable code and faster program development is a larger code
size.
Next the source code needs to be translated into
instructions the microcontroller can actually execute. A microcontrollers
instruction set is represented by "op codes". Op codes are a unique
sequence of bits ("0" and "1") that are decoded by the
controller's instruction decode logic and then executed. Instead of writing
opcodes in bits, they are commonly represented as hexadecimal numbers, whereby
one hex number represents 4 bits within a byte, so it takes two hex numbers to
represent 8 bits or 1 byte. For that reason a microcontroller's firmware in
machine readable form is also called Hex-Code and the file that stores that
code Hex-File.
To Learn More Follow Below Link;
No comments:
Post a Comment