您好!
我正在尝试在运行 Linux 的 IPU1 (TI-RTOS)和 A15之间设置 IPC 消息示例。
在 Ammu 和 resource_table 遇到问题后、现在我能够从 IPU 上的 Linux 端启动我的应用程序。
我有一个问题,因为我的 RTOS 应用程序似乎永远循环到 NotifySetup_disputchIsr()后,在 IpcMgr_ipcStartup ()中执行 Virtue_startup() 。
我深入研究了源代码、无法找到任何有关哪个邮箱用于 IPU1和 MPU 之间的通信的信息。
在 Linux 方面、我的 dts 文件具有:
保留内存{
#address-Cells =<2>;
#size-cells =<2>;
范围;ipu1_memory_region:ipu1-memory@9d000000{
兼容="共享 dma-pool";
REG =<0x0 0x9d000000 0x0 0x2000000>;
可重复使用;
状态="可以";
};dsp1_memory_region:dsp1-memory@97800000{
兼容="共享 dma-pool";
REG =<0x0 0x97800000 0x0 0x4000000>;
可重复使用;
状态="已禁用";
};ipu2_memory_region:ipu2-memory@9b800000{
兼容="共享 dma-pool";
REG =<0x0 0x9b800000 0x0 0x3800000>;
可重复使用;
状态="已禁用";
};cmem_block_mem_0:cm_block_mem@a0000000{
REG =<0x0 0xa0000000 0x0 0x0c000000>;
无地图;
状态="可以";
};
};CMEM{
兼容="ti、cmem";
#address-Cells =<1>;
#size-cells =<0>;#pool-size-cells =<2>;
状态="可以";
cmem_block_0:cmem_block@0{
寄存器=<0>;
memory-region =<&cmem_block_mem_0>;
cmem-buf-pools =<1 0x0 0x0c000000>;
};mailbox5 (&M){
状态="可以";
mbox_ipu1_ipc3x:mbox-ipu1-ipc3x{
状态="可以";
};
mbox_dsp1_ipc3x:mbox-Dsp1-ipc3x {
状态="已禁用";
};
};邮箱6 (&M){
状态="已禁用";
mbox_ipu2_ipc3x:mbox-ipu2-ipc3x{
状态="已禁用";
};
};ipe2 (&I){
状态="已禁用";
mboxes =<&mailbox6 &mbox_ipu2_ipc3x>;
TI、timers =<&timer3>;
ti、看门狗计时器=<&timer4>、<&timer9>;
memory-region =<&ipu2_memory_region>;
};ipu1 (&I){
状态="可以";
mboxes =<&mailbox5 &mbox_ipu1_ipc3x>;
TI、timers =<&timer11>;
ti、看门狗计时器=<&timer7>、<&timer8>;
memory-region =<&ipu1_memory_region>;
};
有人有信息,以找出这种情况?
在 Linux 侧、启动 IPU 应用程序时、我会看到以下日志:
[13446.877624] remoteproc remoteproc0:启动58820000.ipu
[13446.900177] remoteproc remoteproc0:启动固件映像 dra7-ipu1-fw.xem4、大小9429604
[13446.900329] OMAP-iommu 58882000.MMU:58882000.MMU:版本2.1
[13446.940551] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
[13446.940551] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
[13446.940582] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
[13446.940582] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
[13446.955841] remoteproc0#vdev0buffer:已分配保留内存节点 ipu1-内存@9d000000
[13446.957427] virtio_rpmsg_BUS virtio0:rpmsg 主机在线
[13446.957519] remoteproc0#vdev0buffer:registered virtio0 (类型7)
[13446.957519] remoteproc remoteproce0:远程处理器58820000.ipu 现已启动
[13447.031341] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
[13447.031402] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
[13447.031433] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
[13447.031494] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
[13447.031555] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
[13447.031585] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
[13447.031646] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 43个 printk 消息被丢弃**
[13447.036529] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 357个 printk 消息被丢弃**
[13447.079681] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回波回复
** 360个打印邮件被丢弃**
[13447.130432] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 364条 printk 消息被丢弃**
[13447.177581] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回波回复
** 364条 printk 消息被丢弃**
[13447.230834] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 367个 printk 信息被丢弃**
[13447.277648] OMAP-rproc 588200000.IPU:从58820000.IPU 收到回显回复
** 372个打印消息被丢弃**
[13447.327697] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
** 373个 printk 消息被丢弃**
[13447.378143] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 362个 printk 消息被丢弃**
[13447.427093] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
** 368个 printk 信息被丢弃**
[13447.476287] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
** 373个 printk 消息被丢弃**
[13447.527099] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回声回复
** 367个 printk 信息被丢弃**
[13447.576721] OMAP-rproc 58820000.IPU:从58820000.IPU 收到回显回复
当 remoteproc 驱动程序通过邮箱从 IPU 返回消息时、似乎是提供了 IS 日志
那么为什么我的 MessageQ 应用程序在 RTOS 上不结束初始化序列,并停留在 IpcMgr_ipcStartup ()?