我有这个代码
class IO {
public:
IO(LPC_GPIO_TypeDef* port, int pin) : _pin(pin), _port(port) {};
const int _pin;
LPC_GPIO_TypeDef* const _port;
void test() {
LPC_GPIO0->FIOSET = 0;
}
};
IO led1(LPC_GPIO0, 5);
int main() {
led1.test();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译它时,我得到
text data bss dec hex filename
656 0 8 664 298 lpc17xx
Run Code Online (Sandbox Code Playgroud)
我希望 const _port 和 _pin 变量存储在闪存中,因为它们被标记为 const 并且初始化值在编译时是已知的,但它们在 .bss 部分中分配。有没有办法让它们驻留在闪存中?
编辑:我试过这个:
struct IO {
LPC_GPIO_TypeDef* port;
int pin;
void test() const {
//_port->FIOSET = _pin;
LPC_GPIO0->FIOSET = 0;
}
}; …Run Code Online (Sandbox Code Playgroud)