Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7525

IAR9202 编译优化问题

$
0
0

遇到一个IAR编译优化的问题:

本想在profile中write callback中做特征值的有效性检查,却发现编译优化“high”和"medium"导致代码流程错误,如下:

#define CONST_DEF 16

//printf("xxxx\n");

if (pValue[0] > CONST_DEF) {
 // do sth
} else {
 // do sth
}

其中pValue[0]为channel数据,当优化选项为"high"时,pValue[0]为17时走的却是else分支,优化选项改为"medium",代码流程就没问题了。

另外在if之前添加一行printf,即便优化选项为"high"也没问题。通过C代码看不出问题。(IAR is cracked,stack is 1.4.1)

还想请问INIT_HEAD_LEN最小设为多大能够保证协议栈稳定运行,因为我需要1.5KB左右的buffer。


Viewing all articles
Browse latest Browse all 7525

Trending Articles