主题中讨论的其他器件:TDA2
错误日志按如下方式打印:左侧是故障日志:
中断、指向 HLOS 下的 IPC 初始化 void (status = System_ipcNotifyInit();)、并返回错误值以引起中断
相应的代码如下所示:
Int32 System_ipcInit (空)
{
Int32状态;
vps_printf ("系统:IPC:正在初始化!!!\n");
gSystem_ipcSharedMemObj =(System_IpcSharedMemObj*)
osa_memPhys2Virt (
System_IPC_SHM_MEM_ADDR、
OSA_MEM_REGAL_TYPE_SYSTEM_IPC
);
osa_assert (gSystem_ipcSharedMemObj!=NULL);
status = System_ipcNotifyInit();
OSA_assertSuccessess (状态);
status = System_ipcMsgQInit();
OSA_assertSuccessess (状态);
vps_printf ("系统:IPC:初始化完成!!!!\n");
返回 SYSTEM_LINK_STATUS_SOK;
}
System_ ipcNotifyInit();函数代码如下:
错误打印2:
如下所示
找到
1.未使用 HLOS 建立连接,调用 rpmsgInit
无 DMM_ PEG_设置和打印 PRIO
3.与 IPU2的插座连接不正确,错误日志中没有帮助
没有使用 HLOS 建立连接,调用 rpmsgInit 打印,相应的代码如下所示:
void System_ipcConnectToHLOSThread (void)
{
uint32 retryCnt=0;
uint32 retval;
vps_printf ("RpmsgInit in progress...\n");
while (1)
{
RetVal = Resource_getVdevStatus (RPMSG_L晚期 附加_A15_VDEV_ID);
if (retval!= RPMSG_LON_ATE_A15_VDEV_ID)
{
BspOSAL_SLEEP (10);
rtryCnt++;
if (retryCnt%10=0)
{
vps_printf ("System_ipcConnectToHLOSThread"、rityCnt)
}
}
其他
{
vps_printf ("通过 HLOS 建立连接、调用 rpmsgInit\n");
中断;
}
}
当我们发现问题时,Resource_GetVdevStatus 无法返回正确的值,导致无法中断。 添加日志后、在 System_中找到代码 ipcConnectToHLOSThread 函数中的 while (1)循环可能以一个 Resource_getVdevStatus 被阻止而结束、从而导致此异常。 日志如下所示:
[host][IPU1-0] 1.440309 s:链:应用程序已启动!!!
[host][IPU1-0] 1.453547 s:主板:正在进行板初始化!!!
[host][IPU1-0] 1.454004 s:板:板初始化完成!!!
[主机][IPU1-0] 1.462026 s:
[host][IPU1-0] 1.493320 s:system_ipcConnectToHLOSThread---50
[host][IPU1-0] 1.593332 s:system_ipcConnectToHLOSThread---60
[host][IPU1-0] 1.693314 s:system_ipcConnectToHLOSThread---70
[host][IPU1-0] 1.793326 s:system_ipcConnectToHLOSThread---80
[host][IPU1-0] 1.893338 s:system_ipcConnectToHLOSThread---90
[host][IPU1-0] 1.993350 s:system_ipcConnectToHLOSThread---100
[host][IPU1-0] 2.093332 s:system_ipcConnectToHLOSThread---110
[host][IPU1-0] 2.193344 s:system_ipcConnectToHLOSThread---120
[host][IPU1-0] 2.293356 s:system_ipcConnectToHLOSThread---130
[host][IPU1-0] 2.393338 s:system_ipcConnectToHLOSThread---140
[host][IPU1-0] 2.493350 s:system_ipcConnectToHLOSThread----150
[host][IPU1-0] 2.593363 s:system_ipcConnectToHLOSThread---160
[host][IPU1-0] 2.693344 s:system_ipcConnectToHLOSThread---170
[host][host ] 3.267217 s:系统:IPC:正在初始化!!
[host][host ] 3.267278 s:系统:IPC:通知初始化正在进行!!!
[host][host ] 3.267370 s:系统:IPC:[IPU1-0]套接字绑定失败(Invalidargumin参数,22)!!!
[host][host ] 3.267370 s:系统:IPC:[IPU1-0]通知 RX 通道创建失败(端点= 81)!!!
[host][DSP1] 0.724547 s:***** DSP1固件构建时间12月20:28:30日
5 2022年
[host][DSP1] 0.724638 s:***系统:CPU Frequency <ORG =
600000000 Hz>、
[host][DSP1] 0.725096 s:utils:cio:初始化完成!!!
[host][DSP1] 0.725126 s:系统:IPC 初始化正在进行!!!
[host][DSP1] 0.725157 s:系统:连接到[IPU1-0]...
[host][DSP1] 0.899865 s:系统:连接到[IPU1-0]... 成功!!!
[host][DSP1] 0.901787 s:系统:连接到[IPU2]... 成功!!!
[host][DSP1] 0.906789 s:系统:连接到[DSP2]...
成功!!!
怀疑:
1.由内存冲突引起
IPU 的映射数据:表 ROM 重合时的 resource_Address 和 L2。 怀疑异常
IPU2或 DSP1/DSP2的正常地址:resource_Table 地址和 IPU2_code_MEM 地址是一致的
2.加载文件导致异常
发现*。 RSC 文件被删除、日志中报告了相同的错误。 打开*。 RSC 文件并找到表位于其中的资源_。 怀疑初始化问题是由 RSC 文件异常加载引起的。