Hi, Erich
Thanks for answer me.
It has been resolved already.
The reason is some global variables in banked memory. We should let the startup code know this.
In order to do that add option -D__FAR_DATA to compiler command line or add #define __FAR_DATA in head of start12.c file.
Make sure to rebuild the start12.c file with that option activated.