FIRMWARE
What
is Firmware
Firmware
as an Operating System for MP3 players
Firmware files
Other
files coming with the Firmware Update package
What
is Firmware?
In
our case, Firmware could be described shortly as "an Operating
System of the MP3 player. It makes possible to use Flash or HDD
based device as MP3 Player or/and as USB Mass Storage Device. As an
Operating System it controls all I/O executable data processes
running inside the chip the player is built on.
In
computing, Firmware is software that is embedded in a hardware
device. It is often provided on flash ROMs or as a binary image file
that can be uploaded onto existing hardware by a user. Firmware is
defined as:
1.
the computer program in a read-only memory (ROM) integrated circuit
(a hardware configuration is usually used to represent the
software);
2. the erasable programmable read-only memory (EPROM) chip, whose
program may be modified by special external hardware, but not by [a
general purpose] application program.
Source:
Glossary of Telecommunication Terms is a United States Federal
Standard (1037C), issued by the General Services Administration
pursuant to the Federal Property and Administrative Services Act of
1949, as amended).
Firmware
as an Operating System for MP3 players
As
mentioned above, all executable functions, executable I/O data
processes are controlled by Firmware. User can access each function
of the Player through the Users Interface by sending/execute
appropriate command. So, the Operating System of the player consists
of functional modules with inter-module communication via
messaging, and interrupts processing. Memory management
considerations are an integral part of the operating system
architecture. The module layer is completely overlaid, such that
only a single module is resident in memory at a given time. The menu
modules provide project specific user interfaces and control
functional operation of the player. The menu module is the only
module that is signaled when button inputs are received. The system
modules provide a messaging interface with the menus providing
system feedback to the user level. In addition there is some amount
of messaging between system modules. The rest of the system
functions are available in static memory and can be used by any
module.
Firmware
files
The
Structure of the Firmware is based on a logical tree of multi-way
dependent files. The firmware files are written to hidden blocks
marked with a special code in the NAND redundant area during a
firmware update. The host updater will copy the following files to
flash when a relevant USB device is detected during update. The
files of the Firmware are as follow:
bootmanager.sb
This
file is a Loader, which code will determine if USB device is
connected and load the appropriate Firmware into RAM. It is not
loaded during recovery mode. After bootmanager.sb loads the Firmware
into RAM it jumps to the reset vector. All code that is loaded by
bootmanager.sb, must have a valid reset vector in order to startup.
If not, Firmware update could be successful in terms of proper
installation process and its integrity, but device will not work.
usbmsc.sb
This
file is loaded by bootmanager.sb when device is not connected at
startup. This file contains only the software that interfaces to the
native USB Mass Storage drivers on the OS. The usbmsc.sb firmware
uses SCSI commands. It operates at the device sector level and does
not contain a file system or have any knowledge about files being
transferred.
stmpsys.sb
The
file is loaded by bootmanager.sb when USB device is not connected at
startup. This is actually the player itself, as it contains all
system code used by the player. System code is considered to be all
functions resident in static memory (not overlays). When USB device
is connected during player operation, the device is reset and
bootmanager.sb loads usbmsc.sb from flash if USB is still connected
when bootmanager.sb executes.
resource.bin
This
file contains all code/data overlays, bitmaps used in users
interface (e.g. shown on display) and fonts, which are stored in
bitmap format as well. Resources loaded into RAM as needed during
player operation by SysLoadResource (system code contained in
stmpsys.sb).
Other
files coming with the Firmware Update package
The
rest of the package is a set of supporting files, such as:
1.
Installation file (Installer) .EXE - name of particular file can
vary;
2. .DLL libraries - resources for particular player and Microsoft
Layer for Unicode on Win9x Systems, supporting Installation file;
3. Drivers
for player recovery device .INF, .SYS (Generic MP3
Player USB Drivers) - usual, name of each file starts with
StMp3Rec (StMp3Rec.sys, StMp3Recx64.inf and so on).
Firmware
Update application files are stored in a self-extracting CAB file,
which - depending on particular player or Firmware Update version is
being extracted to one of following folders:
C:\Documents
and Settings\User\Local Settings\Temp\CRF000 or CRF001
C:\Windows\Temp\CRF000 or CRF001
|