2 overview, 1 code image (.uld) files, 2 download sequence – Cirrus Logic AN333 User Manual
Page 3: Code image (.uld) files
AN333
3
2 Overview
2 Overview
The firmware that runs on this device expects a stereo or multichannel PCM input source. This section describes the
overlays.
The DSP program memory is divided into five functional segments called overlays that can be thought of as the locations
for the firmware modules that are accessed and implemented by the DSP. Firmware modules are downloaded into their
respective overlays either from internal ROM, or from the host.
•
OS Overlay
Manages the overall operation of the DSP. Also handles host communication, data inputs and outputs, and other
critical internal tasks.
•
Decoder Overlay
The decoder overlay on CS47xx only supports the Dolby Digital
®
decoder in certain memory maps.
•
Matrix Processing Overlay
Performs additional channel generation, upmixing, and downmixing. This overlay is where algorithms such as
Dolby
®
Pro Logic
®
IIx and Cirrus Original Multichannel Surround 2™ (COMS-2) reside.
•
Virtual Processing Overlay
Performs stereo virtualizing to simulate multichannel systems, such as Dolby
®
Audistry
®
, Dolby Headphone
®
, and
Dolby Virtual Surround
™
.
•
Post-processing Overlay
This overlay specifically caters to firmware that performs post-processing tasks. It allows the system designer
flexibility in tweaking the system for optimal audio performance and effects. This is also the segment in which
firmware modules such as the Audio Manager, Bass Manager, Tone Control, Delay, and Parametric EQ Module
reside.
2.1
Code Image (.uld) Files
Each overlay is a separate code image file (.uld) that is loaded individually into the DSP. To change the functionality of the
application, only the overlay of interest needs to be loaded. For example the post-processing overlay can be exchanged
from SPP to APP by reloading only the post-processing overlay. This reduces the system response time to user changes,
as well as the code image storage requirements.
There are four different memory configurations of the program RAM size, denoted by p2, p4, p6, and p8 (p for program
memory; 2, 4, 6, and 8 are the number of kilowords; 1 word = 32 bits). Increasing P RAM decreases Y RAM, while X RAM
remains the same. Each overlay is denoted as p2, p4, p6, or p8 in the .uld file name to indicate which memory configuration
is used. For example, “ac3_p2_xxx.uld”.
Memory configuration must be consistent across all overlays (OS, decoder, MPM, VPM, and PPM).
2.2 Download
Sequence
A standard procedure to download firmware to the DSP follows this structure at system power-up: