C6678程序中的_mfence()内联函数
程序员文章站
2024-03-20 22:23:04
...
常见用法:一般在对内存进行操作时使用,通常使用两次。详见下面的例子
static inline void WritebackCache(void * blockPtr, Uint32 byteCnt)
{
if(byteCnt>0xFFFF*4)
byteCnt= 0xFFFF*4;
if((Uint32)blockPtr>=0x0C000000&&(Uint32)blockPtr<0x0D000000) //SL2
{
CACHE_wbL1d((void *)blockPtr, byteCnt, CACHE_WAIT);
}
else if((Uint32)blockPtr>=0x10000000) //DDR or other cores
{
CACHE_wbL2((void *)blockPtr, byteCnt, CACHE_WAIT);
}
_mfence();
_mfence();
}
作用:
void _mfence(); MFENCE Stall CPU while memory system is bus
主要就是让CPU等待内存操作完成。
参考资料:《TMS320C6000 Optimizing Compiler v8.3.x User's Guide》
说明:有关C6678编程中的常用的内联函数请参考《TMS320C6000 Optimizing Compiler v8.3.x User's Guide》Chapter8
推荐阅读
-
C6678程序中的_mfence()内联函数
-
在微信小程序云函数中用node.js中的mysql2/promise连接阿里云服务器上的mysql
-
并行算法的性能度量——函数句柄在并行程序分析中的应用(2-4)
-
C指针(2)——指针在函数中的应用(程序讲解)
-
Android程序函数 将assets文件夹下的文件复制到手机的sd卡中(包括子文件夹)
-
php中过滤html代码的函数 提高程序安全性_PHP
-
c源程序中main函数的位置是什么?
-
程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测
-
C语言time.h中clock()函数测程序运行时间的方法
-
kotlin Standard中的内联函数示例详解