在6657上IPC通信出现问题,单步调试时看IPCGRx寄存器,对其写数值后该寄存器value还是0,没有改变;对KICK寄存器进行了UNLOCK,数值还是不变
#define CHIP_LEVEL_REG 0x02620000
// Boot cfg registers
#define KICK0 *(unsigned int*)(CHIP_LEVEL_REG + 0x0038)
#define KICK1 *(unsigned int*)(CHIP_LEVEL_REG + 0x003C)
#define KICK0_UNLOCK 0x83E70B13
#define KICK1_UNLOCK 0x95A4F1E0
#define KICK_LOCK 0
……..
// Unlock Config
KICK0 = KICK0_UNLOCK;
KICK1 = KICK1_UNLOCK;
*(volatile uint32_t *) iIPCGRInfo[iNextCore] = interruptInfo;
*(volatile uint32_t *) iIPCGRInfo[iNextCore] |= 1;
// lock Config
KICK0 = KICK_LOCK;
KICK1 = KICK_LOCK;
Yuetan Chen:
您好,我在使用6678的时候也出现了同样的问题。无论是否解锁,IPCGRx寄存器都是0。
请问之后您是否解决了这个问题?希望您能不吝赐教,万分感谢!
Yuetan Chen:
我又尝试了分别在使用BIOS和不使用BIOS的情况下,使用IPC寄存器,发现在不使用BIOS时,此寄存器的操作都是正常的,但是使用BIOS系统后,IPC寄存器就无法接入了。
是不是BIOS本身带有IPC模块,就自动屏蔽了IPC寄存器?
Yuetan Chen:
各位专家好!
因为比较关心这个问题,不得已想把这个问题顶上去,希望能引起您的关注。
如果有哪些文档与这个问题相关,希望您能指点一二。
ZhengTian Wang:
回复 Yuetan Chen:
我是在没有BIOS的情况下使用IPC的,对你的问题爱莫能助
Lin Kong:
回复 ZhengTian Wang:
我在非bios下写值还是0,请问给IPCGR赋值之前要做什么相应的配置吗?
chao feng2:
回复 Yuetan Chen:
请问你说的使用BOIS和不使用BOIS是什么意思?是指建立的工程不同吗?谢谢
min yan3:
回复 chao feng2:
请问你解决了吗?我发现也也写不进去这个寄存器