关于SDCC下XRAM变量初始值可能不正确的问题
__xdata volatile int var0;
__xdata volatile int var1 = 1;
void main(void) {
// 功能代码
}以上这个简单到发指的程序,在STC8A8K64U中遇到个奇怪问题:var0的初始值有时候不是0,而var1的初始值也不是1,是一些奇怪的随机值。
第一感觉就是XRAM的初始化可能存在BUG,于是稍微了解了一下SDCC中XRAM初始化的原理,没想到还真发现了一些好玩的东西,给大家做个分享。