KEIL Real view MDK中插入空操作NOP .
折騰了大半天,才搞明白一個(gè)空操作的指令
先在網(wǎng)上查有的說是__asm{"NOP"},從intrins.h里調(diào)用,可犄角旮旯全找了,也沒看到什么intrint.h的文件。如果直接用,就出現(xiàn)
error: #1113: Inline assembler not permitted when generating Thumb code
最后搜索這條錯(cuò)誤,知道是因?yàn)開_asm("指令");這種語法是內(nèi)聯(lián)匯編(inline assembly)的語法。而RMDK下,內(nèi)聯(lián)匯編僅支持ARM匯編語言,不支持Thumb或者Thumb-2匯編語言;但內(nèi)嵌匯編器支持Thumb和Thumb-2。
__asm放到一個(gè)單獨(dú)的子函數(shù)再被調(diào)用就沒問題了
如下:
__asm void nop(void)
{
NOP
}
然后在之后的C代碼中調(diào)用該函數(shù):
void main()
{
...
nop();
...
}