Hi everyone,
I'm trying to implement a HPI handshake between a windows app and my
c6711dsk.
I have this working without DSP/BIOS, but I can't get it to work using
DSP/BIOS.
This is my dsp code (I'm using the same code for both non-DSP/BIOS and
DSP/BIOS) -
#define ID_0 0x12345678
#define ID_1 0xf1f2f3f4
#define ID_2 0x08070605
#pragma DATA_SECTION(handShakingBuffer, "my_DataSect")
int handShakingBuffer[HS_BUFFER_LEN];
/*
* ======== main ========
*/
void main()
{
handShakingBuffer[0] = ID_0;
handShakingBuffer[1] = ID_1;
handShakingBuffer[2] = ID_2;
handShakingBuffer[3] = 0;
handShakingBuffer[4] = 0;
return;
}
Actually, the DSP/BIOS version also includes -
#include "audiocfg.h"
#include "audio.h"
My windows app loads the dsp program to the dsp board, and polls until
the following are set -
handShakingBuffer[0] = ID_0;
handShakingBuffer[1] = ID_1;
handShakingBuffer[2] = ID_2;
My windows app looks something like the following -
sBoardFile = "F:\\ti\\c6000\\dsk6x11\\doc\\ti_ppdsk.cfg";
pBoardFile = fopen( sBoardFile, "r" );
fclose(pBoardFile);
dsk6x_open(sBoardFile,&hBd) )
dsk6x_reset_dsp(hBd,0,1) )
dsk6x_hpi_open(hBd))
dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump))
dsk6x_hpi_generate_int(hBd))
do
{
readLength = HS_BUFFER_LEN*4; /* 4 bytes for 1 word */
/*-------------------------------------------------------------------*/
/* Test if handShakingBuffer actually read (completely)
*/
/*-------------------------------------------------------------------*/
if (!dsk6x_hpi_read(hBd, handShakingBuffer, &readLength,
DSPHS_BUFFER_ADDRESS) || readLength != HS_BUFFER_LEN*4)
{ /* evm6x_hpi_read() failed */
continue; // try again
}
/*-------------------------------------------------------------------*/
/* Test if handShakingBuffer contains correct ID
*/
/*-------------------------------------------------------------------*/
handShakingFlag = 0; // reset hand shaking flag
if(handShakingBuffer[0] != ID_0)
handShakingFlag = 1;
if(handShakingBuffer[1] != ID_1)
handShakingFlag = 1;
if(handShakingBuffer[2] != ID_2)
handShakingFlag = 1;
} while (handShakingFlag == 1);
The DSP/BIOS version is getting trapped in the while loop, because the
dsp is obviously not setting the handShakingBuffer, or the app is not
reading this buffer correctly. THe non DSP bios version does not get
trapped.
My non-DSP bios project also includes a vector.asm file -
*
* TI Proprietary Information
* Internal Data
*
.ref _c_int00
.sect "vectors"
RESET_RST:
mvkl .S2 _c_int00, B0
mvkh .S2 _c_int00, B0
B .S2 B0
NOP
NOP
NOP
NOP
NOP
NMI_RST:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RESV1:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RESV2:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT4: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT5: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT6: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT7: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT8: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT9: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT10: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT11: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT12: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT13: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT14: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT15: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
and a cmd file -
-c
-heap 0x500
-stack 0x500 /* very large stack for DSP programs. */
-lrts6201.lib
MEMORY
{
vecs: o = 00000000h l = 00000200h
I_HS_MEM: o = 00000200h l = 00000020h
IRAM: o = 00000220h l = 0000FDE0h
}
SECTIONS
{
"vectors" > vecs
my_DataSect > I_HS_MEM
.cinit > IRAM
.text > IRAM
.stack > IRAM
.bss > IRAM
.const > IRAM
.data > IRAM
.far > IRAM
.switch > IRAM
.sysmem > IRAM
.tables > IRAM
.cio > IRAM
}
My DSP/BIOS project contains a cdb file, and a cmd file. The cdb file
is not set up to do anything other that to define the chip - c6711
etc. Is there anything else I should be setting up in the DSP/BIOS
version?
Thanks,
Aine.
This is my cmd file for the DSP/BIOS version, in case it gives any
clues. Thanks.
/* Do *not* directly modify this file. It was */
/* generated by the Configuration Tool; any */
/* changes risk being overwritten. */
/* INPUT audio.cdb */
/* MODULE PARAMETERS */
GBL_USERINITFXN = _FXN_F_nop;
MEM_SEGZERO = MEM_NULL;
MEM_MALLOCSEG = MEM_NULL;
CLK_TIMEFXN = CLK_F_getshtime;
CLK_HOOKFXN = HWI_F_dispatch;
PRD_THOOKFXN = FXN_F_nop;
RTDX_DATAMEMSEG = SDRAM;
HST_DSMBUFSEG = SDRAM;
SWI_EHOOKFXN = GBL_NULL;
SWI_IHOOKFXN = GBL_NULL;
SWI_EXECFXN = FXN_F_nop;
SWI_RUNFXN = FXN_F_nop;
TSK_STACKSEG = MEM_NULL;
TSK_VCREATEFXN = _FXN_F_nop;
TSK_VDELETEFXN = _FXN_F_nop;
TSK_VEXITFXN = _FXN_F_nop;
IDL_CALIBRFXN = IDL_F_calibrate;
SYS_ABORTFXN = _UTL_doAbort;
SYS_ERRORFXN = _UTL_doError;
SYS_EXITFXN = _UTL_halt;
SYS_PUTCFXN = _FXN_F_nop;
/* OBJECT ALIASES */
_SDRAM = SDRAM;
_PRD_clock = PRD_clock;
_RTA_fromHost = RTA_fromHost;
_RTA_toHost = RTA_toHost;
_HWI_RESET = HWI_RESET;
_HWI_NMI = HWI_NMI;
_HWI_RESERVED0 = HWI_RESERVED0;
_HWI_RESERVED1 = HWI_RESERVED1;
_HWI_INT4 = HWI_INT4;
_HWI_INT5 = HWI_INT5;
_HWI_INT6 = HWI_INT6;
_HWI_INT7 = HWI_INT7;
_HWI_INT8 = HWI_INT8;
_HWI_INT9 = HWI_INT9;
_HWI_INT10 = HWI_INT10;
_HWI_INT11 = HWI_INT11;
_HWI_INT12 = HWI_INT12;
_HWI_INT13 = HWI_INT13;
_HWI_INT14 = HWI_INT14;
_HWI_INT15 = HWI_INT15;
_LNK_dataPump = LNK_dataPump;
_RTA_dispatcher = RTA_dispatcher;
_IDL_cpuLoad = IDL_cpuLoad;
_LOG_system = LOG_system;
_trace = trace;
_IDL_busyObj = IDL_busyObj;
/* MODULE GBL */
SECTIONS {
.vers (COPY): {} /* version information */
}
-llnkrtdx.a62
-ldrivers.a67 /* device drivers support */
-lbiosi.a62 /* DSP/BIOS support */
-lrtdx.lib /* RTDX support */
-lcsl6211.lib
-lrtsbios.a67 /* C and C++ run-time library support */
_GBL_CACHE = GBL_CACHE;
/* MODULE MEM */
-stack 0x400
MEMORY {
SDRAM : origin = 0x80000000, len = 0x1000000
}
/* MODULE CLK */
SECTIONS {
.clk: {
_CLK_start = _CLK_start6x;
CLK_F_gethtime = CLK_F_getshtime;
CLK_A_TABBEG = .;
*(.clk)
CLK_A_TABEND = .;
CLK_A_TABLEN = (. - CLK_A_TABBEG) / 1;
} > SDRAM
}
_CLK_PRD = CLK_PRD;
_CLK_COUNTSPMS = CLK_COUNTSPMS;
_CLK_REGS = CLK_REGS;
_CLK_USETIMER = CLK_USETIMER;
_CLK_TIMERNUM = CLK_TIMERNUM;
_CLK_TDDR = CLK_TDDR;
/* MODULE PRD */
SECTIONS {
.prd: {
PRD_A_TABBEG = .;
/* no PRD objects */
PRD_A_TABEND = .;
PRD_A_TABLEN = (. - PRD_A_TABBEG) / 32;
} > SDRAM
}
/* MODULE RTDX */
_RTDX_interrupt_mask = 0x0;
/* MODULE HWI */
SECTIONS {
.hwi_reset: 0x0 {}
}
/* MODULE SWI */
SECTIONS {
.swi: {
SWI_A_TABBEG = .;
/* no SWI objects */
SWI_A_TABEND = .;
SWI_A_TABLEN = (. - SWI_A_TABBEG) / 44;
} > SDRAM
}
/* MODULE TSK */
_KNL_swi = 0;
/* MODULE IDL */
SECTIONS {
.idl: {
IDL_A_TABBEG = .;
*(.idl)
IDL_A_TABEND = .;
IDL_A_TABLEN = (. - IDL_A_TABBEG) / 8;
IDL_A_CALBEG = .;
*(.idlcal)
IDL_A_CALEND = .;
IDL_A_CALLEN = (. - IDL_A_CALBEG) / 8;
} > SDRAM
}
SECTIONS {
.hwi_vec: {
HWI_A_VECS = .;
*(.hwi_vec)
} align = 0x400 > SDRAM
.bss: {} > SDRAM
.far: {} > SDRAM
.sysdata: {} > SDRAM
.sysinit: {} > SDRAM
.mem: {} > SDRAM
.gblinit: {} > SDRAM
.trcdata: {} > SDRAM
.sysregs: {} > SDRAM
.cinit: {} > SDRAM
.pinit: {} > SDRAM
.data: {} > SDRAM
.const: {} > SDRAM
.switch: {} > SDRAM
.cio: {} > SDRAM
.text: {} > SDRAM
frt: {} > SDRAM
.args: fill=0 {
*(.args)
. += 0x4;
} > SDRAM
.stack: fill=0xc0ffee {
GBL_stackbeg = .;
*(.stack)
GBL_stackend = GBL_stackbeg + 0x400 - 1;
_HWI_STKBOTTOM = GBL_stackbeg + 0x400 - 4 & ~7;
_HWI_STKTOP = GBL_stackbeg;
} > SDRAM
.rtdx_data: {} > SDRAM
.rtdx_text: {} > SDRAM
.hst: {
HST_A_TABBEG = .;
_HST_A_TABBEG = .;
*(.hst)
HST_A_TABEND = .;
_HST_A_TABEND = .;
HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
_HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
} > SDRAM
.dsm: {} > SDRAM
/* RTA_fromHost buffer */
.hst1: align = 0x4 {} > SDRAM
/* RTA_toHost buffer */
.hst0: align = 0x4 {} > SDRAM
.hwi: {} > SDRAM
.bios: {} > SDRAM
.log: {
LOG_A_TABBEG = .;
_LOG_A_TABBEG = .;
*(.log)
LOG_A_TABEND = .;
_LOG_A_TABEND = .;
LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
_LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
} > SDRAM
.printf (COPY): {} > SDRAM
/* LOG_system buffer */
.LOG_system$buf: align = 0x800 fill = 0xffffffff {} > SDRAM
/* trace buffer */
.trace$buf: align = 0x1000 fill = 0xffffffff {} > SDRAM
.pip: {
PIP_A_TABBEG = .;
_PIP_A_TABBEG = .;
*(.pip)
PIP_A_TABEND = .;
_PIP_A_TABEND = .;
PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
_PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
} > SDRAM
.sts: {
STS_A_TABBEG = .;
_STS_A_TABBEG = .;
*(.sts)
STS_A_TABEND = .;
_STS_A_TABEND = .;
STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
_STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
} > SDRAM
.sys: {} > SDRAM
}
HPI and DSP/BIOS
Started by ●August 18, 2003
Reply by ●August 19, 20032003-08-19
On 18 Aug 2003 08:32:00 -0700, aine_canby@yahoo.com (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote:>Hi everyone, > >I'm trying to implement a HPI handshake between a windows app and my >c6711dsk. > >I have this working without DSP/BIOS, but I can't get it to work using >DSP/BIOS.What is your cache configuration? Best Regards John McCabe To reply by email replace 'nospam' with 'assen'
Reply by ●August 19, 20032003-08-19
Hi Aine, your modesty haven't borders, your letters more long every time. I would do: 1) to check come or no to HPI function; 2) to check status registers in enter time & when event to HPI must will. Cheers
Reply by ●August 19, 20032003-08-19
Hi again,
I'm newish to the C6711DSK, so its quite possible that I'm leaving
something critical out due to my ignorence.
Anyway the story is that the non-DSP/BIOS version works, but the
DSP/BIOS version wont work.
These are some of the settings in my DSP BIOS -
__Global Settings__
_General_
Target board: c6211
DSP Speed: 150Mhz
CSL: 6211
Endian mode: little
Call user init function: disabled
Real Time Analysis: Enabled
All TRC trace events: Enabled
_621x/671x_
Configure L2 Memory settings: Enabled
Program Cache Control: Not highlighted
L2 Mode - CCFG: 4 way cache
L2 MAR0-15: 0x0001
__MEM__
SDRAM
The map file for the non dsp/bios version is -
******************************************************************************
TMS320C6x COFF Linker PC Version 4.20
******************************************************************************
>> Linked Mon Aug 18 16:12:48 2003
OUTPUT FILE NAME: <F:/Denis/ti/examples/dsk6711/board_util/conftest/Host/cnfdsp.out>
ENTRY POINT SYMBOL: "_c_int00" address: 000008e0
MEMORY CONFIGURATION
name origin length used attr
fill
---------------------- -------- --------- -------- ----
--------
vecs 00000000 00000200 00000200 RWIX
I_HS_MEM 00000200 00000020 00000018 RWIX
IRAM 00000220 0000fde0 00000d28 RWIX
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
vectors 0 00000000 00000200
00000000 00000200 vect.obj (vectors)
my_DataSect 0 00000200 00000018 UNINITIALIZED
00000200 00000018 new.obj (my_DataSect)
.cinit 0 00000220 00000054
00000220 0000002c rts6201.lib : exit.obj
(.cinit)
0000024c 00000004 --HOLE-- [fill = 00000000]
00000250 0000001c : _lock.obj
(.cinit)
0000026c 00000008 --HOLE-- [fill = 00000000]
.text 0 00000280 00000740
00000280 00000260 rts6201.lib : memcpy.obj
(.text)
000004e0 00000000 vect.obj (.text)
000004e0 00000240 rts6201.lib : exit.obj
(.text)
00000720 00000100 : autoinit.obj
(.text)
00000820 000000c0 new.obj (.text)
000008e0 000000a0 rts6201.lib : boot.obj
(.text)
00000980 00000040 : _lock.obj
(.text)
.stack 0 000009c0 00000500 UNINITIALIZED
000009c0 00000000 rts6201.lib : boot.obj
(.stack)
.bss 0 00000220 00000000 UNINITIALIZED
00000220 00000000 new.obj (.bss)
00000220 00000000 rts6201.lib : memcpy.obj
(.bss)
00000220 00000000 : autoinit.obj
(.bss)
00000220 00000000 : _lock.obj
(.bss)
00000220 00000000 : exit.obj
(.bss)
00000220 00000000 : boot.obj
(.bss)
00000220 00000000 vect.obj (.bss)
.const 0 00000220 00000000 UNINITIALIZED
.data 0 00000220 00000000 UNINITIALIZED
00000220 00000000 new.obj (.data)
00000220 00000000 rts6201.lib : memcpy.obj
(.data)
00000220 00000000 : autoinit.obj
(.data)
00000220 00000000 : _lock.obj
(.data)
00000220 00000000 : exit.obj
(.data)
00000220 00000000 : boot.obj
(.data)
00000220 00000000 vect.obj (.data)
.far 0 00000ec0 00000094 UNINITIALIZED
00000ec0 0000008c rts6201.lib : exit.obj
(.far)
00000f4c 00000008 : _lock.obj
(.far)
.switch 0 00000220 00000000 UNINITIALIZED
.sysmem 0 00000220 00000000 UNINITIALIZED
.tables 0 00000220 00000000 UNINITIALIZED
.cio 0 00000220 00000000 UNINITIALIZED
GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
address name
-------- ----
00000220 $bss
00000220 .bss
00000220 .data
00000280 .text
00000708 C$$EXIT
00000500 __STACK_SIZE
00000220 ___bss__
00000220 ___cinit__
00000220 ___data__
00000220 ___edata__
00000220 ___end__
000009c0 ___etext__
ffffffff ___pinit__
00000280 ___text__
00000720 __auto_init
00000f44 __cleanup_ptr
00000f48 __dtors_ptr
00000f4c __lock
00000980 __nop
00000988 __register_lock
0000099c __register_unlock
000009c0 __stack
00000f50 __unlock
00000708 _abort
00000630 _atexit
000008e0 _c_int00
000004e0 _exit
00000200 _handShakingBuffer
00000820 _main
00000280 _memcpy
00000220 cinit
00000220 edata
00000220 end
000009c0 etext
ffffffff pinit
GLOBAL SYMBOLS: SORTED BY Symbol Address
address name
-------- ----
00000200 _handShakingBuffer
00000220 ___end__
00000220 ___edata__
00000220 ___data__
00000220 end
00000220 cinit
00000220 edata
00000220 ___cinit__
00000220 .bss
00000220 .data
00000220 ___bss__
00000220 $bss
00000280 _memcpy
00000280 ___text__
00000280 .text
000004e0 _exit
00000500 __STACK_SIZE
00000630 _atexit
00000708 _abort
00000708 C$$EXIT
00000720 __auto_init
00000820 _main
000008e0 _c_int00
00000980 __nop
00000988 __register_lock
0000099c __register_unlock
000009c0 __stack
000009c0 ___etext__
000009c0 etext
00000f44 __cleanup_ptr
00000f48 __dtors_ptr
00000f4c __lock
00000f50 __unlock
ffffffff pinit
ffffffff ___pinit__
[35 symbols]
XXXXXXXXXXXXX And the DSP/BIoS version map looks like -
******************************************************************************
TMS320C6x COFF Linker PC Version 4.20
******************************************************************************
>> Linked Tue Aug 19 14:59:01 2003
OUTPUT FILE NAME: <F:/Denis/ti/examples/dsk6711/board_util/conftest/Host/cnfdsp.out>
ENTRY POINT SYMBOL: "_c_int00" address: 80000a40
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.vers 0 00000000 00000038 COPY SECTION
00000000 00000038 audiocfg.obj (.vers)
.clk 0 80000000 00000008 UNINITIALIZED
80000000 00000008 audiocfg.obj (.clk)
.prd 0 80000000 00000000 UNINITIALIZED
.hwi_reset 0 00000000 00000000 UNINITIALIZED
.swi 0 80000000 00000000 UNINITIALIZED
.idl 0 80000008 00000020 UNINITIALIZED
80000008 00000010 audiocfg.obj (.idl)
80000018 00000010 audiocfg.obj (.idlcal)
.hwi_vec 0 80000400 00000200
80000400 00000200 audiocfg.obj (.hwi_vec)
.bss 0 80000028 0000028c UNINITIALIZED
80000028 00000134 biosi.a62 : biosdata.o62
(.bss)
8000015c 00000000 : swi.o62 (.bss)
8000015c 00000000 : gbl.o62 (.bss)
8000015c 00000000 : rta_andn.o62
(.bss)
8000015c 00000000 : sts.o62 (.bss)
8000015c 00000000 audiocfg_c.obj (.bss)
8000015c 00000000 biosi.a62 : gbl_cslcachein
(.bss)
8000015c 00000000 : boot.o62 (.bss)
8000015c 00000000 : gbl_vers.o62
(.bss)
8000015c 00000000 : idl.o62 (.bss)
8000015c 00000000 : idl_cal.o62
(.bss)
8000015c 00000000 : fxn.o62 (.bss)
8000015c 00000000 : clk.o62 (.bss)
8000015c 00000000 : prd.o62 (.bss)
8000015c 00000000 : rta.o62 (.bss)
8000015c 00000000 : log.o62 (.bss)
8000015c 00000000 : pip.o62 (.bss)
8000015c 00000000 csl6211.lib : csl.obj
(.bss)
8000015c 00000000 : csl_irq.obj
(.bss)
8000015c 00000000 rtdx.lib : rtdx_mon.obj
(.bss)
8000015c 00000000 : intr_tgt.obj
(.bss)
8000015c 00000000 rtsbios.a67 : memcpy.obj
(.bss)
8000015c 00000000 : _lock.obj
(.bss)
8000015c 00000000 csl6211.lib : csl_timer.obj
(.bss)
8000015c 00000000 rtsbios.a67 : exit.obj
(.bss)
8000015c 00000000 rtdx.lib : buffer2.obj
(.bss)
8000015c 00000000 biosi.a62 : utl_doab_inst.
(.bss)
8000015c 00000000 : utl_doer_inst.
(.bss)
8000015c 00000000 : utl_halt_inst.
(.bss)
8000015c 00000000 : fxn_c.o62
(.bss)
8000015c 00000000 rtdx.lib : buffer1.obj
(.bss)
8000015c 00000000 audio.obj (.bss)
8000015c 00000000 biosi.a62 : autoinit.o62
(.bss)
8000015c 00000100 : hwi_disp_asm.o
(.bss)
8000025c 00000020 audiocfg.obj (.bss)
8000027c 00000018 lnkrtdx.a62 : rtdx.o62
(.bss)
80000294 00000008 biosi.a62 : hwi.o62 (.bss)
8000029c 00000008 : clk_start6x.o6
(.bss)
800002a4 00000008 : gbl.o62
(.bss:c)
800002ac 00000004 : idl_busy.o62
(.bss)
800002b0 00000004 : gbl_cslinit62.
(.bss)
.far 0 80000600 000001e4 UNINITIALIZED
80000600 000000f4 csl6211.lib : csl_irq.obj
(.far)
800006f4 0000008c rtsbios.a67 : exit.obj
(.far)
80000780 00000028 csl6211.lib : csl.obj
(.far)
800007a8 00000020 : csl_timer.obj
(.far)
800007c8 00000014 rtdx.lib : buffer1.obj
(.far)
800007dc 00000008 rtsbios.a67 : _lock.obj
(.far)
.sysdata 0 80000000 00000000 UNINITIALIZED
.sysinit 0 80000800 00000320
80000800 00000240 audiocfg.obj (.sysinit)
80000a40 000000e0 biosi.a62 : boot.o62
(.sysinit)
.mem 0 80000000 00000000 UNINITIALIZED
.gblinit 0 800002b4 00000028
800002b4 00000028 audiocfg.obj (.gblinit)
.trcdata 0 800002dc 0000000c
800002dc 0000000c audiocfg.obj (.trcdata)
.sysregs 0 80000000 00000000 UNINITIALIZED
.cinit 0 80000b20 0000097c
80000b20 00000384 audiocfg.obj (.cinit)
80000ea4 00000004 --HOLE-- [fill = 00000000]
80000ea8 000002dc biosi.a62 : biosdata.o62
(.cinit)
80001184 00000004 --HOLE-- [fill = 00000000]
80001188 0000012c csl6211.lib : csl_irq.obj
(.cinit)
800012b4 00000004 --HOLE-- [fill = 00000000]
800012b8 0000005c lnkrtdx.a62 : rtdx.o62
(.cinit)
80001314 00000004 --HOLE-- [fill = 00000000]
80001318 0000004c biosi.a62 : rta.o62
(.cinit)
80001364 00000004 --HOLE-- [fill = 00000000]
80001368 0000003c csl6211.lib : csl.obj
(.cinit)
800013a4 00000004 --HOLE-- [fill = 00000000]
800013a8 0000003c : csl_timer.obj
(.cinit)
800013e4 00000004 --HOLE-- [fill = 00000000]
800013e8 0000002c rtsbios.a67 : exit.obj
(.cinit)
80001414 00000004 --HOLE-- [fill = 00000000]
80001418 0000001c : _lock.obj
(.cinit)
80001434 00000004 --HOLE-- [fill = 00000000]
80001438 0000001c biosi.a62 : hwi.o62
(.cinit)
80001454 00000004 --HOLE-- [fill = 00000000]
80001458 00000010 : gbl.o62
(.cinit:c)
80001468 00000010 : clk_start6x.o6
(.cinit)
80001478 0000000c : idl_busy.o62
(.cinit)
80001484 00000004 --HOLE-- [fill = 00000000]
80001488 0000000c rtdx.lib : buffer1.obj
(.cinit)
80001494 00000008 --HOLE-- [fill = 00000000]
.pinit 0 800002e8 0000000c
800002e8 00000004 rtdx.lib : rtdx_mon.obj
(.pinit)
800002ec 00000004 : buffer1.obj
(.pinit)
800002f0 00000004 --HOLE-- [fill = 00000000]
.data 0 80000000 00000000 UNINITIALIZED
80000000 00000000 audio.obj (.data)
80000000 00000000 rtsbios.a67 : _lock.obj
(.data)
80000000 00000000 : memcpy.obj
(.data)
80000000 00000000 : exit.obj
(.data)
80000000 00000000 csl6211.lib : csl_timer.obj
(.data)
80000000 00000000 : csl_irq.obj
(.data)
80000000 00000000 : csl.obj
(.data)
80000000 00000000 rtdx.lib : intr_tgt.obj
(.data)
80000000 00000000 : rtdx_mon.obj
(.data)
80000000 00000000 : buffer2.obj
(.data)
80000000 00000000 : buffer1.obj
(.data)
80000000 00000000 biosi.a62 : hwi.o62 (.data)
80000000 00000000 : autoinit.o62
(.data)
80000000 00000000 : fxn_c.o62
(.data)
80000000 00000000 : utl_halt_inst.
(.data)
80000000 00000000 : utl_doer_inst.
(.data)
80000000 00000000 : utl_doab_inst.
(.data)
80000000 00000000 : gbl_cslcachein
(.data)
80000000 00000000 : clk_start6x.o6
(.data)
80000000 00000000 : gbl_vers.o62
(.data)
80000000 00000000 : gbl_cslinit62.
(.data)
80000000 00000000 : gbl.o62 (.data)
80000000 00000000 : swi.o62 (.data)
80000000 00000000 : sts.o62 (.data)
80000000 00000000 : rta_andn.o62
(.data)
80000000 00000000 : rta.o62 (.data)
80000000 00000000 : prd.o62 (.data)
80000000 00000000 : pip.o62 (.data)
80000000 00000000 : log.o62 (.data)
80000000 00000000 : idl_cal.o62
(.data)
80000000 00000000 : idl_busy.o62
(.data)
80000000 00000000 : idl.o62 (.data)
80000000 00000000 : hwi_disp_asm.o
(.data)
80000000 00000000 : fxn.o62 (.data)
80000000 00000000 : clk.o62 (.data)
80000000 00000000 : biosdata.o62
(.data)
80000000 00000000 : boot.o62
(.data)
80000000 00000000 lnkrtdx.a62 : rtdx.o62
(.data)
80000000 00000000 audiocfg_c.obj (.data)
80000000 00000000 audiocfg.obj (.data)
.const 0 800002f4 00000045
800002f4 00000023 biosi.a62 : utl_doab_inst.
(.const)
80000317 00000022 : utl_doer_inst.
(.const)
.switch 0 8000033c 0000002c
8000033c 0000002c rtdx.lib : rtdx_mon.obj
(.switch)
.cio 0 80000000 00000000 UNINITIALIZED
.text 0 800014a0 00000cc0
800014a0 000002a0 rtsbios.a67 : memcpy.obj
(.text)
80001740 00000000 biosi.a62 : sts.o62 (.text)
80001740 00000000 : swi.o62 (.text)
80001740 00000000 : rta_andn.o62
(.text)
80001740 00000000 : prd.o62 (.text)
80001740 00000000 : rta.o62 (.text)
80001740 00000000 : gbl.o62 (.text)
80001740 00000000 : gbl_cslcachein
(.text)
80001740 00000000 : utl_doab_inst.
(.text)
80001740 00000000 : clk_start6x.o6
(.text)
80001740 00000000 : gbl_cslinit62.
(.text)
80001740 00000000 : gbl_vers.o62
(.text)
80001740 00000000 : pip.o62 (.text)
80001740 00000000 : biosdata.o62
(.text)
80001740 00000000 : clk.o62 (.text)
80001740 00000000 : boot.o62
(.text)
80001740 00000000 audiocfg.obj (.text)
80001740 00000000 lnkrtdx.a62 : rtdx.o62
(.text)
80001740 00000000 biosi.a62 : fxn.o62 (.text)
80001740 00000000 : idl_cal.o62
(.text)
80001740 00000000 : log.o62 (.text)
80001740 00000000 : idl_busy.o62
(.text)
80001740 00000000 : hwi_disp_asm.o
(.text)
80001740 00000000 : idl.o62 (.text)
80001740 00000000 : utl_doer_inst.
(.text)
80001740 00000000 rtdx.lib : rtdx_mon.obj
(.text)
80001740 00000000 : buffer2.obj
(.text)
80001740 00000000 : intr_tgt.obj
(.text)
80001740 00000000 csl6211.lib : csl_timer.obj
(.text)
80001740 00000000 : csl.obj
(.text)
80001740 00000000 biosi.a62 : fxn_c.o62
(.text)
80001740 00000000 : utl_halt_inst.
(.text)
80001740 00000000 : autoinit.o62
(.text)
80001740 00000000 rtdx.lib : buffer1.obj
(.text)
80001740 00000000 biosi.a62 : hwi.o62 (.text)
80001740 00000240 rtsbios.a67 : exit.obj
(.text)
80001980 000001c0 csl6211.lib : csl.obj
(.text:__CSL_init)
80001b40 00000120 : csl_timer.obj
(.text:_TIMER_open)
80001c60 00000120 : csl_irq.obj
(.text:_mux2Tables)
80001d80 00000120 : csl_timer.obj
(.text:_TIMER_reset)
80001ea0 000000a0 : csl_irq.obj
(.text:_getMux)
80001f40 00000080 : csl_irq.obj
(.text:__IRQ_init)
80001fc0 00000060 : csl_timer.obj
(.text:_TIMER_configArgs)
80002020 00000040 audio.obj (.text)
80002060 00000040 rtsbios.a67 : _lock.obj
(.text)
800020a0 00000040 csl6211.lib : csl_timer.obj
(.text:_TIMER_start)
800020e0 00000040 : csl_irq.obj
(.text:_IRQ_enable)
80002120 00000020 audiocfg_c.obj (.text)
80002140 00000020 csl6211.lib : csl_irq.obj
(.text)
frt 0 80000000 00000000 UNINITIALIZED
.args 0 80000368 00000004
80000368 00000000 biosi.a62 : boot.o62
(.args)
80000368 00000004 --HOLE-- [fill = 00000000]
.stack 0 80002160 00000400
80002160 00000000 biosi.a62 : boot.o62
(.stack)
80002160 00000400 --HOLE-- [fill = 00c0ffee]
.rtdx_data 0 80002560 00000438 UNINITIALIZED
80002560 00000410 audiocfg.obj (.rtdx_data)
80002970 0000001c rtdx.lib : rtdx_mon.obj
(.rtdx_data)
8000298c 0000000c : buffer1.obj
(.rtdx_data)
.rtdx_text 0 800029a0 00000de0
800029a0 000007a0 rtdx.lib : rtdx_mon.obj
(.rtdx_text)
80003140 00000580 : buffer1.obj
(.rtdx_text)
800036c0 00000080 : buffer2.obj
(.rtdx_text)
80003740 00000040 : intr_tgt.obj
(.rtdx_text)
.hst 0 8000036c 0000002c UNINITIALIZED
8000036c 0000002c audiocfg.obj (.hst)
.dsm 0 80000000 00000000 UNINITIALIZED
.hst1 0 80000398 00000010 UNINITIALIZED
80000398 00000010 audiocfg.obj (.hst1)
.hst0 0 80003780 00000100 UNINITIALIZED
80003780 00000100 audiocfg.obj (.hst0)
.hwi 0 80000000 00000000 UNINITIALIZED
.bios 0 80003880 00002300
80003880 000006e0 biosi.a62 : swi.o62 (.bios)
80003f60 00000540 lnkrtdx.a62 : rtdx.o62
(.bios)
800044a0 00000420 biosi.a62 : hwi_disp_asm.o
(.bios)
800048c0 00000320 : prd.o62 (.bios)
80004be0 00000280 : rta.o62 (.bios)
80004e60 00000240 : gbl_cslcachein
(.bios)
800050a0 00000220 : pip.o62 (.bios)
800052c0 00000220 : clk.o62 (.bios)
800054e0 00000180 : autoinit.o62
(.bios)
80005660 00000100 : idl_cal.o62
(.bios)
80005760 00000080 : fxn.o62 (.bios)
800057e0 00000080 : gbl_cslinit62.
(.bios)
80005860 00000080 : log.o62 (.bios)
800058e0 00000080 : idl_busy.o62
(.bios)
80005960 00000080 : clk_start6x.o6
(.bios)
800059e0 00000060 : utl_doab_inst.
(.bios)
80005a40 00000060 : sts.o62 (.bios)
80005aa0 00000040 : rta_andn.o62
(.bios)
80005ae0 00000020 : fxn_c.o62
(.bios)
80005b00 00000020 : idl.o62 (.bios)
80005b20 00000020 : utl_halt_inst.
(.bios)
80005b40 00000020 : gbl_vers.o62
(.bios)
80005b60 00000020 : utl_doer_inst.
(.bios)
.log 0 800003a8 00000030
800003a8 00000030 audiocfg.obj (.log)
.printf 0 80000000 00000000 COPY SECTION
.LOG_system$buf 0 80006000 00000800
80006000 00000800 audiocfg.obj
(.LOG_system$buf) [fill = ffffffff]
.trace$buf 0 80007000 00001000
80007000 00001000 audiocfg.obj (.trace$buf)
[fill = ffffffff]
.pip 0 80005b80 000000c8 UNINITIALIZED
80005b80 000000c8 audiocfg.obj (.pip)
.sts 0 800003d8 00000010
800003d8 00000010 audiocfg.obj (.sts)
.sys 0 800003e8 00000010 UNINITIALIZED
800003e8 00000010 audiocfg.obj (.sys)
my_DataSect 0 800007e4 00000018 UNINITIALIZED
800007e4 00000018 audio.obj (my_DataSect)
GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
address name
-------- ----
80000028 $bss
80000028 .bss
80000000 .data
800014a0 .text
8000098c BIOS$$CLKOFF
8000095c BIOS$$CLKON
80000800 BIOS_init
800009d4 BIOS_start
80001968 C$$EXIT
00000001 CLK$
80000000 CLK_A_TABBEG
80000008 CLK_A_TABEND
00000008 CLK_A_TABLEN
0000927c CLK_COUNTSPMS
00000000 CLK_COUNTSPMSHIGH
80000050 CLK_D_idletime
8000004c CLK_D_isrhook
80000048 CLK_D_tabbeg
80000044 CLK_D_timefxn
800052c0 CLK_F_getfhtime
800052e0 CLK_F_gethtime
80005354 CLK_F_getltime
800052e0 CLK_F_getshtime
80005360 CLK_F_isr
8000549c CLK_F_itime
800044a0 CLK_HOOKFXN
00004000 CLK_INTBIT
0000927c CLK_PRD
01940000 CLK_REGS
80000040 CLK_R_time
00000020 CLK_TCR
00000000 CLK_TDDR
800052e0 CLK_TIMEFXN
00000000 CLK_TIMERNUM
00000001 CLK_USETIMER
80000004 CLK_null
00000000 DEV$
00000000 DGN$
00000000 DHL$
00000000 DHL_gChannelsAvailable
00000000 DPI$
80005760 FXN_F_nop
80005768 FXN_F_run
800057b8 FXN_F_zero
00000001 GBL$
00000000 GBL_BIGENDIAN
00000000 GBL_C641XL2PRIORITY
00000000 GBL_CACHE
00000001 GBL_CALLCSLCFGINIT
00000001 GBL_ENABLEINST
00000042 GBL_FOOTPRINT
80005b40 GBL_F_version
00002226 GBL_L2ALLOC
00000000 GBL_L2CONFIGALLOC
00000001 GBL_L2CONFIGURE
00000001 GBL_L2MARMASK
00000000 GBL_L2MARMASK1
00000000 GBL_L2MARMASK2
00000000 GBL_L2MARMASK3
00000000 GBL_L2MARMASK4
00000000 GBL_L2MARMASK5
00000007 GBL_L2MODE
00000000 GBL_L2PRIORITY
00000000 GBL_NULL
00000000 GBL_ROM
00000001 GBL_SUPPORTCSL
0000dbef GBL_TRCMASKVALUE
00000000 GBL_USERINIT
80005ae0 GBL_USERINITFXN
800002e4 GBL_initdone
80002160 GBL_stackbeg
8000255f GBL_stackend
00000000 HOOK$
00000000 HOOK_KNLID
00000001 HST$
8000036c HST_A_TABBEG
80000398 HST_A_TABEND
00000002 HST_A_TABLEN
00000000 HST_DSM
ffffffff HST_DSMBUFSEG
00000400 HST_DSMMEMSIZE
80000140 HST_D_chanmask
00000100 HST_MAXFRAMEALLOWED
00000040 HST_MAXFRAMESET
00000000 HST_NONE
00000001 HST_RTDX
00000001 HWI$
80000400 HWI_A_VECS
80000294 HWI_D_ccmask
800044a0 HWI_F_dispatch
00000000 HWI_GENERATE_RESET_VEC
0000000a HWI_INT10
0000000b HWI_INT11
0000000c HWI_INT12
0000000d HWI_INT13
0000000e HWI_INT14
0000000f HWI_INT15
00000004 HWI_INT4
00000005 HWI_INT5
00000006 HWI_INT6
00000007 HWI_INT7
00000008 HWI_INT8
00000009 HWI_INT9
082039a3 HWI_INTRMULTHIGH
310718a4 HWI_INTRMULTLOW
00000001 HWI_NMI
00000000 HWI_POLARITYMASK
00000002 HWI_RESERVED0
00000003 HWI_RESERVED1
00000000 HWI_RESET
00000000 HWI_ZEROTAB
00000001 IDL$
80000018 IDL_A_CALBEG
80000028 IDL_A_CALEND
00000002 IDL_A_CALLEN
80000008 IDL_A_TABBEG
80000018 IDL_A_TABEND
00000002 IDL_A_TABLEN
80005660 IDL_CALIBRFXN
800002ac IDL_D_busyObj
80000030 IDL_D_calbeg
8000002c IDL_D_calibrate
80000028 IDL_D_tabbeg
80000014 IDL_END
80000024 IDL_END$
800058e0 IDL_F_busy
80005660 IDL_F_calibrate
80005b00 IDL_F_loop
00000001 IDL_USECLKIDLTIME
800003dc IDL_busyObj
800003d8 IDL_busyObj$stsobj
80000010 IDL_cpuLoad
80000020 IDL_cpuLoad$
00000001 ISRC$
00000001 LCK$
80003f60 LNK_F_checkBufferCall
80003fd4 LNK_F_dataPump
80003f80 LNK_F_getChanPtr
80003fcc LNK_F_init
80004478 LNK_F_readCallBack
80000008 LNK_dataPump
80000018 LNK_dataPump$
80000280 LNK_dspFrameReadyMask
8000027c LNK_dspFrameRequestMask
80004228 LNK_newin
80004338 LNK_newout
80003fe0 LNK_rcloop
80004090 LNK_rdrtry
80000288 LNK_readDone
8000028c LNK_readFail
80000284 LNK_readPend
80004098 LNK_rrloop
80000290 LNK_writeFail
80004158 LNK_wrloop
80004150 LNK_wrrtry
00000001 LOG$
800003a8 LOG_A_TABBEG
800003d8 LOG_A_TABEND
00000002 LOG_A_TABLEN
80000034 LOG_D_system
00000001 LOG_ENABLED
80005860 LOG_F_event
800003a8 LOG_system
80006000 LOG_system$buf
00000200 LOG_system$size
00000000 MBX$
00000001 MEM$
00000000 MEM_MALLOCSEG
00000000 MEM_NULL
00000000 MEM_SEGZERO
00000000 MEM_gNumHeap
00000000 OBJ$
00000000 PIP$
80005b80 PIP_A_TABBEG
80005c48 PIP_A_TABEND
00000002 PIP_A_TABLEN
80000038 PIP_D_tabbeg
8000003c PIP_D_tablen
80005134 PIP_F_give
80005134 PIP_F_probe
80005208 PIP_F_start
800050a0 PIP_F_take
00000002 PIP_gNextId
00000002 PIP_gNumEmbed
00000000 PRD$
80000000 PRD_A_TABBEG
80000000 PRD_A_TABEND
00000000 PRD_A_TABLEN
800000fc PRD_D_cur
80000100 PRD_D_elapsed
80000104 PRD_D_prevtim
80000108 PRD_D_scalar
8000010c PRD_D_swihandle
80000110 PRD_D_tabbeg
80000114 PRD_D_tablen
80000118 PRD_D_thook
800000f8 PRD_D_tick
800048c0 PRD_F_swi
80004b1c PRD_F_tick
00004000 PRD_SCALAR
00000000 PRD_SWIHANDLE
80005760 PRD_THOOKFXN
80000000 PRD_clock
00000001 QUE$
8000011c RTA_D_fromHost
80000124 RTA_D_logval
80000134 RTA_D_stsval
80000120 RTA_D_toHost
80005aa0 RTA_F_andn
80004cd8 RTA_F_dispatch
80004be0 RTA_F_getlog
80004c24 RTA_F_getsts
80005ac0 RTA_F_or
80004c6c RTA_F_readblk
80004c98 RTA_F_resetmem
80004c8c RTA_F_writeword
8000000c RTA_dispatcher
8000001c RTA_dispatcher$
80004d18 RTA_execute
80000370 RTA_fromHost
80000398 RTA_fromHost$buf
80005b80 RTA_fromHost$pipe
80005bb0 RTA_fromHost$pipe$aaa
80005be0 RTA_fromHost$pipe$bbb
80000260 RTA_fromHost$pipe$dtab
80005b84 RTA_fromHost$pipe$rd
80005bb4 RTA_fromHost$pipe$wr
80000378 RTA_fromHost$rtdx
80000384 RTA_toHost
80003780 RTA_toHost$buf
80005be4 RTA_toHost$pipe
80005c14 RTA_toHost$pipe$aaa
80005c44 RTA_toHost$pipe$bbb
8000026c RTA_toHost$pipe$dtab
80005be8 RTA_toHost$pipe$rd
80005c18 RTA_toHost$pipe$wr
8000038c RTA_toHost$rtdx
00000001 RTDX$
00000408 RTDX_BUFMEMSIZE
ffffffff RTDX_DATAMEMSEG
00000001 RTDX_USERTDX
00000000 RTDX_USERTEXECUTION
ffffffff SDRAM
00000000 SEM$
00000000 SIO$
00000001 STS$
800003d8 STS_A_TABBEG
800003e8 STS_A_TABEND
00000001 STS_A_TABLEN
80005a50 STS_F_add
80005a40 STS_F_delta
80005a7c STS_F_reset
00000000 SWI$
80000000 SWI_A_TABBEG
80000000 SWI_A_TABEND
00000000 SWI_A_TABLEN
80000060 SWI_D_curfxn
80000054 SWI_D_curmask
80000064 SWI_D_curmbox
80000058 SWI_D_curset
8000007c SWI_D_ehook
8000006c SWI_D_execaddr
80000078 SWI_D_ihook
80000068 SWI_D_lock
8000005c SWI_D_pending
80000074 SWI_D_rdybeg
80000080 SWI_D_rdytab
80000070 SWI_D_runaddr
00000000 SWI_EHOOKFXN
80005760 SWI_EXECFXN
80003880 SWI_F_enable
80003aa4 SWI_F_exec
80003b1c SWI_F_iexec
8000390c SWI_F_post
80003cf0 SWI_F_run
00000000 SWI_IHOOKFXN
80005760 SWI_RUNFXN
00000001 SYS$
800003e8 SYS$config
800059e0 SYS_ABORTFXN
80005b60 SYS_ERRORFXN
80005b20 SYS_EXITFXN
80005ae0 SYS_PUTCFXN
800002e0 TRC_R_mask
800002dc TRC_cinit
00000000 TSK$
00000000 TSK_NUM_HOOKS
00000001 TSK_PRIORITY
00000000 TSK_READYFXN
00000000 TSK_STACKSEG
00000400 TSK_STACKSIZE
00000000 TSK_SWITCHFXN
80005ae0 TSK_VCREATEFXN
80005ae0 TSK_VDELETEFXN
80005ae0 TSK_VEXITFXN
00000000 UDEV$
80000800 _BIOS_init
800009d4 _BIOS_start
0000927c _CLK_COUNTSPMS
8000549c _CLK_F_itime
0000927c _CLK_PRD
01940000 _CLK_REGS
00000000 _CLK_TDDR
00000000 _CLK_TIMERNUM
00000001 _CLK_USETIMER
8000549c _CLK_itime
80005960 _CLK_start
80005960 _CLK_start6x
80002120 _CSL_cfgInit
80005ae0 _FXN_F_nop
80005768 _FXN_F_run
800057b8 _FXN_F_zero
00000000 _GBL_CACHE
80004e60 _GBL_cslCacheInit
800057e0 _GBL_cslInit
800002b0 _GBL_cslTimerHandle
800002a4 _GBL_irqEventTable
800002a8 _GBL_irqIntTable
8000036c _HST_A_TABBEG
80000398 _HST_A_TABEND
00000002 _HST_A_TABLEN
80000298 _HWI_D_spsave
800044a0 _HWI_F_dispatch
0000000a _HWI_INT10
0000000b _HWI_INT11
0000000c _HWI_INT12
0000000d _HWI_INT13
0000000e _HWI_INT14
0000000f _HWI_INT15
00000004 _HWI_INT4
00000005 _HWI_INT5
00000006 _HWI_INT6
00000007 _HWI_INT7
00000008 _HWI_INT8
00000009 _HWI_INT9
00000001 _HWI_NMI
00000002 _HWI_RESERVED0
00000003 _HWI_RESERVED1
00000000 _HWI_RESET
80002558 _HWI_STKBOTTOM
80002160 _HWI_STKTOP
8000015c _HWI_dispatchTab
800003dc _IDL_busyObj
80000010 _IDL_cpuLoad
80005b00 _IDL_loop
800020e0 _IRQ_enable
00000000 _KNL_swi
80000008 _LNK_dataPump
800003a8 _LOG_A_TABBEG
800003d8 _LOG_A_TABEND
00000002 _LOG_A_TABLEN
80000034 _LOG_D_system
80005860 _LOG_event
800003a8 _LOG_system
80000144 _MEM_D_NUMSEGMENTS
8000014c _MEM_D_freelist
80000150 _MEM_D_lockaddr
80000148 _MEM_D_memtab
80000154 _MEM_D_unlockaddr
00000000 _MEM_memtab
80005b80 _PIP_A_TABBEG
80005c48 _PIP_A_TABEND
00000002 _PIP_A_TABLEN
800000f8 _PRD_D_tick
80000000 _PRD_clock
8000000c _RTA_dispatcher
80000370 _RTA_fromHost
80000384 _RTA_toHost
80002560 _RTDX_Buffer
8000296c _RTDX_Buffer_End
80003140 _RTDX_Buffer_Initialize
800036c0 _RTDX_Buffer_Read
80002968 _RTDX_Buffer_Start
80003498 _RTDX_Buffer_Write
80002a88 _RTDX_Final_RT_Monitor
800029e0 _RTDX_Init_RT_Monitor
80002acc _RTDX_IsFlowEnabled
00000002 _RTDX_JTAGONLY
80003740 _RTDX_Mask_IER
80002fec _RTDX_Mon_Queue
80002ae0 _RTDX_Poll
80003758 _RTDX_Set_IER
00000000 _RTDX_interrupt_mask
800007c8 _RTDX_writing
ffffffff _SDRAM
800003d8 _STS_A_TABBEG
800003e8 _STS_A_TABEND
00000001 _STS_A_TABLEN
80005a50 _STS_add
80005a40 _STS_delta
80005a7c _STS_reset
80000060 _SWI_D_curfxn
80000054 _SWI_D_curmask
80000068 _SWI_D_lock
80000074 _SWI_D_rdybeg
80000158 _SYS
80001fc0 _TIMER_configArgs
80001b40 _TIMER_open
80001d80 _TIMER_reset
800020a0 _TIMER_start
800002e0 _TRC_R_mask
800059e0 _UTL_doAbort
80005b60 _UTL_doError
80005b20 _UTL_halt
800054b0 __CLK_lat1beg
800054dc __CLK_lat1end
80001980 __CSL_init
80000278 __HOOK_NUMHOOKS
8000025c __HOOK_knlId
800044a0 __HWI_lat1beg
8000464c __HWI_lat1end
8000464c __HWI_lat2beg
800047c8 __HWI_lat2end1
80004768 __HWI_lat2end2
8000480c __HWI_lat3beg
800048b8 __HWI_lat3end1
80004794 __HWI_lat3end2
800058e0 __IDL_lat1beg
80005930 __IDL_lat1end
800006ec __IRQ_dispatchTable
80000628 __IRQ_eventTable
80002140 __IRQ_hookFetchPacket
80001f40 __IRQ_init
800006ac __IRQ_intTable
80005860 __LOG_lat1beg
800058a4 __LOG_lat1end1
800058d0 __LOG_lat1end2
80004c98 __RTA_lat1beg
80004cd0 __RTA_lat1end
00000400 __STACK_SIZE
80003a14 __SWI_lat1beg
80003aa0 __SWI_lat1end1
80003b5c __SWI_lat1end2
80003c00 __SWI_lat2beg
80003cec __SWI_lat2end2
80003880 __SWI_lat3beg
80003908 __SWI_lat3end
800007a8 __TIMER_deviceTable
800007c0 __TIMER_hDev0
800007c4 __TIMER_hDev1
80000028 ___bss__
80000b20 ___cinit__
80000000 ___data__
80000000 ___edata__
800002b4 ___end__
80002160 ___etext__
800002e8 ___pinit__
800014a0 ___text__
800054e0 __auto_init
80000778 __cleanup_ptr
8000077c __dtors_ptr
800007dc __lock
80002060 __nop
80002068 __register_lock
8000207c __register_unlock
80002160 __stack
800007e0 __unlock
80001968 _abort
80001890 _atexit
80000a40 _c_int00
80001740 _exit
800007e4 _handShakingBuffer
80002020 _main
800014a0 _memcpy
8000298c _rtdx_buffer_state
80002970 _rtdx_mon_state
800003c0 _trace
80000b20 cinit
80000000 edata
800002b4 end
80002160 etext
80000400 hwi0
80000420 hwi1
80000540 hwi10
80000560 hwi11
80000580 hwi12
800005a0 hwi13
800005c0 hwi14
800005e0 hwi15
80000440 hwi2
80000460 hwi3
80000480 hwi4
800004a0 hwi5
800004c0 hwi6
800004e0 hwi7
80000500 hwi8
80000520 hwi9
800002e8 pinit
800003c0 trace
80007000 trace$buf
00000400 trace$size
GLOBAL SYMBOLS: SORTED BY Symbol Address
address name
-------- ----
00000000 GBL_C641XL2PRIORITY
00000000 GBL_CACHE
00000000 MEM_SEGZERO
00000000 GBL_BIGENDIAN
00000000 MBX$
00000000 GBL_L2CONFIGALLOC
00000000 MEM_NULL
00000000 MEM_MALLOCSEG
00000000 MEM_gNumHeap
00000000 DGN$
00000000 DHL$
00000000 PRD$
00000000 DEV$
00000000 PIP$
00000000 OBJ$
00000000 DHL_gChannelsAvailable
00000000 DPI$
00000000 HWI_POLARITYMASK
00000000 HOOK$
00000000 HWI_ZEROTAB
00000000 HWI_RESET
00000000 HST_NONE
00000000 HST_DSM
00000000 HOOK_KNLID
00000000 HWI_GENERATE_RESET_VEC
00000000 GBL_USERINIT
00000000 GBL_L2MARMASK3
00000000 GBL_L2MARMASK4
00000000 GBL_L2MARMASK1
00000000 GBL_L2MARMASK2
00000000 GBL_NULL
00000000 GBL_ROM
00000000 GBL_L2MARMASK5
00000000 GBL_L2PRIORITY
00000000 PRD_A_TABLEN
00000000 TSK_STACKSEG
00000000 TSK_SWITCHFXN
00000000 UDEV$
00000000 TSK_READYFXN
00000000 TSK$
00000000 TSK_NUM_HOOKS
00000000 CLK_COUNTSPMSHIGH
00000000 _KNL_swi
00000000 _MEM_memtab
00000000 _RTDX_interrupt_mask
00000000 _HWI_RESET
00000000 _CLK_TDDR
00000000 _CLK_TIMERNUM
00000000 _GBL_CACHE
00000000 SWI_IHOOKFXN
00000000 SEM$
00000000 SIO$
00000000 SWI$
00000000 RTDX_USERTEXECUTION
00000000 CLK_TIMERNUM
00000000 PRD_SWIHANDLE
00000000 CLK_TDDR
00000000 SWI_A_TABLEN
00000000 SWI_EHOOKFXN
00000001 QUE$
00000001 HWI_NMI
00000001 RTDX$
00000001 _HWI_NMI
00000001 LOG_ENABLED
00000001 MEM$
00000001 _STS_A_TABLEN
00000001 HST_RTDX
00000001 SYS$
00000001 HWI$
00000001 ISRC$
00000001 LCK$
00000001 STS$
00000001 TSK_PRIORITY
00000001 STS_A_TABLEN
00000001 RTDX_USERTDX
00000001 _CLK_USETIMER
00000001 IDL$
00000001 LOG$
00000001 IDL_USECLKIDLTIME
00000001 GBL_CALLCSLCFGINIT
00000001 GBL_ENABLEINST
00000001 GBL$
00000001 CLK_USETIMER
00000001 HST$
00000001 GBL_SUPPORTCSL
00000001 GBL_L2CONFIGURE
00000001 CLK$
00000001 GBL_L2MARMASK
00000002 PIP_A_TABLEN
00000002 IDL_A_CALLEN
00000002 PIP_gNumEmbed
00000002 PIP_gNextId
00000002 HWI_RESERVED0
00000002 _PIP_A_TABLEN
00000002 _LOG_A_TABLEN
00000002 LOG_A_TABLEN
00000002 IDL_A_TABLEN
00000002 _HWI_RESERVED0
00000002 _RTDX_JTAGONLY
00000002 _HST_A_TABLEN
00000002 HST_A_TABLEN
00000003 _HWI_RESERVED1
00000003 HWI_RESERVED1
00000004 HWI_INT4
00000004 _HWI_INT4
00000005 _HWI_INT5
00000005 HWI_INT5
00000006 _HWI_INT6
00000006 HWI_INT6
00000007 _HWI_INT7
00000007 HWI_INT7
00000007 GBL_L2MODE
00000008 _HWI_INT8
00000008 CLK_A_TABLEN
00000008 HWI_INT8
00000009 _HWI_INT9
00000009 HWI_INT9
0000000a HWI_INT10
0000000a _HWI_INT10
0000000b _HWI_INT11
0000000b HWI_INT11
0000000c HWI_INT12
0000000c _HWI_INT12
0000000d HWI_INT13
0000000d _HWI_INT13
0000000e _HWI_INT14
0000000e HWI_INT14
0000000f HWI_INT15
0000000f _HWI_INT15
00000020 CLK_TCR
00000040 HST_MAXFRAMESET
00000042 GBL_FOOTPRINT
00000100 HST_MAXFRAMEALLOWED
00000200 LOG_system$size
00000400 TSK_STACKSIZE
00000400 trace$size
00000400 __STACK_SIZE
00000400 HST_DSMMEMSIZE
00000408 RTDX_BUFMEMSIZE
00002226 GBL_L2ALLOC
00004000 CLK_INTBIT
00004000 PRD_SCALAR
0000927c CLK_COUNTSPMS
0000927c _CLK_COUNTSPMS
0000927c CLK_PRD
0000927c _CLK_PRD
0000dbef GBL_TRCMASKVALUE
01940000 _CLK_REGS
01940000 CLK_REGS
082039a3 HWI_INTRMULTHIGH
310718a4 HWI_INTRMULTLOW
80000000 ___data__
80000000 PRD_A_TABBEG
80000000 .data
80000000 SWI_A_TABBEG
80000000 SWI_A_TABEND
80000000 edata
80000000 _PRD_clock
80000000 CLK_A_TABBEG
80000000 ___edata__
80000000 PRD_A_TABEND
80000000 PRD_clock
80000004 CLK_null
80000008 CLK_A_TABEND
80000008 IDL_A_TABBEG
80000008 LNK_dataPump
80000008 _LNK_dataPump
8000000c RTA_dispatcher
8000000c _RTA_dispatcher
80000010 IDL_cpuLoad
80000010 _IDL_cpuLoad
80000014 IDL_END
80000018 IDL_A_TABEND
80000018 LNK_dataPump$
80000018 IDL_A_CALBEG
8000001c RTA_dispatcher$
80000020 IDL_cpuLoad$
80000024 IDL_END$
80000028 IDL_D_tabbeg
80000028 ___bss__
80000028 $bss
80000028 IDL_A_CALEND
80000028 .bss
8000002c IDL_D_calibrate
80000030 IDL_D_calbeg
80000034 _LOG_D_system
80000034 LOG_D_system
80000038 PIP_D_tabbeg
8000003c PIP_D_tablen
80000040 CLK_R_time
80000044 CLK_D_timefxn
80000048 CLK_D_tabbeg
8000004c CLK_D_isrhook
80000050 CLK_D_idletime
80000054 SWI_D_curmask
80000054 _SWI_D_curmask
80000058 SWI_D_curset
8000005c SWI_D_pending
80000060 SWI_D_curfxn
80000060 _SWI_D_curfxn
80000064 SWI_D_curmbox
80000068 SWI_D_lock
80000068 _SWI_D_lock
8000006c SWI_D_execaddr
80000070 SWI_D_runaddr
80000074 SWI_D_rdybeg
80000074 _SWI_D_rdybeg
80000078 SWI_D_ihook
8000007c SWI_D_ehook
80000080 SWI_D_rdytab
800000f8 PRD_D_tick
800000f8 _PRD_D_tick
800000fc PRD_D_cur
80000100 PRD_D_elapsed
80000104 PRD_D_prevtim
80000108 PRD_D_scalar
8000010c PRD_D_swihandle
80000110 PRD_D_tabbeg
80000114 PRD_D_tablen
80000118 PRD_D_thook
8000011c RTA_D_fromHost
80000120 RTA_D_toHost
80000124 RTA_D_logval
80000134 RTA_D_stsval
80000140 HST_D_chanmask
80000144 _MEM_D_NUMSEGMENTS
80000148 _MEM_D_memtab
8000014c _MEM_D_freelist
80000150 _MEM_D_lockaddr
80000154 _MEM_D_unlockaddr
80000158 _SYS
8000015c _HWI_dispatchTab
8000025c __HOOK_knlId
80000260 RTA_fromHost$pipe$dtab
8000026c RTA_toHost$pipe$dtab
80000278 __HOOK_NUMHOOKS
8000027c LNK_dspFrameRequestMask
80000280 LNK_dspFrameReadyMask
80000284 LNK_readPend
80000288 LNK_readDone
8000028c LNK_readFail
80000290 LNK_writeFail
80000294 HWI_D_ccmask
80000298 _HWI_D_spsave
800002a4 _GBL_irqEventTable
800002a8 _GBL_irqIntTable
800002ac IDL_D_busyObj
800002b0 _GBL_cslTimerHandle
800002b4 end
800002b4 ___end__
800002dc TRC_cinit
800002e0 TRC_R_mask
800002e0 _TRC_R_mask
800002e4 GBL_initdone
800002e8 ___pinit__
800002e8 pinit
8000036c HST_A_TABBEG
8000036c _HST_A_TABBEG
80000370 _RTA_fromHost
80000370 RTA_fromHost
80000378 RTA_fromHost$rtdx
80000384 _RTA_toHost
80000384 RTA_toHost
8000038c RTA_toHost$rtdx
80000398 RTA_fromHost$buf
80000398 HST_A_TABEND
80000398 _HST_A_TABEND
800003a8 LOG_system
800003a8 _LOG_A_TABBEG
800003a8 _LOG_system
800003a8 LOG_A_TABBEG
800003c0 _trace
800003c0 trace
800003d8 _LOG_A_TABEND
800003d8 LOG_A_TABEND
800003d8 IDL_busyObj$stsobj
800003d8 STS_A_TABBEG
800003d8 _STS_A_TABBEG
800003dc _IDL_busyObj
800003dc IDL_busyObj
800003e8 _STS_A_TABEND
800003e8 STS_A_TABEND
800003e8 SYS$config
80000400 hwi0
80000400 HWI_A_VECS
80000420 hwi1
80000440 hwi2
80000460 hwi3
80000480 hwi4
800004a0 hwi5
800004c0 hwi6
800004e0 hwi7
80000500 hwi8
80000520 hwi9
80000540 hwi10
80000560 hwi11
80000580 hwi12
800005a0 hwi13
800005c0 hwi14
800005e0 hwi15
80000628 __IRQ_eventTable
800006ac __IRQ_intTable
800006ec __IRQ_dispatchTable
80000778 __cleanup_ptr
8000077c __dtors_ptr
800007a8 __TIMER_deviceTable
800007c0 __TIMER_hDev0
800007c4 __TIMER_hDev1
800007c8 _RTDX_writing
800007dc __lock
800007e0 __unlock
800007e4 _handShakingBuffer
80000800 BIOS_init
80000800 _BIOS_init
8000095c BIOS$$CLKON
8000098c BIOS$$CLKOFF
800009d4 BIOS_start
800009d4 _BIOS_start
80000a40 _c_int00
80000b20 ___cinit__
80000b20 cinit
800014a0 ___text__
800014a0 _memcpy
800014a0 .text
80001740 _exit
80001890 _atexit
80001968 _abort
80001968 C$$EXIT
80001980 __CSL_init
80001b40 _TIMER_open
80001d80 _TIMER_reset
80001f40 __IRQ_init
80001fc0 _TIMER_configArgs
80002020 _main
80002060 __nop
80002068 __register_lock
8000207c __register_unlock
800020a0 _TIMER_start
800020e0 _IRQ_enable
80002120 _CSL_cfgInit
80002140 __IRQ_hookFetchPacket
80002160 __stack
80002160 etext
80002160 GBL_stackbeg
80002160 ___etext__
80002160 _HWI_STKTOP
80002558 _HWI_STKBOTTOM
8000255f GBL_stackend
80002560 _RTDX_Buffer
80002968 _RTDX_Buffer_Start
8000296c _RTDX_Buffer_End
80002970 _rtdx_mon_state
8000298c _rtdx_buffer_state
800029e0 _RTDX_Init_RT_Monitor
80002a88 _RTDX_Final_RT_Monitor
80002acc _RTDX_IsFlowEnabled
80002ae0 _RTDX_Poll
80002fec _RTDX_Mon_Queue
80003140 _RTDX_Buffer_Initialize
80003498 _RTDX_Buffer_Write
800036c0 _RTDX_Buffer_Read
80003740 _RTDX_Mask_IER
80003758 _RTDX_Set_IER
80003780 RTA_toHost$buf
80003880 __SWI_lat3beg
80003880 SWI_F_enable
80003908 __SWI_lat3end
8000390c SWI_F_post
80003a14 __SWI_lat1beg
80003aa0 __SWI_lat1end1
80003aa4 SWI_F_exec
80003b1c SWI_F_iexec
80003b5c __SWI_lat1end2
80003c00 __SWI_lat2beg
80003cec __SWI_lat2end2
80003cf0 SWI_F_run
80003f60 LNK_F_checkBufferCall
80003f80 LNK_F_getChanPtr
80003fcc LNK_F_init
80003fd4 LNK_F_dataPump
80003fe0 LNK_rcloop
80004090 LNK_rdrtry
80004098 LNK_rrloop
80004150 LNK_wrrtry
80004158 LNK_wrloop
80004228 LNK_newin
80004338 LNK_newout
80004478 LNK_F_readCallBack
800044a0 __HWI_lat1beg
800044a0 _HWI_F_dispatch
800044a0 CLK_HOOKFXN
800044a0 HWI_F_dispatch
8000464c __HWI_lat2beg
8000464c __HWI_lat1end
80004768 __HWI_lat2end2
80004794 __HWI_lat3end2
800047c8 __HWI_lat2end1
8000480c __HWI_lat3beg
800048b8 __HWI_lat3end1
800048c0 PRD_F_swi
80004b1c PRD_F_tick
80004be0 RTA_F_getlog
80004c24 RTA_F_getsts
80004c6c RTA_F_readblk
80004c8c RTA_F_writeword
80004c98 RTA_F_resetmem
80004c98 __RTA_lat1beg
80004cd0 __RTA_lat1end
80004cd8 RTA_F_dispatch
80004d18 RTA_execute
80004e60 _GBL_cslCacheInit
800050a0 PIP_F_take
80005134 PIP_F_probe
80005134 PIP_F_give
80005208 PIP_F_start
800052c0 CLK_F_getfhtime
800052e0 CLK_F_getshtime
800052e0 CLK_TIMEFXN
800052e0 CLK_F_gethtime
80005354 CLK_F_getltime
80005360 CLK_F_isr
8000549c CLK_F_itime
8000549c _CLK_itime
8000549c _CLK_F_itime
800054b0 __CLK_lat1beg
800054dc __CLK_lat1end
800054e0 __auto_init
80005660 IDL_CALIBRFXN
80005660 IDL_F_calibrate
80005760 SWI_EXECFXN
80005760 PRD_THOOKFXN
80005760 SWI_RUNFXN
80005760 FXN_F_nop
80005768 _FXN_F_run
80005768 FXN_F_run
800057b8 _FXN_F_zero
800057b8 FXN_F_zero
800057e0 _GBL_cslInit
80005860 __LOG_lat1beg
80005860 LOG_F_event
80005860 _LOG_event
800058a4 __LOG_lat1end1
800058d0 __LOG_lat1end2
800058e0 __IDL_lat1beg
800058e0 IDL_F_busy
80005930 __IDL_lat1end
80005960 _CLK_start6x
80005960 _CLK_start
800059e0 _UTL_doAbort
800059e0 SYS_ABORTFXN
80005a40 STS_F_delta
80005a40 _STS_delta
80005a50 STS_F_add
80005a50 _STS_add
80005a7c _STS_reset
80005a7c STS_F_reset
80005aa0 RTA_F_andn
80005ac0 RTA_F_or
80005ae0 SYS_PUTCFXN
80005ae0 TSK_VEXITFXN
80005ae0 GBL_USERINITFXN
80005ae0 _FXN_F_nop
80005ae0 TSK_VCREATEFXN
80005ae0 TSK_VDELETEFXN
80005b00 IDL_F_loop
80005b00 _IDL_loop
80005b20 SYS_EXITFXN
80005b20 _UTL_halt
80005b40 GBL_F_version
80005b60 _UTL_doError
80005b60 SYS_ERRORFXN
80005b80 RTA_fromHost$pipe
80005b80 _PIP_A_TABBEG
80005b80 PIP_A_TABBEG
80005b84 RTA_fromHost$pipe$rd
80005bb0 RTA_fromHost$pipe$aaa
80005bb4 RTA_fromHost$pipe$wr
80005be0 RTA_fromHost$pipe$bbb
80005be4 RTA_toHost$pipe
80005be8 RTA_toHost$pipe$rd
80005c14 RTA_toHost$pipe$aaa
80005c18 RTA_toHost$pipe$wr
80005c44 RTA_toHost$pipe$bbb
80005c48 _PIP_A_TABEND
80005c48 PIP_A_TABEND
80006000 LOG_system$buf
80007000 trace$buf
ffffffff HST_DSMBUFSEG
ffffffff SDRAM
ffffffff RTDX_DATAMEMSEG
ffffffff _SDRAM
[491 symbols]
XXXXXXXXXXXXXXX Perhaps that might give you idea as to what I've left
out. Thanks very much for getting back to me.
Aine.
Hi everyone,
I'm trying to implement a HPI handshake between a windows app and my
c6711dsk.
I have this working without DSP/BIOS, but I can't get it to work using
DSP/BIOS.
This is my dsp code (I'm using the same code for both non-DSP/BIOS and
DSP/BIOS) -
#define ID_0 0x12345678
#define ID_1 0xf1f2f3f4
#define ID_2 0x08070605
#pragma DATA_SECTION(handShakingBuffer, "my_DataSect")
int handShakingBuffer[HS_BUFFER_LEN];
/*
* ======== main ========
*/
void main()
{
handShakingBuffer[0] = ID_0;
handShakingBuffer[1] = ID_1;
handShakingBuffer[2] = ID_2;
handShakingBuffer[3] = 0;
handShakingBuffer[4] = 0;
return;
}
Actually, the DSP/BIOS version also includes -
#include "audiocfg.h"
#include "audio.h"
My windows app loads the dsp program to the dsp board, and polls until
the following are set -
handShakingBuffer[0] = ID_0;
handShakingBuffer[1] = ID_1;
handShakingBuffer[2] = ID_2;
My windows app looks something like the following -
sBoardFile = "F:\\ti\\c6000\\dsk6x11\\doc\\ti_ppdsk.cfg";
pBoardFile = fopen( sBoardFile, "r" );
fclose(pBoardFile);
dsk6x_open(sBoardFile,&hBd) )
dsk6x_reset_dsp(hBd,0,1) )
dsk6x_hpi_open(hBd))
dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump))
dsk6x_hpi_generate_int(hBd))
do
{
readLength = HS_BUFFER_LEN*4; /* 4 bytes for 1 word */
/*-------------------------------------------------------------------*/
/* Test if handShakingBuffer actually read (completely)
*/
/*-------------------------------------------------------------------*/
if (!dsk6x_hpi_read(hBd, handShakingBuffer, &readLength,
DSPHS_BUFFER_ADDRESS) || readLength != HS_BUFFER_LEN*4)
{ /* evm6x_hpi_read() failed */
continue; // try again
}
/*-------------------------------------------------------------------*/
/* Test if handShakingBuffer contains correct ID
*/
/*-------------------------------------------------------------------*/
handShakingFlag = 0; // reset hand shaking flag
if(handShakingBuffer[0] != ID_0)
handShakingFlag = 1;
if(handShakingBuffer[1] != ID_1)
handShakingFlag = 1;
if(handShakingBuffer[2] != ID_2)
handShakingFlag = 1;
} while (handShakingFlag == 1);
The DSP/BIOS version is getting trapped in the while loop, because the
dsp is obviously not setting the handShakingBuffer, or the app is not
reading this buffer correctly. THe non DSP bios version does not get
trapped.
My non-DSP bios project also includes a vector.asm file -
*
* TI Proprietary Information
* Internal Data
*
.ref _c_int00
.sect "vectors"
RESET_RST:
mvkl .S2 _c_int00, B0
mvkh .S2 _c_int00, B0
B .S2 B0
NOP
NOP
NOP
NOP
NOP
NMI_RST:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RESV1:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RESV2:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT4: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT5: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT6: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT7: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT8: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT9: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT10: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT11: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT12: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT13: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT14: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
INT15: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
and a cmd file -
-c
-heap 0x500
-stack 0x500 /* very large stack for DSP programs. */
-lrts6201.lib
MEMORY
{
vecs: o = 00000000h l = 00000200h
I_HS_MEM: o = 00000200h l = 00000020h
IRAM: o = 00000220h l = 0000FDE0h
}
SECTIONS
{
"vectors" > vecs
my_DataSect > I_HS_MEM
.cinit > IRAM
.text > IRAM
.stack > IRAM
.bss > IRAM
.const > IRAM
.data > IRAM
.far > IRAM
.switch > IRAM
.sysmem > IRAM
.tables > IRAM
.cio > IRAM
}
My DSP/BIOS project contains a cdb file, and a cmd file. The cdb file
is not set up to do anything other that to define the chip - c6711
etc. Is there anything else I should be setting up in the DSP/BIOS
version?
Thanks,
Aine.
This is my cmd file for the DSP/BIOS version, in case it gives any
clues. Thanks.
/* Do *not* directly modify this file. It was */
/* generated by the Configuration Tool; any */
/* changes risk being overwritten. */
/* INPUT audio.cdb */
/* MODULE PARAMETERS */
GBL_USERINITFXN = _FXN_F_nop;
MEM_SEGZERO = MEM_NULL;
MEM_MALLOCSEG = MEM_NULL;
CLK_TIMEFXN = CLK_F_getshtime;
CLK_HOOKFXN = HWI_F_dispatch;
PRD_THOOKFXN = FXN_F_nop;
RTDX_DATAMEMSEG = SDRAM;
HST_DSMBUFSEG = SDRAM;
SWI_EHOOKFXN = GBL_NULL;
SWI_IHOOKFXN = GBL_NULL;
SWI_EXECFXN = FXN_F_nop;
SWI_RUNFXN = FXN_F_nop;
TSK_STACKSEG = MEM_NULL;
TSK_VCREATEFXN = _FXN_F_nop;
TSK_VDELETEFXN = _FXN_F_nop;
TSK_VEXITFXN = _FXN_F_nop;
IDL_CALIBRFXN = IDL_F_calibrate;
SYS_ABORTFXN = _UTL_doAbort;
SYS_ERRORFXN = _UTL_doError;
SYS_EXITFXN = _UTL_halt;
SYS_PUTCFXN = _FXN_F_nop;
/* OBJECT ALIASES */
_SDRAM = SDRAM;
_PRD_clock = PRD_clock;
_RTA_fromHost = RTA_fromHost;
_RTA_toHost = RTA_toHost;
_HWI_RESET = HWI_RESET;
_HWI_NMI = HWI_NMI;
_HWI_RESERVED0 = HWI_RESERVED0;
_HWI_RESERVED1 = HWI_RESERVED1;
_HWI_INT4 = HWI_INT4;
_HWI_INT5 = HWI_INT5;
_HWI_INT6 = HWI_INT6;
_HWI_INT7 = HWI_INT7;
_HWI_INT8 = HWI_INT8;
_HWI_INT9 = HWI_INT9;
_HWI_INT10 = HWI_INT10;
_HWI_INT11 = HWI_INT11;
_HWI_INT12 = HWI_INT12;
_HWI_INT13 = HWI_INT13;
_HWI_INT14 = HWI_INT14;
_HWI_INT15 = HWI_INT15;
_LNK_dataPump = LNK_dataPump;
_RTA_dispatcher = RTA_dispatcher;
_IDL_cpuLoad = IDL_cpuLoad;
_LOG_system = LOG_system;
_trace = trace;
_IDL_busyObj = IDL_busyObj;
/* MODULE GBL */
SECTIONS {
.vers (COPY): {} /* version information */
}
-llnkrtdx.a62
-ldrivers.a67 /* device drivers support */
-lbiosi.a62 /* DSP/BIOS support */
-lrtdx.lib /* RTDX support */
-lcsl6211.lib
-lrtsbios.a67 /* C and C++ run-time library support */
_GBL_CACHE = GBL_CACHE;
/* MODULE MEM */
-stack 0x400
MEMORY {
SDRAM : origin = 0x80000000, len = 0x1000000
}
/* MODULE CLK */
SECTIONS {
.clk: {
_CLK_start = _CLK_start6x;
CLK_F_gethtime = CLK_F_getshtime;
CLK_A_TABBEG = .;
*(.clk)
CLK_A_TABEND = .;
CLK_A_TABLEN = (. - CLK_A_TABBEG) / 1;
} > SDRAM
}
_CLK_PRD = CLK_PRD;
_CLK_COUNTSPMS = CLK_COUNTSPMS;
_CLK_REGS = CLK_REGS;
_CLK_USETIMER = CLK_USETIMER;
_CLK_TIMERNUM = CLK_TIMERNUM;
_CLK_TDDR = CLK_TDDR;
/* MODULE PRD */
SECTIONS {
.prd: {
PRD_A_TABBEG = .;
/* no PRD objects */
PRD_A_TABEND = .;
PRD_A_TABLEN = (. - PRD_A_TABBEG) / 32;
} > SDRAM
}
/* MODULE RTDX */
_RTDX_interrupt_mask = 0x0;
/* MODULE HWI */
SECTIONS {
.hwi_reset: 0x0 {}
}
/* MODULE SWI */
SECTIONS {
.swi: {
SWI_A_TABBEG = .;
/* no SWI objects */
SWI_A_TABEND = .;
SWI_A_TABLEN = (. - SWI_A_TABBEG) / 44;
} > SDRAM
}
/* MODULE TSK */
_KNL_swi = 0;
/* MODULE IDL */
SECTIONS {
.idl: {
IDL_A_TABBEG = .;
*(.idl)
IDL_A_TABEND = .;
IDL_A_TABLEN = (. - IDL_A_TABBEG) / 8;
IDL_A_CALBEG = .;
*(.idlcal)
IDL_A_CALEND = .;
IDL_A_CALLEN = (. - IDL_A_CALBEG) / 8;
} > SDRAM
}
SECTIONS {
.hwi_vec: {
HWI_A_VECS = .;
*(.hwi_vec)
} align = 0x400 > SDRAM
.bss: {} > SDRAM
.far: {} > SDRAM
.sysdata: {} > SDRAM
.sysinit: {} > SDRAM
.mem: {} > SDRAM
.gblinit: {} > SDRAM
.trcdata: {} > SDRAM
.sysregs: {} > SDRAM
.cinit: {} > SDRAM
.pinit: {} > SDRAM
.data: {} > SDRAM
.const: {} > SDRAM
.switch: {} > SDRAM
.cio: {} > SDRAM
.text: {} > SDRAM
frt: {} > SDRAM
.args: fill=0 {
*(.args)
. += 0x4;
} > SDRAM
.stack: fill=0xc0ffee {
GBL_stackbeg = .;
*(.stack)
GBL_stackend = GBL_stackbeg + 0x400 - 1;
_HWI_STKBOTTOM = GBL_stackbeg + 0x400 - 4 & ~7;
_HWI_STKTOP = GBL_stackbeg;
} > SDRAM
.rtdx_data: {} > SDRAM
.rtdx_text: {} > SDRAM
.hst: {
HST_A_TABBEG = .;
_HST_A_TABBEG = .;
*(.hst)
HST_A_TABEND = .;
_HST_A_TABEND = .;
HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
_HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
} > SDRAM
.dsm: {} > SDRAM
/* RTA_fromHost buffer */
.hst1: align = 0x4 {} > SDRAM
/* RTA_toHost buffer */
.hst0: align = 0x4 {} > SDRAM
.hwi: {} > SDRAM
.bios: {} > SDRAM
.log: {
LOG_A_TABBEG = .;
_LOG_A_TABBEG = .;
*(.log)
LOG_A_TABEND = .;
_LOG_A_TABEND = .;
LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
_LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
} > SDRAM
.printf (COPY): {} > SDRAM
/* LOG_system buffer */
.LOG_system$buf: align = 0x800 fill = 0xffffffff {} > SDRAM
/* trace buffer */
.trace$buf: align = 0x1000 fill = 0xffffffff {} > SDRAM
.pip: {
PIP_A_TABBEG = .;
_PIP_A_TABBEG = .;
*(.pip)
PIP_A_TABEND = .;
_PIP_A_TABEND = .;
PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
_PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
} > SDRAM
.sts: {
STS_A_TABBEG = .;
_STS_A_TABBEG = .;
*(.sts)
STS_A_TABEND = .;
_STS_A_TABEND = .;
STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
_STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
} > SDRAM
.sys: {} > SDRAM
}
john@nospam.demon.co.uk (John McCabe) wrote in message news:<3f41daed.1860144@news.btclick.com>...
> On 18 Aug 2003 08:32:00 -0700, aine_canby@yahoo.com
> (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote:
>
> >Hi everyone,
> >
> >I'm trying to implement a HPI handshake between a windows app and my
> >c6711dsk.
> >
> >I have this working without DSP/BIOS, but I can't get it to work using
> >DSP/BIOS.
>
> What is your cache configuration?
>
>
>
> Best Regards
> John McCabe
>
> To reply by email replace 'nospam' with 'assen'
Reply by ●August 19, 20032003-08-19
On 19 Aug 2003 07:33:07 -0700, aine_canby@yahoo.com (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote:>Hi again, > >I'm newish to the C6711DSK, so its quite possible that I'm leaving >something critical out due to my ignorence. > >Anyway the story is that the non-DSP/BIOS version works, but the >DSP/BIOS version wont work. > >These are some of the settings in my DSP BIOS - > >__Global Settings__ > >_General_ > >Target board: c6211Change to c6711>DSP Speed: 150Mhz >CSL: 6211Change to 6711>_621x/671x_ >Configure L2 Memory settings: Enabled >Program Cache Control: Not highlighted >L2 Mode - CCFG: 4 way cache >L2 MAR0-15: 0x0001>void main() >{ > > handShakingBuffer[0] = ID_0; > handShakingBuffer[1] = ID_1; > handShakingBuffer[2] = ID_2; > handShakingBuffer[3] = 0; > handShakingBuffer[4] = 0;Try flushing the cache here. use: CACHE_flush(CACHE_L2ALL, (void *)0, 0) I'm not saying this is going to work, but I had similar problems some time ago. Oh and please don't send so much information! Best Regards John McCabe To reply by email replace 'nospam' with 'assen'
Reply by ●August 19, 20032003-08-19
On 19 Aug 2003 07:33:07 -0700, aine_canby@yahoo.com (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote:>_621x/671x_ >Configure L2 Memory settings: Enabled >Program Cache Control: Not highlighted >L2 Mode - CCFG: 4 way cacheOh yes, and make this 3 way cache. Best Regards John McCabe To reply by email replace 'nospam' with 'assen'
Reply by ●August 19, 20032003-08-19
Sorry for the big posts but this problem is driving me mad - surely
DSP/BIOS would make things easier not harder. I am checking the hpi
return values, for example -
if (dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump))
exit(4);
All of the hpi function succeed for both the DSP/BIOS and the
non-DSP/BIOS DSP programs.
With regard to status registers, is there a way I could monitor the
dsp board even though my windows application has control of the
parallel port, instead of Code Composer Studio. I compile my code on
CCS, but my application uploads the .out to the dsp board. CSS message
box read "JAG communication error", because it does not have control
of the port.
The only communication my application can recieve from the board is
the setting of the handshaking buffer, and this isn't working for my
DSP/BIOS program. I changed the reset vector for the non-dsp/bios
version from -
RESET_RST:
mvkl .S2 _c_int00, B0
mvkh .S2 _c_int00, B0
B .S2 B0
NOP
NOP
NOP
NOP
NOP
to -
RESET_RST:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
and I't seems to cause the same problem as I'm having with the
DSP/BIOS ver, that is, the application poll indefinitly, waiting for
the DSP program to write the handshaking values to the handshaking
buffer. I have HWI_RESET calling _c_int00 in the cdb file - this is
the default settings. I have no interrupt sourse of dipatcher - does
that sound OK?
Is there anything I could put at the start of my dsp/bios program to
confirm for me that it is executing. I could turn on a led, but that
means playing with the EMIF which I know nothing about. I was able to
toggle the leds in a non-dsp/bios program, but it is so prone to
errors - due to timing delays or something like that.
Anyway, I'm really not sure what to do and would love some more
suggestions,
Thanks you again,
Aine
Reply by ●August 20, 20032003-08-20
On 19 Aug 2003 13:51:38 -0700, aine_canby@yahoo.com (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote:>Sorry for the big posts but this problem is driving me mad - surely >DSP/BIOS would make things easier not harder. I am checking the hpi >return values, for example - > >if (dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump)) > exit(4); > >All of the hpi function succeed for both the DSP/BIOS and the >non-DSP/BIOS DSP programs. > >With regard to status registers, is there a way I could monitor the >dsp board even though my windows application has control of the >parallel port, instead of Code Composer Studio. I compile my code on >CCS, but my application uploads the .out to the dsp board. CSS message >box read "JAG communication error", because it does not have control >of the port.Have you tried my suggestions re. the cache? Here's another idea I've just remembered was an issue with me... Go into the DSP/BIOS configuration. In the "Scheduling" section. right click on the "HWI - blah blah" entry and select "Properties". Check the box that says "Generate RESET vector at address 0". Compile and try again. Best Regards John McCabe To reply by email replace 'nospam' with 'assen'
Reply by ●August 20, 20032003-08-20
Hi Aine, with regret I see mine expirience can't help you: powest TMS5402, without any OS, with selfmaden hard&soft debug tool, CCS use only simulator. There is only common debug's methods advice. But i have more questions as answers. Is BIOS needed for you, why? Some details are unclear(maybe from sorrowful fact: i am't native english).> parallel port, instead of Code Composer Studio. I compile my code on > CCS, but my application uploads the .out to the dsp board. CSS message > box read "JAG communication error", because it does not have control > of the port.Upload&work over JTAG or how?> All of the hpi function succeed for both the DSP/BIOS and the > non-DSP/BIOS DSP programs.Why you talk about?> With regard to status registers, is there a way I could monitor the > dsp board even though my windows application has control of the > parallel port, instead of Code Composer Studio.As i understand by definition CCS use JTAG pins, anothers use your program in TMS & Win application, its haven't intersection.> The only communication my application can recieve from the board is > the setting of the handshaking buffer, and this isn't working for my > DSP/BIOS program.As i understand you haven't start. To begin usually i make program 'set/reset XF' deadloop and see by oscylloscope this pin.> I could turn on a led, but that means playing with the EMIF which I know >>>nothing about. I was able to > toggle the leds in a non-dsp/bios program, but it is so prone to > errors - due to timing delays or something like that.Delays can change only time turn on/off LED; what is EMIF?> Anyway, I'm really not sure what to do and would love some more ...It is beatiful, will continue over mail if you don't mind. Cheers Victor
Reply by ●August 20, 20032003-08-20
WE HAVE BLASTOFF! OK, Its working now. I had to do a lot of fiddling around in order for it to work, so I'll give details of what I did. First of all I set - "Generate RESET vector at address 0" as directed by John, but when I rebuilt I got an error saying that this was outside the memory space. I then checked my MEM, which contained 1 MEM segment called SDRAM which had a base address at 0x80000000. I tried to change this to 0x00000000 but it was forced back to 0x80000000 due to a conflict with the cache - I dont understand why! So then I went into memory settings and disabled - "Configure L2 memory settings" I was then able to set SDRAM's base to 0x00000000. At this stage my DSP-BIOS program was working with my windows app. Then I went back into global settings and re-enabled - "Configure L2 memory settings" I then rebuilt and tested again with my app, and all was fine. I've always used the same cdb file, which was included in the tutorials - I then alter this file as I need McBSPs, EDMA , PIPs etc. I do this basically because I dont now all the details of this file yet, being a novice and all. Why was the SDRAM set at base 0x80000000? Were the cache settings stored at 0x00000000? Should my caching be working correctly now? Thanks very much for your help everyone, Take care, Aine. john@nospam.demon.co.uk (John McCabe) wrote in message news:<3f433545.3087870@news.btclick.com>...> On 19 Aug 2003 13:51:38 -0700, aine_canby@yahoo.com > (=?ISO-8859-1?Q?=C0ine_Canby?=) wrote: > > >Sorry for the big posts but this problem is driving me mad - surely > >DSP/BIOS would make things easier not harder. I am checking the hpi > >return values, for example - > > > >if (dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump)) > > exit(4); > > > >All of the hpi function succeed for both the DSP/BIOS and the > >non-DSP/BIOS DSP programs. > > > >With regard to status registers, is there a way I could monitor the > >dsp board even though my windows application has control of the > >parallel port, instead of Code Composer Studio. I compile my code on > >CCS, but my application uploads the .out to the dsp board. CSS message > >box read "JAG communication error", because it does not have control > >of the port. > > Have you tried my suggestions re. the cache? > > Here's another idea I've just remembered was an issue with me... > > Go into the DSP/BIOS configuration. In the "Scheduling" section. right > click on the "HWI - blah blah" entry and select "Properties". Check > the box that says "Generate RESET vector at address 0". Compile and > try again. > > > Best Regards > John McCabe > > To reply by email replace 'nospam' with 'assen'






