keil 编译优化问题 编译器版本:3.22,CPU STM32
说明:myFlashspace是预留的空间,生成BIN文件后手工在(0x8000000+0x2000+0x1000)修改让程序执行不同功能 编译优化级别选择0没问题,编译级别选择>0,不管什么条件始终不进前一个条件,即使该地址确实是0x00000002都不行 。只有优化级别选择0才能,但是优化级别0代码要多不少,不知道除了选择优化级别选择0还有没别的办法, 不知道能不能设置单个函数的优化级别0
const uint8 myFlashspace[32] __at(0x8000000+0x2000+0x1000);
if( memcmp( myFlashspace, "x00x00x00x02", 4)==0 ) { ............ ............ } else { .............. .............. } |