Analog Devices ADSP-21065L EZ-KIT Lite Manual page 31

Evaluation system
Table of Contents

Advertisement

.var _user_tx_buf[6];
.var _user_tx_ready;
.var _user_rx_buf[6];
.var _user_rx_ready;
.ENDSEG;
Note that these variables have a leading underscore to make them C-compatible. If writing in
assembly code, include the following segment within the data variable declaration section in
the same assembly codec file as the DSP code:
.SEGMENT/DM
.VAR user_tx_buf[6];
.VAR user_tx_ready;
flags and buffers
.VAR user_rx_buf[6];
.VAR user_rx_ready;
.ENDSEG;
In addition to the variable declaration, the users needs to tell the linker to place these
variables in the specified monitor kernel program locations for the codec in bank 3. This is
done by including the following lines in the Linker Description File:
MEMORY
{
seg_bnk3 { TYPE(DM RAM) START(0x030FFF00)
END(0x030FFFFF) WIDTH(32) }
}
PROCESSOR p0
{
SECTIONS
{
seg_bnk3
{
INPUT_SECTIONS( $OBJECTS(seg_bnk3)
$LIBRARIES(seg_bnk3))
} >seg_bnk3
}
}
This ensures that the linked variables reside as follows:
DM(user_tx_buf) is placed at addresses 0x030FFF00 - 0x030FFF05
DM(user_tx_ready) is placed at address 0x030FFF06
DM(user_rx_buf) is placed at addresses 0x030FFF07 - 0x030FFF0C
DM(user_rx_ready) is placed at address 0x030FFF0D
For examples on how these codec variables are declared and linked together with ADSP-
www.BDTIC.com/ADI
seg_bnk3;
!
!
Codec isr (set up by the kernel)
!
!
31

Advertisement

Table of Contents
loading

Table of Contents