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/AM5726:SPI 命令上的内核崩溃

Guru**** 2609695 points
Other Parts Discussed in Thread: AM5726

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/653566/linux-am5726-kernel-crash-on-spi-command

器件型号:AM5726

工具/软件:Linux

您好!

我们正在开发 AM5726定制板。

我们已连接 SPI 从器件、并通过 SPI 读/写命令进行通信。

但我们遇到了崩溃

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[77.688365]  长度= 32
[77.693206]  ################## 最终写入完成##################
[77.700590]  错误:内核模式下不支持的 FP 指令
[77.706100]  内部错误:Oops -未定义的指令:0 [#1]抢占 SMP ARM
[77.713523]  中链接的模块:ov798cam rpmsg_proto 8021q CBC jitterentropy_rng drbg xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 AH4 xhci_pl)
[77.779752]  CPU:0 PID:1126 Comm:ov798_app_spifl 被污染:G          O   4.4.3.32-gadde2ca9f8 #9
[77.788744]  硬件名称:通用 DRA74X (平展器件树)
[77.794859]  任务:ed8cb600 ti:eda98000 task.ti:eda98000
[77.800280]  PC 位于 VFP_RELOAD_HW+0x30/0x44
[77.804566]  LR 位于_ und_USR_FAULT_32+0x0/0x8
[77.809112]  PC:[ ]   LR:[ ]   PSR:a0000013
[77.809112]  sp:eda99fb0 IP:00021f3c FP:00000000
[77.820634]  R10:eda981f8 R9:c00142a0 R8:eda99e30
[77.825877]  r7:00000001 R6:c0982054 R5:00000000 R4:ec4a40f8
[77.832427]  r3:c0982058 r2:b6e576c2 r1:ecd08540 r0:ed2d8b02
[77.838978]  标志:   模式 SVC_32 ISA ARM 段用户上 FIQ 上的 NzCv IRQ
[77.846139]  控制:30c5387d 表:adb33400 DAC:fffffffd
[77.851905]  处理 ov798_app_spifl (pid:1126、栈限制= 0xeda98210)
[77.858718]  堆栈:(0xeda99fb0至0xeda9a000)
[77.863089]  9fa0:                                    be9658f8 00011940 be9659d0 000b89e8
[77.871299]  9fc0:00000000 b6f2e4c0 b6f0fd00 00011940 be9659d0 be9659e4 b6f3c000 00000000
[77.879507]  9fe0:00021f3c be9658cc b6e6f457 b6e576c2 60000030 ffffff e1805005 e3a0100f
[77.887713]  回溯:无帧指针
[77.891575]  代码:128aa080 e89a0162 e3110102 0a000003 (eee96a10)
[77.89761]  --[结束线迹4d201cb41bd81d96 ]--
[77.902325]  注意:ov798_app_spifl[1126]使用 preemp_count 2退出
分割故障

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

 

我们也经历了 kgdb、我们正在得到它

编程接收信号 SIGSEGV、分段故障。
[切换到主题1420]
arch/arm/vfp/vfphw.S:164处的 vfp_support_entry ()
164            VFPFMXR FPINST、R6             @恢复 FPINST (仅在 FPEXC.EX 被置位时)
(gdb) bt
 arch/arm/vfp/vfphw.S:164处的#0 vfp_support_entry ()
1 在 arch/arm/kernel/entry-armv.S:723的 NO_FP ()中输入0xc0014240
回扫已停止:前一帧与该帧相同(堆栈损坏?)
 
 

您能为我们提供相同错误的指导吗?、您有必要这么做。

 

此致、

前置稳压器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是什么 Linux 版本? 您使用的 SPI 命令是什么? 请发布器件树的完整日志文件 SPI pinmux 和 SPI 部分。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser、

    我们使用的是 Linux 内核4.4.3.32

    我们使用以下命令与 SPI 通信。

    status = spi_read (ginfo->spi、param->cmd、length);

    status = SPI_write (ginfo->SPI、param->cmd、length);

    附加的引导日志、崩溃期间打印 dmesg 和 SPI pinmuxe2e.ti.com/.../dts_5F00_spi_5F00_config.txt.e2e.ti.com/.../booting_5F00_log.txte2e.ti.com/.../dmesg_5F00_log_5F00_at_5F00_spi_5F00_crash.txt

    此致、

    前置稳压器

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

    内核日志消息:
    [958.830314]错误:内核模式下不支持的 FP 指令
    看起来与 SPI 读取/写入不直接相关、但似乎是由内核中使用不支持的指令引起的。 例如内核空间中的浮点运算。
    您能否指定在执行某些特定代码后每次都会出现问题、还是有时会发生问题?
    您是否正在运行一些与 ov798cam 或 NEON 相关的自定义驱动程序或功能?

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

    Shulev、您好!

    此问题每15次代码执行时显示2次。

    我们使用代价高昂的驱动程序与 SPI 通信。

    此致、
    前置稳压器