keil c 中可以用关键字 reentrant 定义, 如:void fun(void) reentrant{}
但函数中不可以使用BOOL变量,以为KEIL默认 将所有变量定位到外部RAM的最高处,而外部RAM不可以位寻址。
另外如果你的外部RAM不足64K(0XFFFF),你还的更改KEIL系统文件STARTUP.A51中
XBPSTACKTOP EQU 0FFFFH+1;这一行。 例如你的外部RAM是0-0x7fff, 则该为:
XBPSTACKTOP EQU 07FFFH+1;