Other Parts Discussed in Thread: OMAP-L138
主题中讨论的其他器件:OMAPL138、 OMAP-L138
工具/软件:Linux
您好!
我尝试构建示例 MessageQ 应用并将其部署到 OMAPL138-LCDK 板。
使用之前的 Processor SDK 版本(04.00.00.04)、我可以在 ARM 和 DSP 内核之间看到消息... 但是、我最近返回到该项目、并且在更新新的 SDK 版本(04.02.00.09)后无法复制这些消息。 我也无法完全安装所需的 RTOS 软件包(我可以使用`模式 text`安装、当它卡在100%时只能安装 CTRL-C、否则 GUI 会很有帮助地取消所有更改。 我的安装程序在为 XDC 提取 docs.zip 时卡住)... 除了这一点...
我能够构建所有 Linux 端库、包括所需的内核模块... 全部构建并安装到目标 rootfs、准备 SD 和引导等... 我在处理器 SDK makefile 中执行所有这些操作。
使用的软件版本为:
- IPC_3_47_00_00
- BIOS_6_52_00_12
- pdk_omapl138_1_0_3
- processor_sdk_rtos_omapl138_4_02_00_09
- TI-CGT-C6000_8.2.2
- TI-CGT-ARM_16.9.3.LTS
- xdctools_3_50_03_33_core
我将所有必需的应用程序、库和固件加载到电路板上、然后尝试运行 Linux 端应用程序... 此应用程序无法在 DSP 内核(DSP:MSGQ:01)上找到命名的 MessageQ。 我添加了额外的输出来指示错误、其中显示`App_create:MessageQ Not Found (DSP:MSGQ:01)`。 如果要查找 ARM MessageQ (即本身)、则该应用程序会按预期运行。 我可以看到消息来回移动...
root@omapl138-lcdk:~# omapl138-lcdk/ex02_MessageQ/release/app_host dsp -> main: --> Main_main: --> App_create: ^CIPC:捕获到 SIGINT、调用 IPC_stop... root@omapl138-lcdk:~# omapl138-lcdk/ex02_MessageQ/release/app_host --> main: --> Main_main: --> App_create: app_create:host is ready <- App_create: --> App_exec: app_exec:sending message 1 App_exec_main:--> App_create: sending message exec_exec_4 :sending message exec_exec_exec_exec_exec_exec_4:sending message:sending eUS_exec_exec_exec_exec_exec_exec_exec_exec_exec_exec: sending message:sending eUS_ 已接收消息、发送消息6 App_exec:已接收消息、发送消息7 App_exec:已接收消息、发送消息8 App_exec:已接收消息、发送消息9 App_exec:已接收消息、发送消息10 App_exec:已接收消息、发送消息11 App_exec:已接收消息、发送消息12 App_exec:已接收消息、发送消息13 App_exec: 收到的消息,发送消息14 App_exec:收到的消息,发送消息15 App_exec:收到 的消息 App_exec:收到 的消息 App_exec:收到的消息 <- App_exec:0 -> App_delete: <- App_delete: <- Main_main: <- main:
此应用程序是在 IPC 安装的'examples'文件夹中找到的 ex02_MessageQ。 我使用相同的处理器 SDK make 文件(ti-ipc-examples & ti-ipc-examples_install)构建了该文件、并准备了具有相同结果的单独项目...
我还添加了必要的 rproc_mem 引导参数、但是这对我来说有点奇怪... 我的 rsc_table_omapl138.h 文件指示 RPMSG_VRING0_DA 从 0xc3000000开始、 DATA_DA 从 0xc3100000开始。
如果我将 rproc_mem 设置为16M@0xc3000000、则在加载 DSP 固件时会看到以下错误
remoteproc remoteproc0:DSP 可用 remoteproc remoteproc0:启动 DSP remoteprocessproc0:启动固件映像 server_dsp.xe674,大小3723824 virtio_rpmsg_bus virtio0:rpproc 主机联机 rptio_rpmsg_bus virtio0:创建通道 rpmsg-proto addr---- 0x3d-- [在此处剪切]----- 警告:CPU:0 PID:632 at net/rpmsg/rpmsg_proto.c:117 rpmsg_sock_get_crypus+0x44/0x60 [rpmsg_proto] 链接的模块:da8xx_remotepraSH256_generic ohci_da8xx ohci_hauto-tubcore USB_common_davinci_davinci_q_dive_r_tirt_rq-tome_p8xx_unicome_pid_unicome_r_tirtio sg_rc.h o 4.9.59-ga75d8e9305 #2 硬件名称:AM18x/OMAP-L138 Hawkboard Backtrace: [ ](dump_backtrace)从[ ](show_stack+0x18/0x1c) r7:00000009 R6:00000000 R5:bf048dd4 R4:00000000 [ ](show_stack)从[ ](dump_stack+0x20/0x28) [ ](dump_stack)从[ ](_warn+0xdc/0x104) [ ](__warn)从[ ](warn_slicpath_null+0x28/0x30) R9:00000000 R8:00000009 r7:bf0490c8 R6:c5c009c0 R5:bf0490c8 R4:ffffffed [ ](warn_slowpath_null)、来自[ ](rpmsg_sock_get_proc_id+0x44/0x60 [rpmsg_proT]) [ ](rpmsg_sock_get_proc_id [rpmsg_proT])、来自[ ](rpmsg_proTO_probe + 0x20/0x134 [rpmsg_proto ]) r5:bf0490c8 r4:c5d1a600 [ ](rpmsg_proTO_probe [rpmsg_proT])、来自[ ](rpmsg_dev_probe +0x98/0x144 [rpmsg_core]) r7:bf0490c8 r6:c5c009c0 r5:bf0490c8 r4:c5d1a600 [ ](rpmsg_dev_probe [rpmsg_core])、来自[ ](driver_probe_device+0x230/0x2dc) r6:00000000 r5:c0691dd8 r4:c5d1a600 [ ](driver_probe_device)从[ ](_DEVICE_ATE_DRIVER+0xa0/0xd4) R9:c0691db4 R8:00000000 r7:00000001 R6:c5d1a600 R5:c40a5d38 R4:bf0490c8 [ ](_device_attach_driver)、来自[ ](bus_for_eper_drv+0x6c/0x9C) r7:00000001 R6:c02cc93c r5:c40a5d38 r4:00000000 [ ](bus_for_each _drv)从[ ](_device_attach+b54/0x11c) r6:c5d1a600 r5:c5d1a634 r4:c5d1a600 [ ](_device_attach)从[ ](DEVICE_INTRY_PROBLE+0x14/0x18) r7:00000000 R6:c5d1a600 R5:bf03baac R4:c5d1a608 [ ](DEVICE_INTERY_PROBE)从[ ](bus_probe_device+0x8c/0x94) [ ](bus_probe_device)、来自[ ](device_add+0x3d0/0x580) r7:00000000 R6:c5d1a600 R5:c5ddc830 R4:c5d1a608 [ ](device_add)从[ ](DEVICE_REGISTER+0x1c/0x20) R10:c413e348 R9:bf0412c4 R8:00000000 r7:c413e300 R6:c5ddc830 R5:00000000 R4:c5d1a600 [ ](DEVICE_REGISTER)从[ ](rpmsg_register_device+0x58/0x94 [rpmsg_core]) R5:00000000 R4:c5d1a600 [ ](rpmsg_register_device [rpmsg_core])、来自[ ](rpmsg_ns_CB+0x160/0x22c [virtio_rpmsg_BUS]) R5:00000000 R4:c5d1a600 [ ](rpmsg_ns_CB [virtio_rpmsg_BUS])、来自[ ](rpmsg_recv_done + 0xd4/0x290 [virtio_rpmsg_BUS]) r7:c5c0030c r6:c413e300 r5:c5c00300 r4:c3040000 [ ](rpmsg_recv_done [virtio_rpmsg_BUS])、来自[ ](vring_interrupt+0x40/0x58 [virtio_ring]) r10:c0584728 r9:c067101d r8:c005ff58 r7:c064ad90 r6:00000001 r5:c064ad90 r4:c5ddd000 [ ](vring_interrupt [virtio_ring])、来自[ ](rproc_vq_interrupt+0x4c/0x70 [remoteproc]) [ ](rproc_vq_interrupt [remoteproc])、来自[ ](handle_event+0x1c/0x30 [da8xx_remoteproc]) [ ](handle_event [da8xx_remoteproc])、来自[ ](IRQ_thread_fn+0x24/0x5c) R5:c064ad90 R4:c5c00500 [ ](IRQ_THREAD_Fn)、来自[ ](IRQ_thread+0x100/0x1e4) r7:c064ad90 R6:00000001 R5:c40a4000 R4:c5c00500 [ ](IRQ_THread)、来自[ ](kthread+0xdc/0xFC) R10:00000000 R9:00000000 R8:c00600e0 r7:c5c00500 R6:c40a4000 R5:00000000 R4:c5ea99a0 [ ](kthread)、来自[ ](RET_FEAK+0x14/0x24) R8:00000000 r7:00000000 r6:00000000 r5:c003e5ec r4:c5ea99a0 --[结束跟踪1612f3c698c578b6 ]-- 远程 处理器远程处理器0:已注册的 virtio0 (类型7) DSP 远程处理器0:远程处理器远程处理器0
如果我设置为16M@0xc3100000
remoteproc remoteproc0:DSP 可用 remoteproc remoteproc0:启动 DSP remoteRemoteproc0:启动 FW 映像 server_dsp.xe674、大小为3723824 virtio_rpmsg_bus virtio0:rpproc 主机为联机 remote0:注册的 virtio0 (类型7) DSP 远程处理器0:远程处理器0:远程处理器
我没有看到任何错误,但也没有看到任何活动... 连接到终端或安装的 debugfs (空/debug/remoteproc/remoteproc0/trace0)
有指针吗?

