KEIL Real view MDK中插入空操作NOP .
折騰了大半天,才搞明白一個空操作的指令
本文引用地址:http://www.ex-cimer.com/article/148070.htm先在網上查有的說是__asm{NOP},從intrins.h里調用,可犄角旮旯全找了,也沒看到什么intrint.h的文件。如果直接用,就出現
error: #1113: Inline assembler not permitted when generating Thumb code
最后搜索這條錯誤,知道是因為__asm(指令);這種語法是內聯匯編(inline assembly)的語法。而RMDK下,內聯匯編僅支持ARM匯編語言,不支持Thumb或者Thumb-2匯編語言;但內嵌匯編器支持Thumb和Thumb-2。
__asm放到一個單獨的子函數再被調用就沒問題了
如下:
__asm void nop(void)
{
}
然后在之后的C代碼中調用該函數:
void main()
{
...
nop();
...
}
評論