4.7.24.  __pld

此内在函数在编译器生成的指令流中插入数据预取,例如 PLD。 它允许从 C 或 C++ 程序中发信号通知内存系统,此后不久可能会从某个地址中加载数据。

语法


void __pld(...)

其中:

...

表示任意数量的指针或整数自变量,用于指定要预取的内存地址。

限制

如果目标体系结构不支持数据预取,则此内在函数无效。

示例


extern int data1;

extern int data2;



volatile int* interrupt = (volatile int *)0x8000;

volatile int* uart = (volatile int *)0x9000;



void get(void)

{

    __pld(data1, data2);



    while (!*interrupt);



    *uart = data1;        // trigger uart as soon as interrupt occurs

    *(uart+1) = data2;

}

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential