就是内核的寄存器定义文件...
volatile 易失去性
控制编译的优化动作,如.void FuncTest(void){
uint32_t port; // 常规变量
port |= 0x000000001; // 变量赋值,常规等级的优化选项会将此段代码优化掉,因为port变量被认为是无用的.
}
如果声明为:
volatile uint32_t port;
port |= 0x00000001; // volatile告诉编译器port是易失性的,必须读写,不可优化
cortex-m内核认为寄存器只不过是一个位置固定的变量而已,所以在定义中必须将其声明为volatile类型.
|