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:在我的 am5728板中执行 devmem2 0x4846c000时的内核转储

Guru**** 2540720 points
Other Parts Discussed in Thread: AM5728, ADS7846

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580230/linux-core-dump-when-execute-devmem2-0x4846c000-in-my-am5728-board

主题中讨论的其他器件:AM5728ADS7846

工具/软件:Linux

您好、先生、

  当我 在我的 am5728板中执行 devmem2 0x4846c000时、内核转储!  0x4846c000是 McASP 寄存器的物理地址。 有人可以告诉我为什么? 非常感谢!

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

    执行 devmem2时是否可以发布控制台日志?

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

    root@am57xx-EVM:~# devmem2 0x4846c000
    /dev/mem 已打开。
    映射到地址 bb6f3d000的内存。[866.669235]------ [在此处剪切]-----
    [866.678519]警告:CPU:0 PID:1158位于 drivers/bus/omap_l3_oc.c:147 L3_interrupt_handler + 0x25c/0x368 ()
    [866.688123] 44000000.OCP:L3自定义错误:主 MPU 目标 L4_PER2_P3 (读取):在功能访问期间以用户模式访问数据
    [866.699731]中链接的模块: mcasp (O) sd_mod bc_example (O) cBC USB_storage drbg rpmsg_proto rpmsg_pru rpmsg_pc xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp xfrm_ipcomp pr4 AH4 xhci_plat_hcd_hcd_key xfrmc_sboc_cru_a1_infote_mcote_mac cru_a1_infote_mac cru_mac cru_mac r_mac r_un_ip_ip_mac r_un_ip_sdk_ip_ip_ip_ip_ip_ipc_platform a1_infot_ip_dc TI_VIP RTC_ds1307 ads7846 RTC_OMAP ti_VPE ti_SC ti_vpdma dwc3_OMAP extcon_Palmas OMAP-DES extcon snd_SoC_tlv320aic3x pixcir_i2c_ts mt9t11x RTC_rng OMAP-rng rng rng_core_remotio (proc)模块 remotio (tirtio)(te_remotio)模块 remotio (te_tecuv)
    [866.775085] CPU:0 PID:1158 Comm:devmem2被污染:g w O 4.4.4.19-gdb03b62 #1
    [866.783119]硬件名称:通用 DRA74X (平展器件树)
    [866.789232]回溯:
    [866.79170][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
    [866.799297] r7:c02dfa98 r6:20070193 r5:00000000 r4:c0940dcc
    [866.805004][ ](show_stack)从[ ](dump_stack+0x8c/0xa0)
    [866.812257][ ](dump_stack)从[ ](warn_slESpath_common+0x88/b8)
    [866.820377] r7:c02dfa98 r6:00000093 r5:00000009 r4:dff35df0
    [866.826084][ ](warn_slowpath_common)、来自[ ](WARN_RASPH_FMt+0x38/0x40)
    [866.834813] R8:00000017 r7:c082c840 R6:00000002 R5:c082c900 R4:c082c9a4
    [866.841572(2004) ](warn_slowpath_fmt)、来自[ ](L3_INTERRUPT_Handler+0x25c/0x368)
    [866.850476] r3:ef208140 r2:c082c9a4
    [866.854070] R4:80080003
    [866.856619][ ](L3_interrupt_handler)、来自[ ](handle_irq_event_perpu+b0x4/0x160)
    [866.865959] R10:c096cd72 R9:ef200840 R8:00000017 r7:00000000 R6:00000000 R5:ef2008a0
    [866.873850] R4:ef208640
    [866.876398][ ](handle_irq_event_perpu)、来自[ ](handle_IRQ_EVENT_+0x40/0x64)
    [866.885301] R10:bef11af8 R9:00000001 R8:ef008000 r7:00000000 R6:c091bd84 R5:ef2008a0
    [866.893189] R4:ef200840
    [866.895737][ ](handle_irq_event)从[ ](handle_fasteoi_IRQ+0xc0/0x194)
    [866.904291] r7:00000000 R6:c091bd84 R5:ef2008a0 R4:ef200840
    [866.909996][ ](handle_fasteoi_IRQ)、来自[ ](generic_handle_IRQ+0x2C/0x3c)
    [866.918638] r7:00000000 R6:00000000 R5:00000017 R4:c0911424
    [866.924343][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x64/bb)
    [866.933077][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x40/0x7c)
    [866.941456] R9:00000001 R8:fa213000 r7:fa212000 r6:dff35fb0 r5:fa21200c r4:c09168e0
    [866.949258][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_USR+0x48/0x60)
    [866.956768]异常堆栈(0xdff35fb0至0xdff35ff8)
    [866.961839] 5fa0: 000103a7 b6f41958 b6f3f930 b6f41b10
    [866.970048] 5fc0:00000000 00020dfc b6f30000 b6f304c0 00000000 00000001 bef11af8 bef11cf4
    [866.978255] 5fe0:00000017 bef11a98 00010390 b6f239a8 20070030 ffffff
    [866.984892] R9:00000001 R8:30c5387d r7:30c5387d R6:ffff R5:20070030 R4:b6f239a8
    [866.992697]--[结束线迹 b1d67eee938faf7 ]--
    [866.997405]未处理故障:异步外部中止(0x1211)、0x00000000
    [867.004745] PgD = ee27e980
    [867.007460][00000000]* PgD=ae148003、* PMD=b97c1003

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

    我认为缺少功能时钟、请参阅:
    [866.997405]未处理故障:异步外部中止(0x1211)、0x00000000

    您能否尝试以下操作:
    devmem2 0x4A009898 0x2 =>从 PRCM 启用 MCASP4 (请参阅表3-1191)。 CM_L4PER2_MCASP4_CLKCTRL)
    devmem2 0x4846c000

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    当我执行 devmem2 0x4A009898 0x2时、它无法成功。
    日志是.....

    devmem2 0x4A009898 0x2
    /dev/mem 已打开。
    映射到地址 bb6f91000的内存。
    非法数据类型"0"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、应该是 devmem2 0x4A009898 w 0x2。 非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    您能向我展示一下在 SDK 中启用寄存器的代码行吗? 由于我的 am5728板可以使用 mcasp3工作、但我无法找到哪个代码行启用 PRCM 中的 MCASP3。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉耽误你的答复。

    当 AM57xx SoC 中的模块在 DTS 文件中的状态定义为:
    状态="正常";

    例如,请参见 arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi,它包含在 am57xx-evm.dts 中:
    mcasp3{.m&mcasp3}
    #sound-di-cells =<0>;
    分配的时钟=<&mcasp3_ahclkx_mux>;
    分配的时钟父级=<&sys_clkin2>;
    状态="正常";

    OP-MODE =<0>;/* MCASP_IIS_MODE */
    TDM-SLOTS =<2>;
    /* 4个串行器*/
    serial-dir =</* 0:非活动、1:TX、2:Rx *
    1 2 0 0
    >;
    tx-num-evt =<32>;
    Rx-num-evt =<32>;
    };

    在探测 DTS 时、驱动程序会看到状态并配置相应的 prcm 寄存器。

    此致、
    Yordan