PRELIMINARY
VS1063a Prog. Guide
6
WRITING USER APPLICATIONS THAT TAKE FULL CONTROL OVER VS1063A
6.1.3
Application Y Data Memory Map (16-bit words)
Free Y data memory for applications
Start Addr
Length
Description
0x1000
0x800
_g_dcthi
0x1800
0x80
User area
0x1C00
0x2400
_mallocAreaY
0xE000
0xA64
_earSpeaker
1
0xE000
0xA40
_speedShift
1
0xEA64
0xFB0
_heAac
0xFA14
0x3EC
Extra area
0xFE00
0x200
_pcmFifo
1
These two effects use the same memory area. To be able to use this area, neither EarSpeaker
nor SpeedShift should be used.
6.2
Taking Control of VS1063a
There are many ways how to take control of VS1063a. Perhaps the most straightforward way
is to take the User Application approach, as explained in Chapter 5.2.
However, instead of a program that would act as a filter and return, the application would
typically start by disabling all interrupts, then running initializations including changing required
interrupt vectors if any, then activating those interrupts needed by the application.
Note: when the user application is called for the first time (and this is the time when we are
taking control of the whole system), and interrupt level is 1 or 2. Because of this, if you want to
use interrupts, you must not only set correct interrupt vectors and activate your own interrupts
using INT_ENABLE, but you also must write twice to register INT_GLOB_ENA (what value
you write doesn’t matter). For details of interrupt control registers, see the VS1063a Hardware
Guide.
Version: 0.40, 2011-09-02
17