L1100 - segments overlap  0xFFFA and 0xFFFE

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

L1100 - segments overlap  0xFFFA and 0xFFFE

跳至解决方案
1,957 次查看
checkers
Contributor III

I really don't know where these definitions come from.

Can someone explain why segment FFFA of 6 bytes overlaps segment FFFE of 2 bytes?

Not that I can't count, but I don't know why the Processor Expert defined these two segments on the same space.

 

Which peripheral did I add that caused PE to define ivVreset at 0xFFFE? None of the peripheral definitions mention this address. However, the definition shows up in Vectors.c which is generated by PE.

 

/*lint -save  -e950 Disable MISRA rule (1.1) checking. */

static const tIsrFunc _ResetVectorTable[] @0xFFFAU = { /* Reset vector table */

/*lint -restore Enable MISRA rule (1.1) checking. */

  /* Reset handler name                    Address Name           Description */

  &_EntryPoint,                         /* 0xFFFA  ivVcop         unused by PE */

  &_EntryPoint,                         /* 0xFFFC  ivVclkmon      unused by PE */

  &_EntryPoint                          /* 0xFFFE  ivVreset       used by PE */

};

 

 

It looks like 0xFFFA is ResetVectorTable

 

I just don't know how to fix this.

标签 (1)
0 项奖励
回复
1 解答
1,608 次查看
CrasyCat
Specialist III

Hello

There might be some special bean that you have added to your project and that creates this additional

table.

void (* near const _vect[])() @0xFFFE = { /* RESET Interrupt vector */

    _Startup

};

I am unable to reproduce that locally, so I would recommend you to submit a service request through our on line support web page for that.

Click here to submit a Service Request.

Make sure to attach a project reproducing the trouble.


CrasyCat

在原帖中查看解决方案

0 项奖励
回复
4 回复数
1,608 次查看
checkers
Contributor III

There is also this definition ...

extern near void _Startup(void);   /* reset interrupt service routine */

void (* near const _vect[])() @0xFFFE = { /* RESET Interrupt vector */

    _Startup

};


Can I move this to another location?

How would I do that? Which address is appropriate for Startup?

0 项奖励
回复
1,608 次查看
CrasyCat
Specialist III

Hello

I would recommend to delete the lines:

void (* near const _vect[])() @0xFFFE = { /* RESET Interrupt vector */

    _Startup

};


If you are building a Processor Expert application you should let Processor Expert handle the generation of the vector table.

The application entry point for a Processor Expert generated application is _EntryPoint. This function initializes some hardware devices and then calls _Startup.


CrasyCat

0 项奖励
回复
1,608 次查看
checkers
Contributor III

Thanks,  but the problem with that is that ALL of the code was generated by Processor Expert and it will overwrite that change the next time I run make.

Is this a bug in PE maybe?

I am too new to CodeWarrior.

0 项奖励
回复
1,609 次查看
CrasyCat
Specialist III

Hello

There might be some special bean that you have added to your project and that creates this additional

table.

void (* near const _vect[])() @0xFFFE = { /* RESET Interrupt vector */

    _Startup

};

I am unable to reproduce that locally, so I would recommend you to submit a service request through our on line support web page for that.

Click here to submit a Service Request.

Make sure to attach a project reproducing the trouble.


CrasyCat

0 项奖励
回复