hi ,
i attemp to port one project to "banked mode" from "small mode" on the 08DZ128.
in small mode ,the project works well ( code size about 55k). but link error occured in banked mode.
the following details the steps
Step 1: initial new project with "banked" mode.
Step 2: inport all source code ( .c , .h and .asm files)
Step 3: rebuilt the .prm
Step 4: locate the ISR in non_banked area using #pragma code_seg ISR_NON_BANKED
in c function including all others called in ISR
Step5: locate the ISR in non_banked area using ISR_NON_BANKED: SECTION in
assemble function including all others called in ISR.
Step 6: link error L1102 out of allocation space in segment APP_CALL_ TABLE at address
0xDA80.
when i check the .map show the calltable would occupy more than 50% space. and CallTable1,VectorTable,VectorTable1 similar.
CallTable 0'Error 18 24 0 CALL_TABLE
CallTable1 0'Error 5D 93 0 CALL_TABLE1
VectorTable 0'Error 18 24 0 ToVectorTable
VectorTable1 0'Error 60 96 0 ToVectorTable1
but as you know, the CallTable is capable of storing the 8 interrupt vector(16 bytes)
Actually, i ever tried to delet the pointer function, and directly provide the isr vector in .prm, and everything is OK.
therefore i suppose some setting wrong. pls refer to the .prm, isr.c and .map attached!
Did i make myslef clear ?
using _NEAR_SEG will remedy the issue?
any advice or suggestion will be appreciated!