工具与软件:
您好、TI 专家!
当 A72内核引导时间以及移除 bootApp 中集成在自动加载操作系统中的一些日志时、我们会遇到一些发生的问题。 当请求 SCI 资源时、A72内核运行时会出现问题、我们对 A72内核进行了深度调试、我们发现了这一点
这里的 A72内核被吸住

Value J7Mailbox_MessagesAvailable(
J7MailboxDev * Dev,
Value Channel)
{
Assert(Dev != NULL);
Assert(Channel < Dev->ValidQueues);
volatile uint32_t * Status =
(void *)(Dev->StatusKernAddr + Channel * MBOX_RGN_SIZE);
console_printf("J7Mailbox_MessagesAvailable Channel %d address %x status %x *status %x\r\n",Channel,Dev->StatusKernAddr,Status,*Status);
return ExtractField(*Status, MBOX_DBG_STS_MSG_CNT);
}
在函数中添加一些日志(如日志所示)后、我们发现 a72内核卡在这里的原因是当 sci 请求发送到 R5时、
在 R5回复请求后、A72内核将读取 3240b000 、 我认为这是一个 proxy_0_status 寄存器、

J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000000 J7Mailbox_MessagesAvailable Channel 11 address 32400000 status 3240b000 *status 40000001
获取 cur_cnt 值、从而知道 R5是否成功重放了这条消息。

但当发出时间时、该寄存器的值始终为0x40000000。
我们想知道 R5在哪里写入寄存器、以及为什么当 R5重放到 A72内核时不能更改该寄存器。


