大家好 问一下 SRIO例程中SRIO_loopback_Test.c文件下 172行程序
cycles= TSCL;
KeyStone_queuePush(QMSS_SRIO_QUEUE_BASE+uiPortNum,(Uint32)hostDescriptor|FETCH_SIZE_64);
_mfence(); //force all memory operation complete 强制所有内存操作完成
_mfence(); //force all memory operation complete 强制所有内存操作完成
KeyStone_queuePush这个函数主要实现什么功能?
看了下前后程序 在开发板运行了下 大概意思是要把数据从核0的LL2搬运到核1的LL2
核0的LL2地址是0x10802200
核1的LL2地址是0x11800200
现在不明白 KeyStone_queuePush这个函数是如何对应上核1 0x11800200这个地址的
KeyStone_queuePush函数跳转后的原型如下:
static inline void KeyStone_queuePush (Uint32 queueNum, Uint32 descAddr)
{
gpQueueManageVBUSM[queueNum].REG_D_Descriptor= descAddr;
}
queueNum=QMSS_SRIO_QUEUE_BASE+uiPortNum=672 这是消息队列的号码