L1119: Vector allocated at absolute address 0xFFFE overlaps with sections placed in segment .absSeg2

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

L1119: Vector allocated at absolute address 0xFFFE overlaps with sections placed in segment .absSeg2

跳至解决方案
7,086 次查看
daphne
Contributor I

Hi all,

i am very newbie to this software and hope to find some guidance over here.

 

Firstly, I have encountered with this error:

Link Error   : L1119: Vector allocated at absolute address 0xFFFE overlaps with sections placed in segment .absSeg2. At the same time, over at my prm file, i realised this:

 *********************************************************************************************
VECTOR-ALLOCATION SECTION
    Address     InitValue   InitFunction
---------------------------------------------------------------------------------------------
     0xFFFE     0x0'Error   _Startup

Both should be linked. 

Can someone advise me what to do? what am i supposed to do to rectify this error.

 

 

Secondly, I would like to ask how to create a interrupt vector table in assembly language.

fyi, my program is written solely in assembly language.

 

Hoep to hear from someone soon! =)

标签 (1)
0 项奖励
回复
1 解答
3,028 次查看
bigmac
Specialist III

Hello,

 

For an assembly language program, the most direct method of implementing the vector table is to use absolute addressing for the table.  Here is an example for a 9S08SE8 device.

 

; VECTOR TABLE:

  ORG Vrtc
          DC.W   RTC_ISR        ;(25) RTC overflow vector
          DC.W   -1
          DC.W   QUITIRQ        ;(23) ADC conversion complete vector
          DC.W   -1
          DC.W   -1
          DC.W   QUITIRQ        ;(20) Keyboard vector
          DC.W   -1
          DC.W   QUITIRQ        ;(18) SCI Tx vector
          DC.W   QUITIRQ        ;(17) SCI Rx vector
          DC.W   QUITIRQ        ;(16) SCI error vector
          DC.W   -1
          DC.W   QUITIRQ        ;(14) TPM2 overflow vector
          DC.W   -1
          DC.W   QUITIRQ        ;(12) TPM2 Ch 0 vector
          DC.W   QUITIRQ        ;(11) TPM1 overflow vector
          DC.W   -1
          DC.W   -1
          DC.W   -1
          DC.W   -1
          DC.W   QUITIRQ        ;(6) TPM1 Ch 1 vector
          DC.W   QUITIRQ        ;(5) TPM1 Ch 0 vector
          DC.W   -1
          DC.W   QUITIRQ        ;(3) LVD vector
          DC.W   EXT_ISR        ;(2) External IRQ vector
          DC.W   QUITIRQ        ;(1) SWI instruction vector
          DC.W   _Startup       ;(0) Reset vector

 For this table, the only vectors in use are for the RTC module, the external IRQ, and the reset vector.  QUITIRQ label pertains to a single RTI instruction.

 

If the remainder of the code is relocatable, any reference to vectors within the PRM file should be commented out so that the linker does not attempt to place code.

 

Regards,

Mac 

在原帖中查看解决方案

0 项奖励
回复
4 回复数
3,029 次查看
bigmac
Specialist III

Hello,

 

For an assembly language program, the most direct method of implementing the vector table is to use absolute addressing for the table.  Here is an example for a 9S08SE8 device.

 

; VECTOR TABLE:

  ORG Vrtc
          DC.W   RTC_ISR        ;(25) RTC overflow vector
          DC.W   -1
          DC.W   QUITIRQ        ;(23) ADC conversion complete vector
          DC.W   -1
          DC.W   -1
          DC.W   QUITIRQ        ;(20) Keyboard vector
          DC.W   -1
          DC.W   QUITIRQ        ;(18) SCI Tx vector
          DC.W   QUITIRQ        ;(17) SCI Rx vector
          DC.W   QUITIRQ        ;(16) SCI error vector
          DC.W   -1
          DC.W   QUITIRQ        ;(14) TPM2 overflow vector
          DC.W   -1
          DC.W   QUITIRQ        ;(12) TPM2 Ch 0 vector
          DC.W   QUITIRQ        ;(11) TPM1 overflow vector
          DC.W   -1
          DC.W   -1
          DC.W   -1
          DC.W   -1
          DC.W   QUITIRQ        ;(6) TPM1 Ch 1 vector
          DC.W   QUITIRQ        ;(5) TPM1 Ch 0 vector
          DC.W   -1
          DC.W   QUITIRQ        ;(3) LVD vector
          DC.W   EXT_ISR        ;(2) External IRQ vector
          DC.W   QUITIRQ        ;(1) SWI instruction vector
          DC.W   _Startup       ;(0) Reset vector

 For this table, the only vectors in use are for the RTC module, the external IRQ, and the reset vector.  QUITIRQ label pertains to a single RTI instruction.

 

If the remainder of the code is relocatable, any reference to vectors within the PRM file should be commented out so that the linker does not attempt to place code.

 

Regards,

Mac 

0 项奖励
回复
3,028 次查看
daphne
Contributor I

Thanks peg and bigmac!

Finally solved the problem by some alteration with my PRM and vector table! =)

0 项奖励
回复
3,028 次查看
nishilraj
Contributor I

can i know what is the meaning of PRM that you people are often referring to?

appreciate your valuable time.

0 项奖励
回复
3,028 次查看
peg
Senior Contributor IV

Hello and welcome to the fora, Daphne.

 

A quick search of this forum, just using L1119 yielded quite a few useful results for you.

 

Please try this search and some others using the box at the bottom of the page. If you're still having difficulties come back here again with further informed questions. Perhaps quoting the other posts.

 

0 项奖励
回复