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