L1100 - segments overlap  0xFFFA and 0xFFFE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

L1100 - segments overlap  0xFFFA and 0xFFFE

Jump to solution
941 Views
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.

Labels (1)
0 Kudos
1 Solution
592 Views
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

View solution in original post

0 Kudos
4 Replies
592 Views
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 Kudos
592 Views
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 Kudos
592 Views
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 Kudos
593 Views
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 Kudos