Message Edited by darrin on 2007-04-0408:52 PM
Solved! Go to Solution.
The problem is that _LDIVS is calling NEG_P with a 8 bit relative offset:1233: void NEAR _LDIVS (void) { /* a = a / b signed */...000a 0700 BSR _NEG_P.. This works fine as long as you do allocate the NON_BANKED section into one single placement.However for your app it looks like all the others would just fill up the FLASH_PAGE4000 segment sothat _NEG_P does still fit into it and _LDIVS is allocated in FLASH_PAGEC000.So now what you can do about it:1. Change the allocation order in your prm file.The problem with this solution is that it does not really resolve the problem but instead it just tries to avoid it.2. Build rtshc12.c with the option -OnB=b.Either rebuild the whole library (lib\hc12c\hc12_lib.mcp) or add rtshc12.c to your project andadd the option in your project. For the second one, make sure rtshc12.c.o is before the ansi library in your link order.3. Distribute the NON_BANKED section manually to either FLASH_PAGE4000 or FLASH_PAGEC000, but not to both.