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/XTCIEVMK2LX:运行 ex02_MessageQ IPC 演示会使 Linux 崩溃

Guru**** 2604225 points
Other Parts Discussed in Thread: CODECOMPOSER

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580893/linux-xtcievmk2lx-running-ex02_messageq-ipc-demo-crashes-linux

器件型号:XTCIEVMK2LX

工具/软件:Linux

我有多个 TCIEVMk2X 模块、所有模块均运行 http://software-dl.ti.com/processor-sdk-linux-rt/esd/K2HK/latest/exports/ti-processor-sdk-linux-rt-k2hk-evm-03.02.00.05-Linux-x86-Install.bin 上的最新处理器 SDK-RT for Linux v03.02

我正在尝试从 Linux-devkit/sysroot/ti-ipc-tree/examples/TCI6636_linux_elf 运行 ex02_MessageQ 示例。 老实说、我放弃了修改 makefile 文件和产品的尝试。在这个示例中、Mak 花费了太多的时间来跟踪每个绊脚石、并且只为演示代码创建了 CodeComposerStudio 项目。

但是、当我在目标上运行代码(TCIEVMK2X 评估模块上的 TCI6638K2K)时、它有时会工作、有时会使 Linux 硬崩溃。

由于论坛会在每一页上重复打开的消息、我将在第二条消息中继续。

Steve Williams

Tarana Wireless

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

    在将 CodeComposer 项目用于 DSP 端时、我将*。cfg 文件更改为第一个参数传递空、以便生成的 DSP.out 在所有8个内核上都工作

    MultiProc.setConfig(null、["host"、
    "CORE0"、"Core1"、"Core2"、"CORE3"、
    "CORE4"、"CORE5"、"CORE6"、"CORE7"、"CORE7"]); 

    我使用以下 ex02.sh 脚本运行演示:

    root@k2hk EVM:~/ex02-MessageQ# cat ex02.sh
    !/bin/sh

    目标=$(序列0 7)

    对于${targets}中的目标;请执行
    回显"重置 DSP${target}"
    mpmcl 复位 DSP${target}
    完成


    对于${targets}中的目标;请执行
    image=dsp.out
    回显加载${image}至 DSP${target}
    mpmcl 加载 DSP${target}${image}
    完成

    对于${targets}中的目标;请执行
    回显"运行 DSP${target}"
    mpmcl 运行 DSP${target}
    完成

    从 DSP 的/sys/kernel/debug/remoteproc/remoteproc 输出*/trace0输出判断,DSP 似乎都正确启动。

    通常、我可以运行几次"../host COREX"并从两侧获得正确的输出:

    root@k2hk EVM:~/ex02-MessageQ#./host CORE0
    -->主要:
    ->Main_main:
    --> App_create:
    APP_CREATE:主机已就绪
    <-- App_create:
    --> App_exec:
    APP_exec:发送消息1
    APP_exec:发送消息2.
    APP_exec:发送消息3
    APP_exec:已收到消息、正在发送消息4
    APP_exec:已收到消息、正在发送消息5
    APP_exec:已收到消息、正在发送消息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:
    <--主要:

    root@k2hk EVM:~/ex02-MessageQ# cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
    2个资源条目、位于0x800000处
    [T=0x00009dc2] xdc.runtime.Main:-->主程序:
    在61上使用主机注册 rpmsg-proto:rpmsg-proto 服务
    [T=0x00708dac] xdc.runtime.Main: NameMap_sendMessage:主机53、端口=61
    [T=0x0070e58f] xdc.runtime.Main:--> smain:
    [T=0x007141b4]服务器:SERVER_CREATE:服务器就绪
    [T=0x00717185]服务器:<- SERVER_CREATE:0
    [T=0x00719a12]服务器:--> Server_exec:
    [T=0x00000005:21d8a8d4]服务器:SERVER_exec:已处理 cmd=0x0
    [T=0x00000005:21d95502]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21d9b610]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21dc3859]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21dc9376]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21dd2ed1]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21de5b2e]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21deb681]服务器:Server_exec:处理的 cmd=0x0
    [T=0x00000005:21df46fb]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e0c872]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e123c8]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e1b3a9]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e33352]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e38eaA]服务器:SERVER_exec:已处理 CMD=0x0
    [T=0x00000005:21e41e07]服务器:SERVER_exec:已处理 CMD=0x2000000
    [T=0x00000005:21e469ae]服务器:<- Server_exec:0
    [T=0x00000005:21e499e8]服务器:--> SERVER_DELETE:
    [T=0x00000005:21e4db3b]服务器:<- SERVER_DELETE:0
    [T=0x00000005:21e5377b]服务器:SERVER_CREATE:服务器就绪
    [T=0x00000005:21e57012]服务器:<- SERVER_CREATE:0
    [T=0x00000005:21e5a174]服务器:--> Server_exec:

    但是、如果我尝试在同一个内核上或在所有内核之间重复运行程序、通常在"主机"应用程序打印后、它最终会使 Linux 崩溃:

    -->主要:
    ->Main_main:
    --> App_create:
    APP_CREATE:HOST

    有时、我还看到了大量的内核调试消息:

    ::::::ITER=4核心=7 ::::
    -->主要:
    ->Main_main:
    --> App_create:
    APP_CREATE:HOST[ 3992.427631]错误:原子调度:swapper/0/0x00010002
    就绪
    中链接的<- a[3992.427690]模块: sha512_arm sha1_generic sha1_arm_neon sha1_arm md5 jitterentropy_rng SHA256_generic sha256_arm hmac drbg DES_generic CBC xfrm_user xfrm4_tunnel ipxfrm_ipcomp ahf_key ss_plat_hv_mac rgc (premote_core_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_
    PP_CREATE:
    -->[3992.427696] CPU:0 PID:0 Comm:swapper/0污染:G O 4.4.3.32-rt41-ge26c84b0ac #1
    App_exec:
    app_e[3992.427697]硬件名称:KeyStone
    XEC:发送 mes[3992.427700]回扫:
    Sage 1.
    app_exec[ 3992.427718][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
    :发送消息[3992.427725] r7:c08e6000 R6:20070193 R5:00000000 R4:c08fd1c4.
    E 2.
    app_exec:s[ 3992.427735][ ](show_stack)从[ ](dump_stack+0x8c/0xa0)
    结束消息3[3992.427742][ ](dump_stack)从[ ](_schedule_bug+0x58/0x68)

    APP_exec:mess[3992.427748] r7:c08e6000 R6:c08e4f80 R5:c08edfa8 R4:00000000
    收到的年龄、SE[3992.427757][ ](__schedule_bug)从[ ](_schedule+0x4d8/0x538)
    Nding message 4[3992.427761] R5:c08edfa8 R4:de587f80

    APP_exec:Messa[3992.427767][ ](__schedule)从[ ](计划+0x60/0xFC)
    GE received、SEN[3992.427774] R10:c08e7dc0 R9:dd5a8e80 R8:c08e7dc0 r7:c08edfa8 R6:c08ee4e4 R5:c08edfa8
    DING 消息5.
    [3992.427776] R4:c08e6000
    APP_exec:Messag[3992.427782][ ](计划)从[ ](rt_spin_lock_sleslock+0x1d4/0x310)
    E 已接收、发送[3992.427785] R5:c08e6000 R4:de212e00
    信息6.
    答[3992.427790][ ](RT_SPIN_LOCK_RASPLOCK)从[ ](RT_SPIN_LOCK_0x5c/0x60)
    PP_exec:message[3992.427797] R10:c08eb24c R9:de1c8e50 R8:de1c8e40 r7:c0801178 R6:c08e7e6c R5:000002a0
    接收到、sendi[3992.427799] R4:de212e00
    NG 消息7.
    AP[3992.427806][ ](RT_SPIN_LOCK)从[ ](regmap_lock_spinlock+0x14/0x20)
    P_exec:消息[3992.427809] R5:000002a0 R4:de212e00
    已收到、sendin[3992.427815][ ](regmap_lock_spinlock)从[ ](regmap_read+0x38/0x68)
    G 消息8.
    APP[3992.427818] R5:000002a0 R4:de212e00
    _exec:消息 r[3992.427826][ ](regmap_read)从[ ](KeySton_IRQ_handler + 0x50/0x128)
    已接收、发送[3992.427831] r7:c0801178 R6:de2dea90 R5:de1c8e50 R4:00000000
    消息9.
    [3992.427838][ ](KeySton_IRQ_handler)、来自[ ](generic_handle_IRQ+0x2C/0x3c)
    [3992.427844] R10:c08eb24c R9:f0805000 R8:de008000 r7:00000000 R6:00000000 R5:00000043
    [3992.427846] R4:c08e3828
    [3992.427851][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x64/bb)
    [3992.427856][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x50/0x94)
    [3992.427862] R9:f0805000 R8:f0804000 r7:c08e7f00 R6:f080400c R5:c08eb5f8 R4:c08fd300
    [3992.427866][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x40/0x88)
    [3992.427868]异常堆栈(0xc08e7f00至0xc08e7f48)
    [3992.427872] 7f00:00000000 de585550 00000000 c001fc40 c08e6000 c08eb1f0 c08e2524 c08e7f70
    [3992.427876] 7f20:c065f954 c0926428 c08eb24c c08e7f5c c08e7f60 c08e7f50 c0010290 c0010294
    [3992.427878] 7f40:60070013 FFFF
    [3992.427885] R9:c0926428 R8:c065f954 r7:c08e7f34 R6:ffff R5:60070013 R4:c0010294
    [3992.427893][ ](arch_cpu_idle)从[ ](DEFAULT_IDLE_CALL + 0x34/0x40)
    [3992.427898][ ](DEFAULT_IDLE_CALL)从[ ](CPU_STARTUP_END+0x154/0x1c0)
    [3992.427904][ ](CPU_STARTUP_INPUK)、来自[ ](REST_INIT+0x90/0x94)
    [3992.427906] r7:00000000

    [3992.427915][ ](REST_INIT)从[ ](start_kernel+0x408/0x414)

    [3992.427918] R5:00000001 R4:c0929040
    [3992.427923][ ](start_kernel)从[<80008090>](0x80008090)
    [3992.427949]------ [在此处剪切]-----
    [3992.637619]------ [在此处剪切]-----
    [3992.637628]警告:CPU:1 PID:18 at /home/gtbldadm/processor-sdk-linux-rt-krogoth-build/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work-shared/k2hk-evm/kernel-source/kernel/sched/core.c:3647 RT_mutex_setprio+0x414/0x418 ()
    [3992.637670]模块链接在: sha512_arm sha1_generic sha1_arm_neon sha1_arm md5 jitterentropy_rng SHA256_generic sha256_arm hmac drbg DES_generic CBC xfrm_user xfrm4_tunnel ipxfrm_ipcomp ahf_key ss_plat_hv_mac rgc (premote_core_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_remote_
    [3992.637674] CPU:1 PID:18 Comm:ktimersoft0/1被污染:G W O 4.4.3.32-rt41-ge26c84b0ac #1
    [3992.637676] Hardware name:KeyStone
    [3992.637678]回溯:
    [3992.637686][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
    [3992.637693] r7:c0049e9c R6:200e0093 R5:00000000 R4:c08fd1c4
    [3992.637700][ ](show_stack)从[ ](dump_stack+0x8c/0xa0)
    [3992.637709][ ](dump_stack)从[ ](warn_slESpath_common+0x88/b8)
    [3992.637714] r7:c0049e9c R6:00000e3f R5:00000009 R4:00000000
    [3992.637721][ ](warn_slowpath_common)、来自[ ](WARN_RASPEK_NULL_0x24/0x2C)
    [3992.637727] R8:c08e4f80 r7:00000001 R6:00000062 R5:de587f80 R4:c08edfa8
    [3992.637734][ ](warn_slowpath_null)、来自[ ](RT_mutex_setprio+0x414/0x418)
    [3992.637741][ ](rt_mutex_setprio)、来自[ ](__rt_mutex_adjust_prio+0x34/0x50)
    [3992.637747] R10:c0373b34 R9:de0b3dd8 R8:00000000 r7:de0b3dd8 R6:c0960a88 R5:c08edfa8
    [3992.637750] R4:de0a95c0
    [3992.637756][ ](__rt_mutex_adjust_prio)从[ ](task_blocks_ON_RT_mutex+0x2c0/0x2dc)
    [3992.637762][ ](task_blocks_ON_rt_mutex)、来自[ ](rt_spin_lock_sleslock+0xf8/0x310)
    [3992.637768] R10:c0373b34 R9:a00e0013 R8:de0b3dd8 r7:de0a95c0 R6:de0a9afc R5:de0b2000
    [3992.637770] R4:c0960a88
    [3992.637775][ ](RT_SPIN_LOCK_RASPLOCK)从[ ](RT_SPIN_LOCK_0x5c/0x60)
    [3992.637781] R10:c0373b34 R9:c0960a88 R8:00000200 r7:c0373b34 R6:00000000 R5:de590580
    [3992.637783] R4:c0960a88
    [3992.637794][ ](RT_SPIN_LOCK)从[ ](serial8250_backup_timeout+0x14/0x138)
    [3992.637797] R5:de590580 R4:c0960a88
    [3992.637807][ ](serial8250_backup_timeout)从[ ](call_timer_fn+0x30/0xa0)
    [3992.637812] r7:c0373b34 R6:00000000 R5:de590580 R4:ffe000
    [3992.637818][ ](call_timer_fn)、来自[ ](run_timer_softirq+0x1b0/0x23c)
    [3992.637823] r7:00000000 R6:00000000 R5:de590580 R4:c0960ba0
    [3992.637828][ ](run_timer_softirq)、来自[ ](do_curry_softirqs+0x1b8/0x254)
    [3992.63783] R10:00000001 R9:de0b3ed0 R8:00000000 r7:04208140 R6:de0b2000 R5:00000004
    [3992.637836] R4:c08e22b0
    [3992.637840][ ](do _curry_softirq)、从[ ](run_ksoftirqd+0x34/0x64)
    [3992.637846] R10:00000000 R9:00000000 R8:ffe000 r7:c08efeb0 R6:00000001 R5:de035300
    [3992.637848] R4:ffe000
    [3992.637855][ ](run_ksoftirqd)、来自[ ](smpboot_thread_fn+0x164/0x2b8)
    [3992.637858] R5:de035300 R4:de0b2000
    [3992.637863][ ](smpboot_thread_fn)、来自[ ](kthread+0xe4/0xFC)
    [3992.637869] R10:00000000 R9:00000000 R8:00000000 r7:c0041ea8 R6:de035300 R5:de035380
    [3992.637872] R4:00000000 R3:de0a95c0
    [3992.637877][ ](kthread)、来自[ ](RET_FANK_F叉+0x14/0x24)
    [3992.637881] r7:00000000 R6:00000000 R5:c003eb40 R4:de035380
    [3992.637883]--[结束跟踪000000000002 ]--
    [3992.847618]-------- [在此处剪切]-----

     

    我闻起来、Linux 和 DSP TI/BIOS 代码之间在如何定义共享存储器方面存在一些分歧。

     

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

    我正在附加我的 code composer 项目和用于从 Linux 启动 DSP 的脚本。

    e2e.ti.com/.../ex02_2D00_messageq.zip

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

    很抱歉耽误你的答复。
    这一信息已转交给 TCI Linux 专家。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有更新吗? 这一问题继续阻碍在这里取得进展。 我们还没有在 Processor SDK 3.02.00.05中找到 IPC 的任何工作示例、其中包含与 DSP+BIOS 通信的 ARM+Linux、最终无法达到要求重新启动电路板以恢复的状态。