This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/LINUXSDK-OMAPL138:IPC - MessageQApp

Guru**** 2618595 points

Other Parts Discussed in Thread: OMAP-L138

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/659913/linux-linuxsdk-omapl138-ipc---messageqapp

器件型号:LINUXSDK-OMAPL138
主题中讨论的其他器件:OMAPL138OMAP-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)

有指针吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    在构建和安装必要的 IPC 组件和 MessageQ 应用程序时、请参阅以下指南:
    processors.wiki.ti.com/.../IPC_Install_Guide_Linux

    对吧?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我遵循了该指南、并使用了 SDK Makefile 中的 ti-IPC 目标。

    我当前的 rootfs 是 SD 卡。 对于安装目标、我安装此卡并将前缀设置为此文件夹。

    您能否确认 bootargs 应该将 rproc_mem 设置为16M@0xc3000000。 似乎内存分配正确;

    da8xx_rproc_reserve_cma:保留0x1000000 @ 0xc3000000...
    CMA:在0xc3000000处保留16 MIB
    CMA:在0xc6c00000处保留16 MIB 

    我不知道为什么这会导致加载固件文件时显示回溯错误...

    remoteproc remoteproc0:DSP 可用
    remoteproc remoteproc0:启动 DSP
    remoteRemoteproc0:启动固件映像 MessageQ_single.xe674,大小3771720
    virtio_rpmsg_bus virtio0:rpproc 主机联机 rptio_rpmsg_bus
    virtio0:创建通道 rpmsg-proto addr---- 0x3d--
    [在此处剪切]-----
    警告:CPU:0 PID:654 at net/rpmsg/rpmsg_proto.c:117 rpmsg_sock_get_crypus+0x44/0x60 [rpmsg_proto]
    链接的模块:da8xx_remotepra256_generic ohci_da8xx ohci_hauto-tubcore USB_common_davinci_davirte_pru_une_rq_dive_rg_r_tirt_rg_un_un_rg_rg_r_totio sg_unicom_r_tirtio sg_rg_rg_rg_rg_rg_rnt_remote_remote_remotio sg_r_
    o 4.9.59-ga75d8e9305 #3
    硬件名称: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_slespath_null+0x28/0x30)
    R9:00000000 R8:00000009 r7:bf0490c8 R6:c5a5e1c0 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:c5a14600
    [ ](rpmsg_proTO_probe [rpmsg_proT])、来自[ ](rpmsg_dev_probe +0x98/0x144 [rpmsg_core])
    r7:bf0490c8 r6:c5a5e1c0 r5:bf0490c8 r4:c5a14600
    [ ](rpmsg_dev_probe [rpmsg_core])、来自[ ](DRIVER_PROBLE_DEVICE_+0x230/0x2dc)
    R6:00000000 R5:c0691dd8 R4:c5a14600
    [ ](driver_probe_device)从[ ](_DEVICE_ATE_DRIVER+0xa0/0xd4)
    R9:c0691db4 R8:00000000 r7:00000001 R6:c5a14600 R5:c2d5fd38 R4:bf0490c8
    [ ](_device_attach_driver)、来自[ ](bus_for_each _drv+0x6c/0x9C)
    r7:00000001 R6:c02cc93c R5:c2d5fd38 R4:00000000
    [ ](bus_for_each _drv)从[ ](_device_attach+b4 /0x11c)
    r6:c5a14600 r5:c5a14634 r4:c5a14600
    [ ](_device_attach)从[ ](DEVICE_INTRIGE+0x14/0x18)
    r7:00000000 R6:c5a14600 R5:bf03baac R4:c5a14608
    [ ](DEVICE_INTERY_PROBE)从[ ](bus_probe_device+0x8c/0x94)
    [ ](bus_probe_device)、来自[ ](device_add+0x3d0/0x580)
    r7:00000000 R6:c5a14600 R5:c597d030 R4:c5a14608
    [ ](device_add)从[ ](DEVICE_REGISTER+0x1c/0x20)
    R10:c6ad4948 R9:bf0412c4 R8:00000000 r7:c6ad4900 R6:c597d030 R5:00000000
    R4:c5a14600
    [ ](DEVICE_REGISTER)从[ ](rpmsg_register_device+0x58/0x94 [rpmsg_core])
    R5:00000000 R4:c5a14600
    [ ](rpmsg_register_device [rpmsg_core])、来自[ ](rpmsg_ns_CB+0x160/0x22c [virtio_rpmsg_BUS])
    R5:00000000 R4:c5a14600
    [ ](rpmsg_ns_CB [virtio_rpmsg_BUS])、来自[ ](rpmsg_recv_done + 0xd4/0x290 [virtio_rpmsg_BUS])
    r7:c5a5e74c r6:c6ad4900 r5:c5a5e740 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:c597c800
    [ ](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:c5a5ee40
    [ ](IRQ_THREAD_Fn)、来自[ ](IRQ_thread+0x100/0x1e4)
    r7:c064ad90 R6:00000001 R5:c2d5e000 R4:c5a5ee40
    [ ](IRQ_THread)、来自[ ](kthread+0xdc/0xFC)
    R10:00000000 R9:00000000 R8:c00600e0 r7:c5a5ee40 R6:c2d5e000 R5:00000000
    R4:c2d69ee0
    [ ](kthread)、来自[ ](RET_FAND_FANK+0x14/0x24)
    R8:00000000 r7:00000000 R6:00000000 R5:c003e5ec R4:c2d69ee0
    --[结束跟踪 f248166900f3e224 ]--
    remoteproc remotePROC0:注册的 virtio0 (类型7)
    DSP 远程处理器0:远程处理器0 

    也许我正在拉入一个旧库(使用旧/不兼容的编译器?) 在之前的04.00.00.04版本中...  我将按照内核和 IPC 构建指南再次从全新目录安装运行这些动作...  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    仅使用 Processor SDK、我生成了一个新的 SD 卡。 使用 tisdk-server-ext-rootfs-image-omapl138-lcdk.tar.xz。 此 rootfs 具有 MessageQApp、因此尝试了这个"全新"版本...

    如果;

    da8xx_rproc_reserve_cma:保留0x1000000 @ 0xc3000000...
    CMA:在0xc3000000处保留16 MIB
    CMA:在0xc6c00000处保留16 MIB 

    我在加载 DSP 固件时仍然看到错误;

    root@omapl138-lcdk:~# ls /lib/firmware -l
    drwxr-xr-x 3 root 根 4096 Decec 23 2017 IPC
    lrwxrwxrwx 1 root 根 54 Dece 23 2017 rproc-dSP-FW -> IPC/ti_platforms_evmOMAPL138_DSP/MessageQ_single.xe674
    root@omap138-lcdk:~ ls /
    bin 引导 差 等等 主页 包含初始化 库 介质安装 可选 处理器 运行 sbin SRV 系统 温度 USR 变量 www
    root@omapl138-lcdk:~ mkdir /debug
    root@omapl138-lcdk:~# depmod -a
    root@omapl138-lcdk:~# mount -t debugfs none /debug
    root@proc pl138-lcdk:~ modprobe remoteproc remote138-lcdk
    :~ proc remoteproc 0_remoteproc remotedsps:rproc 0_remoteproc remote0_remoteproc dsps:rproc remoteproc remote0_remoteproc remoteproc dsps:rproc remote0_remoteoteoteproc remoteproc remote0_remoteoteoteote0dsps
    
    
    
    :@@~ proc remoteproc remoteproc remoteote
    远程处理器 DSP 现已启动
    virtio_rpmsg_bus virtio0:rpmsg host is online
    virtio_rpmsg_bus virtio0:创建通道 rpmsg-proto addr 0x3D
    NET:注册协议系列43
    --- [在此处剪切]-----
    警告:CPU:0 PID:576 at /oe/bld/build-ARM9_1/arago-tmp-external-linaro-toolchain/work-shared/omapl138-lcdk/kernel-source/net/rpmsg/rpmsg_proto.c:117 rpmsg_sock_get_proc_id+0x44/0x60 [rpmsg_proto]
    链接的模块:rpmsg_proto (+) virtio_rpmsg_bus rpmg_core_da8xx_remoteproc remotio virtio_ring firmware_class sh256_generic dusbpsg_usbdbdbpbd576_us_unic_dbdbdcpu_us_unchinesbulsbulsbulk_uni_a8xx_unt dcpu_unt d576_domic dcpu_unchines_
    o 4.9.59-ga75d8e9305 #1
    硬件名称:AM18x/OMAP-L138 Hawkboard
    Backtrace:
    [ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
    r7:00000009 R6:00000000 R5:bf0b4dd4 R4:00000000
    [ ](show_stack)从[ ](dump_stack+0x20/0x28)
    [ ](dump_stack)从[ ](_warn+0xdc/0x104)
    [ ](__warn)从[ ](warn_slespath_null+0x28/0x30)
    R9:00000000 R8:0000000a r7:bf0b512c R6:c5e3a800 R5:bf0b512c 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:bf0b512c R4:c5e35400
    [ ](rpmsg_proTO_probe [rpmsg_proT])、来自[ ](rpmsg_dev_probe +0x98/0x144 [rpmsg_core])
    r7:bf0b512c r6:c5e3a800 r5:bf0b512c r4:c5e35400
    [ ](rpmsg_dev_probe [rpmsg_core])、来自[ ](DRIVER_PROBLE_DEVICE_+0x230/0x2dc)
    R6:00000000 R5:c0699dd8 R4:c5e35400
    [ ](driver_probe_device)从[ ](__driver_attach+0xc0/0xc4)
    r9:c00859bc r8:00000000 r7:00000000 r6:c5e35434 r5:bf0b512c r4:c5e35400
    [ ](__driver_attach)从[ ](BUS_TO_EASE_DEV_0x74/0xa4)
    r7:00000000 R6:c02cc878 R5:bf0b512c R4:00000000
    [ ](bus_for_each_dev)、来自[ ](DRIVER_ATT+0x20/0x28)
    R6:bf0a7b0c R5:c5e951e0 R4:bf0b512c
    [ ](driver_attach)从[ ](BUS_ADD_DRIVER+0xFC/0x20c)
    [ ](BUS_ADD_DRIVER)从[ ](driver_register+0x80/0xFC)
    r7:c65e7a40 r6:c27d10c0 r5:ffe000 r4:bf0b512c
    [ ](driver_register)、从[ ](_register_rpmsg_driver+0x1c/0x24 [rpmsg_core])
    R5:ffe000 R4:00000000
    [ ](__register_rpmsg_driver [rpmsg_core]),来自[ ](rpmsg_proTO_init+0x64/b4 [rpmsg_proto ])
    [ ](rpmsg_proTO_init [rpmsg_proTO])、来自[ ](do_one _initcall+0x44/0x180)
    r5:ffe000 r4:bf0b7000
    [ ](多个_initcall)、来自[ ](DO_INIT_MODULE+0x60/0x394)
    R8:c65e7a64 r7:c65e7a40 R6:c27d10c0 R5:00000001 R4:bf0b51c0
    [ ](DO_INIT_MODULE)从[ ](LOAD_MODULE+0x1c30/0x2150)
    R6:00000001 R5:00000001 R4:c2491f44
    [ ](LOAD_MODULE)从[ ](SYS_FINIT_MODULE+0xac/0xc0)
    R10:00000000 R9:c2490000 R8:c000fb64 r7:0000017b R6:b6f157f8 r5:00000007
    r4:00000000
    [ ](sys_finIT_module)从[ ](RET_FAST_SYSCAL+0x0/0x38)
    R6:00000000 R5:00482e40 R4:00000000
    --[结束跟踪 f72629bd0e8e15eb ]--
    modprobe virtio_rpomamsg_bus
    @rpomap138-lcdk:~# msg probio_rom_probe
    
    
    
    :0x138eqrgb rgb rgb rgb:1@~@~ rgb rq-rq-rgb rgb:rq-rgb rq-rq-rq-rgb rgb rgb:rq-rq-rq-rgb rq-rob_rob_rob_probe
    

    如果;

    da8xx_rproc_reserve_cma:保留0x1000000 @ 0xc3100000...
    CMA:在0xc3400000处保留16 MIB
    CMA:在0xc6c00000处保留16 MIB 

    我没有看到错误、但我也看不到处理器之间的任何活动...

    root@omapl138-lcdk:~ demod -a
    root@omapl138-lcdk:~# mount -t debugfs none /debug
    root@omapl138-lcdk:~ modprobe remoteproc
    root@omapl138-lcdk:~ xr /lib/firmware -l drwls-xr-x
    3 root 根 4096 Decec 23 2017 IPC
    lrwxrwxrwx 1 root 根 54 Dece 23 2017 rproc-dSP-FW -> ipc/ti_platforms_evmomapL138_DSP/MessageQ_single.xe674
    root@maprocpl138-lcdk:~ modprobe da8xx_proc testda8xx_fw_name=rproc-dsp-Fw
    remotipe0:dsp is available
    root@~ proc remote0
    
    :rproc remote0 remote0:rproc remote_remote0:rproc remote0 dsps remote0:rproc remote0:rproc remote0:rproc remoteote0:remote0:remoteote0:rproc remoteproc remote0:remoteproc remote0:remoteproc remote.
    
    rpmsg host is online
    
    root@omapl138-lcdk:~ modprobe virtio_rpmsg_bus
    root@omapl138-lcdk:~ modprobe rpmsg_proto
    NET:registered protocol family 43
    root@omapl138-lcdk:~# MessageQApp
    using numLoops:100;ProcID:1
    entered QApp_0x80
    local execute 

    现在、我将完成 IPC 构建和安装过程、看看这是否会改变...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我使用 Processor SDK 目录中的 make 和 make install、这也会构建 IPC Linux 端库(ti-IPC 目标)

    这同样提供了与上述相同的结果。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我按照中的构建说明  进行操作并安装到目标(包括复制从站二进制文件)、我会看到与上述内容相同的内容...

    我想知道我的 products.mak 是否正常?e2e.ti.com/.../6138.products.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已删除整个 TI 安装文件夹... 并重新安装了所有必需的 Linux 和 RTOS 发行版...

    我本来希望之前的 SDK 版本会有一些问题、但遗憾的是、我看到了相同的错误和/或 ARM 与 DSP 之间缺乏通信...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    好的、内核启动、配置正确的内存量、如 DTS 中所述:
    DSP_CMA_POOL:DSP_CMA@c3000000{
    兼容="共享 dma-pool ";
    reg =<0xc3000000 0x1000000>;
    可重复使用;
    状态="正常";
    };
    };
    但是、您是否检查了 RTOS 配置文件(用于构建 DSP 固件的文件)是否与此一致?

    仅供参考、MessageQApp 集成在 SDK 中、我刚刚执行了 MessageQApp 并使其正常工作:
    root@omapl138-lcdk:~ MessageQApp
    使用 numLoops:100; ProcID:1.
    输入 MessageQApp_execute
    本地 MessageQId:0x80
    远程队列 ID [0x10080]
    正在与远程处理器 DSP...交换100条消息
    MessageQ_Get #1 Msg = bb6600470
    MessageQ_Get #2 Msg = bb6600470
    MessageQ_Get #3 Msg = bb6600470
    MessageQ_Get #4 Msg = bb6600470
    MessageQ_Get #5 Msg = bb6600470
    MessageQ_Get #6 Msg = bb6600470
    MessageQ_get #7 Msg = bb6600470
    MessageQ_Get #8 Msg = bb6600470
    MessageQ_Get #9 Msg = bb6600470
    MessageQ_get #10 Msg = bb6600470
    MessageQ_get #11 Msg = bb6600470
    MessageQ_get #12 Msg = bb6600470
    MessageQ_get #13 Msg = bb6600470
    MessageQ_get #14 Msg = bb6600470
    MessageQ_Get #15 Msg = bb6600470
    MessageQ_Get #16 Msg = bb6600470
    MessageQ_get #17 Msg = bb6600470
    MessageQ_Get #18 Msg = bb6600470
    MessageQ_get #19 Msg = bb6600470
    MessageQ_Get #20 Msg = bb6600470
    MessageQ_Get #21 Msg = bb6600470
    MessageQ_get #22 Msg = bb6600470
    MessageQ_get #23 Msg = bb6600470
    MessageQ_get #24 Msg = bb6600470
    MessageQ_get #25 Msg = bb6600470
    MessageQ_get #26 Msg = bb6600470
    MessageQ_get #27 Msg = bb6600470
    MessageQ_get #28 Msg = bb6600470
    MessageQ_get #29 Msg = bb6600470
    MessageQ_get #30 Msg = bb6600470
    MessageQ_get #31 Msg = bb6600470
    MessageQ_get #32 Msg = bb6600470
    MessageQ_get #33 Msg = bb6600470
    MessageQ_get #34 Msg = bb6600470
    MessageQ_get #35 Msg = bb6600470
    MessageQ_get #36 Msg = bb6600470
    MessageQ_get #37 Msg = bb6600470
    MessageQ_get #38 Msg = bb6600470
    MessageQ_get #39 Msg = bb6600470
    MessageQ_get #40 Msg = bb6600470
    MessageQ_get #41 Msg = bb6600470
    MessageQ_get #42 Msg = bb6600470
    MessageQ_get #43 Msg = bb6600470
    MessageQ_get #44 Msg = bb6600470
    MessageQ_get #45 Msg = bb6600470
    MessageQ_get #46 Msg = bb6600470
    MessageQ_get #47 Msg = bb6600470
    MessageQ_get #48 Msg = bb6600470
    MessageQ_get #49 Msg = bb6600470
    MessageQ_get #50 Msg = bb6600470
    MessageQ_Get #51 Msg = bb6600470
    MessageQ_get #52 Msg = bb6600470
    MessageQ_get #53 Msg = bb6600470
    MessageQ_get #54 Msg = bb6600470
    MessageQ_get #55 Msg = bb6600470
    MessageQ_get #56 Msg = bb6600470
    MessageQ_get #57 Msg = bb6600470
    MessageQ_Get #58 Msg = bb6600470
    MessageQ_get #59 Msg = bb6600470
    MessageQ_get #60 Msg = bb6600678
    MessageQ_get #61 Msg = bb6600470
    MessageQ_get #62 Msg = bb6600470
    MessageQ_get #63 Msg = bb6600470
    MessageQ_get #64 Msg = bb6600470
    MessageQ_get #65 Msg = bb6600470
    MessageQ_get #66 Msg = bb6600470
    MessageQ_get #67 Msg = bb6600470
    MessageQ_get #68 Msg = bb6600470
    MessageQ_get #69 Msg = bb6600470
    MessageQ_get #70 Msg = bb6600470
    MessageQ_get #71 Msg = bb6600470
    MessageQ_Get #72 Msg = bb6600470
    MessageQ_get #73 Msg = bb6600470
    MessageQ_get #74 Msg = bb6600470
    MessageQ_Get #75 Msg = bb6600470
    MessageQ_get #76 Msg = bb6600470
    MessageQ_get #77 Msg = bb6600470
    MessageQ_get #78 Msg = bb6600470
    MessageQ_get #79 Msg = bb6600470
    MessageQ_get #80 Msg = bb6600470
    MessageQ_get #81 Msg = bb6600470
    MessageQ_Get #82 Msg = bb6600470
    MessageQ_get #83 Msg = bb6600470
    MessageQ_get #84 Msg = bb6600470
    MessageQ_get #85 Msg = bb6600470
    MessageQ_get #86 Msg = bb6600470
    MessageQ_get #87 Msg = bb6600470
    MessageQ_get #88 Msg = bb6600470
    MessageQ_get #89 Msg = bb6600470
    MessageQ_get #90 Msg = bb6600470
    MessageQ_get #91 Msg = bb6600470
    MessageQ_get #92 Msg = bb6600470
    MessageQ_get #93 Msg = bb6600470
    MessageQ_get #94 Msg = bb6600470
    MessageQ_get #95 Msg = bb6600470
    MessageQ_get #96 Msg = bb6600470
    MessageQ_get #97 Msg = bb6600470
    MessageQ_Get #98 Msg = bb6600470
    MessageQ_get #99 Msg = bb6600470
    MessageQ_get #100 Msg = bb6600470
    已与远程处理器 DSP 交换100条消息
    示例应用已成功完成!
    离开 MessageQApp_execute

    root@omapl138-lcdk:~#

    从内核的角度来看、一切似乎都正常。 您可能需要使用 JTAG 连接到 DSP 并查看其停止位置。 我怀疑您使用的 RTOS 软件包有问题。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前、即使是 SDK 打包的 MessageQApp 也会为我提供相同的结果。

    我只是重新下载所有内容、然后重试... 还将尝试我运行的上一个版本、其中我确认 MessageQApp 正在工作(版本04.00.00.04)。

    在这段时间内、我将仔细检查 RTOS 配置设置、这应该是可以的、因为我正在构建 TI 提供的示例、并且我将订购 JTAG 探头...  

    RE JTAG Probe -对于该处理器而言、哪个是最具成本效益的单元? 处理器页面有一个指向 XDS110探针的链接、但该页面显示由于自适应时钟、OMAP-L13x 器件不受支持? 我猜这只会让 XDS200探头成为最佳选择吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    还可以解决问题...

    事实证明我没有加载器件树 Blobs... 在我将 u-boot 和内核移动到 NAN...之前、必须执行指示 MessageQApp 按预期运行的先前测试。 在此移动过程中、我必须不需要加载这些文件。 如果维基提到这一点会更好,尽管我确信它被埋在 u-boot 维基中...

    bootcmd=n 并读取${loadaddr}0x2c0000 0x260000;n 并读取${fdtaddr}0x520000 0x10000;bootz ${loadaddr}-${fdtaddr} 

    不过、我仍然想听听您对 JTAG 探头的看法...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我的想法是使用 JTAG 连接到电路板、并逐步运行 DSP 代码(使用 CCS)以查看其在哪个点失败。

    无论如何、我想这不是必需的。 感谢您分享问题的解决方案。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我更是说要购买的最经济高效的探头... 这适用于 OMAP-L138、因为处理器页面上的链接会将您带到一个探测器、指示它不适用于处理器...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    推荐的仿真器为:
    XDS110 JTAG 调试探针
    XDS200 USB 调试探针
    XDS560v2系统跟踪 USB 和以太网调试探针
    XDS560v2 System Trace USB 调试探针

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Yordan Kovachev"]

    XDS110 JTAG 调试探针  

    [/报价]

    国家;

     不 支持的器件:

    • MSP430微控制器
    • 使用自适应时钟的基于 ARM9的处理器、如 OMAPL13x 和 AM1xxx

    这只是针对 ARM 内核吗? 支持 DSP 内核?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我不知道为什么会有这样的差异。
    在这种情况下、您可以使用列表中的下一个:
    www.ti.com/.../tmdsemu200-u

    对于不支持 OMAPL13x 的上述问题。 我将要求设计团队详细说明。

    此致、
    Yordan