我是嵌入式系统编程的新手。我正在开发一个使用8051芯片组的设备。在示例程序中,我注意到有时在定义变量时会使用关键字xdata。像这样...
static unsigned char xdata PatternSize;
而其他时候则省略了xdata关键字。
我的理解是,xdata关键字指示编译器将该变量存储在外部闪存内存中。
在什么情况下应该使用xdata将变量存储在外部?访问这些变量需要更长的时间,对吗?使用xdata存储的值在设备硬重置后还会存在吗?
同时,我知道static关键字表示变量将在每次调用它所定义的函数时保持不变。static和xdata必须一起使用吗?