DSPRelated.com
Forums

C5402 DSK CARD VECTOR TABLE

Started by Unknown October 21, 2001
I am having a problem getting my code composer accepting the vector
table listed below. The code composer gives me a "cannot
allocate .vectors in VECS (page 0) error". If I limit my vector table
to the reset, NMI and software interrupts it compiles okay and the
table maps to program space at FF80. However, as soon as I add the
remaining interrupts (ie external user interrupt 0,1, etc onwards) it
gives an error.

Can someone tell me what I am doing wrong ? Vector table used is:-

*=====================================================================
*Filename: C5402VECS.asm
*
*INITIALISES C5402 DSK VECTOR TABLE
*
*=====================================================================
.title "C5402 DSK Vector Table Initialisation"

.global main,isr_ad50
.width 80
.length 55

.mmregs
.sect ".vectors"

RESET: b main ;RESET vector
nop
nop

NMI: rete ;NonMaskable Interrupt
nop
nop
nop

*=====================================================================
* Software Interrupts
*====================================================================

SINT17 rete ;Software Interrupt #17
nop
nop
nop

SINT18 rete ;Software Interrupt #18
nop
nop
nop

SINT19 rete ;Software Interrupt #19
nop
nop
nop

SINT20 rete ;Software Interrupt #20
nop
nop
nop

SINT21 rete ;Software Interrupt #21
nop
nop
nop

SINT22 rete ;Software Interrupt #22
nop
nop
nop

SINT23 rete ;Software Interrupt #23
nop
nop
nop

SINT24 rete ;Software Interrupt #24
nop
nop
nop

SINT25 rete ;Software Interrupt #25
nop
nop
nop

SINT26 rete ;Software Interrupt #26
nop
nop
nop

SINT27 rete ;Software Interrupt #27
nop
nop
nop

SINT28 rete ;Software Interrupt #28
nop
nop
nop

SINT29 rete ;Software Interrupt #29
nop
nop
nop

SINT30 rete ;Software Interrupt #30
nop
nop
nop

*===================================================================
*Remaining Interrupts
*===================================================================

INT0: rete ;External User Interrupt #0
nop
nop
nop

INT1: rete ;External User Interrupt #1
nop
nop
nop

INT2: rete ;External User Interrupt #2
nop
nop
nop

TINT0: rete ;Timer 0 Interrupt
nop
nop
nop

BRINT0: rete ;McBSP#0 Receiver Interrupt
nop
nop
nop

BXINT0: rete ;McBSP#0 Transmit Interrupt
nop
nop
nop

DMAC0: rete ;DMA Channel 0 Interrupt
nop
nop
nop

TINT1: rete ;Timer1 Interrupt/DMA Channel 1 Interrupt
nop
nop
nop

INT3: rete ;External User Interrupt #3
nop
nop
nop

HPINT: rete ;HPI Interrupt
nop
nop
nop

BRINT1: b isr_ad50 ;McBSP#1 Receive Interrupt/DMA Channel 2 Interrupt
nop
nop

BXINT1: rete ;McBSP#1 Transmit Interrupt/DMA Channel 3
Interrupt
nop
nop
nop

DMAC4: rete ;DMA Channel 4 Interrupt
nop
nop
nop

DMAC5: rete ;DMA Channel 5 Interrupt
nop
nop
nop

CMD file used is:

MEMORY {
PAGE 0:
PROG: origin=0x0080, length=0x3F00
VECS: origin=0xFF80, length=0x0080 PAGE 1:
RAM0: origin=0x0060, length=0x0020
RAM1: origin=0x0080, length=0x1380
RAM2: origin=0x1400, length=0xEC00
}

SECTIONS{

.vectors: {} > VECS PAGE 0
.text : {} > PROG PAGE 0
.data : {} > RAM1 PAGE 1
.bss : {} > RAM1 PAGE 1
}



hi,

at least ccs thinks that your vector table is to long for the memory you
reserved.

try the following:
create a .map file
at the begin you'll see the place where it is in memory
like:
name origin length used attr fill
---------------------- -------- --------- -------- ---- ------
--
PAGE 0: vect 00000080 00000080 00000080 RWIX
prog0 00000500 00000600 000005f7 RWIX
prog1 00018000 00008000 00007720 RWIX

futher in the map :

.vectors 0 00000080 00000080 **
00000080 00000080 Vects.obj (.vectors)

before the ** is the total size of this section. if it is more than at the begin of the map, ccs can't place it.

hope this helps, if not, let me k ow and send me the .map file.
derk

-----Original Message-----
From: [mailto:]
Sent: zondag 21 oktober 2001 16:22
To:
Subject: [c54x] C5402 DSK CARD VECTOR TABLE I am having a problem getting my code composer accepting the vector
table listed below. The code composer gives me a "cannot
allocate .vectors in VECS (page 0) error". If I limit my vector table
to the reset, NMI and software interrupts it compiles okay and the
table maps to program space at FF80. However, as soon as I add the
remaining interrupts (ie external user interrupt 0,1, etc onwards) it
gives an error.

Can someone tell me what I am doing wrong ? Vector table used is:-

*=====================================================================
*Filename: C5402VECS.asm
*
*INITIALISES C5402 DSK VECTOR TABLE
*
*=====================================================================
.title "C5402 DSK Vector Table Initialisation"

.global main,isr_ad50
.width 80
.length 55

.mmregs
.sect ".vectors"

RESET: b main ;RESET vector
nop
nop

NMI: rete ;NonMaskable Interrupt
nop
nop
nop

*=====================================================================
* Software Interrupts
*====================================================================

SINT17 rete ;Software Interrupt #17
nop
nop
nop

SINT18 rete ;Software Interrupt #18
nop
nop
nop

SINT19 rete ;Software Interrupt #19
nop
nop
nop

SINT20 rete ;Software Interrupt #20
nop
nop
nop

SINT21 rete ;Software Interrupt #21
nop
nop
nop

SINT22 rete ;Software Interrupt #22
nop
nop
nop

SINT23 rete ;Software Interrupt #23
nop
nop
nop

SINT24 rete ;Software Interrupt #24
nop
nop
nop

SINT25 rete ;Software Interrupt #25
nop
nop
nop

SINT26 rete ;Software Interrupt #26
nop
nop
nop

SINT27 rete ;Software Interrupt #27
nop
nop
nop

SINT28 rete ;Software Interrupt #28
nop
nop
nop

SINT29 rete ;Software Interrupt #29
nop
nop
nop

SINT30 rete ;Software Interrupt #30
nop
nop
nop

*===================================================================
*Remaining Interrupts
*===================================================================

INT0: rete ;External User Interrupt #0
nop
nop
nop

INT1: rete ;External User Interrupt #1
nop
nop
nop

INT2: rete ;External User Interrupt #2
nop
nop
nop

TINT0: rete ;Timer 0 Interrupt
nop
nop
nop

BRINT0: rete ;McBSP#0 Receiver Interrupt
nop
nop
nop

BXINT0: rete ;McBSP#0 Transmit Interrupt
nop
nop
nop

DMAC0: rete ;DMA Channel 0 Interrupt
nop
nop
nop

TINT1: rete ;Timer1 Interrupt/DMA Channel 1 Interrupt
nop
nop
nop

INT3: rete ;External User Interrupt #3
nop
nop
nop

HPINT: rete ;HPI Interrupt
nop
nop
nop

BRINT1: b isr_ad50 ;McBSP#1 Receive Interrupt/DMA Channel 2 Interrupt
nop
nop

BXINT1: rete ;McBSP#1 Transmit Interrupt/DMA Channel 3
Interrupt
nop
nop
nop

DMAC4: rete ;DMA Channel 4 Interrupt
nop
nop
nop

DMAC5: rete ;DMA Channel 5 Interrupt
nop
nop
nop

CMD file used is:

MEMORY {
PAGE 0:
PROG: origin=0x0080, length=0x3F00
VECS: origin=0xFF80, length=0x0080 PAGE 1:
RAM0: origin=0x0060, length=0x0020
RAM1: origin=0x0080, length=0x1380
RAM2: origin=0x1400, length=0xEC00
}

SECTIONS{

.vectors: {} > VECS PAGE 0
.text : {} > PROG PAGE 0
.data : {} > RAM1 PAGE 1
.bss : {} > RAM1 PAGE 1
}
_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to

To Post: Send an email to

To Leave: Send an email to

Archives: http://www.yahoogroups.com/group/c54x

Other Groups: http://www.dsprelated.com ">http://docs.yahoo.com/info/terms/