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问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/703675/linux-am5728-devmem2-issue

器件型号:AM5728

工具/软件:Linux

您好!

PROCESSOR-SDK-LINUX-AM57X 04_03_00_05。 我尝试使用 devmem2实用程序来读取存储器寄存器的值。 但是、该实用程序会崩溃。 我无法理解这个问题。 这是正确的实用程序吗? 是否有任何其他实用程序可以读取 TI SDK 中的低级外设寄存器值?

请找到以下日志。

root@am57xx-EVM:~# devmem2 0x44E10990

/dev/mem 已打开。
[51.998916]未处理故障:异步外部中止(0x1211)、0x00000000
映射到地址 bbb6f7b000的内存。
[51.998919]------ [在此处剪切]-----
[51.998939]警告:CPU:0 PID:137、位于/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work-shared/am57xx-evm/kernel-source/drivers/bus/omap_l3_noc.c:147 L3_INTERRUPT_Handler+0x25c/0x36c
[51.998945] 44000000.OCP:L3自定义错误:主 MMU1目标主机 CLK2 (空闲):在功能访问期间以用户模式访问数据
[51.999091]模块链接在: sha512_generic sha512_arm sha256_generic sha1_arm_neon sha1_arm md5 CBC xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp xfrm_ipcomp prm_ipcomp 4 ahf_key xfrm_algo bc_example (O) bluetooth_proc xhci_proc xhci_prat_clus_m_clus_pru_mas ip_mc_soc p_pr_clus_clus_clus_ip_pric vap_mas ip_ip_mas ip_ip_ip_ip_ipc_platform snd_soc_tlv320aic3x DES_generic rtc_ds1307 crypto_engine omap_remoteproc virtio_rpmsg_bus rpmsg_core remotesch_Fq_cdel uio_module_drv (O) uio FTDI_SIO usbserial usbcore USB_common gdbserverproxy (O)(O) ctoV (O)
[51.999099] CPU:0 PID:137 Comm:systemd-udevd 被污染:G O 4.9.69-g9ce43c71ae #2
[51.999102]硬件名称:通用 DRA74X (平展器件树)
[51.999107]回溯:
[51.999120][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
[51.999128] r7:00000009 R6:600f0193 R5:00000000 R4:c1022668
[51.999137][ ](show_stack)从[ ](dump_stack+0x8c/0xa0)
[51.999146][ ](dump_stack)从[ ](_warn+0xec/0x104)
[51.999152] r7:00000009 R6:c0bc91b0 R5:00000000 R4:eda6db50
[51.999159][ ](__warn)从[ ](WARN_RASPH_FMt+0x40/0x48)
[51.999166] R9:00000001 R8:eea1c7d0 r7:c0bc95d8 R6:00000000 R5:c0bc90dc R4:c0bc9180
[51.999175][ ](warn_slowpath_fmt)、来自[ ](L3_INTERRUPT_Handler+0x25c/0x36c)
[51.999178] r3:ee1c640 r2:c0bc9180
[51.999181] R4:80080003
[51.999191][ ](L3_interrupt_handler)、来自[ ](__Handle_IRQ_EVENT_perpu + b0x4/0x138)
[51.999198] R10:c104dfaf R9:eea1b300 R8:00000017 r7:eda6dc74 R6:00000000 R5:ee1b300
[51.999200] R4:eea1cb40
[51.999208][ ](_handle_irq_event_perpu)、来自[ ](handle_irq_event_perpu + 0x24/0x60)
[51.999214] R10:00000040 R9:eda6c000 R8:ee808000 r7:00000000 R6:c1008bf4 R5:ee1b300
[51.999216] R4:eea1b300
[51.999224][ ](handle_irq_event_perpu)、来自[ ](handle_IRQ_EVENT_+0x40/0x64)
[51.999227] R5:eea1b360 R4:eea1b300
[51.999236][ ](handle_irq_event)从[ ](handle_fasteoi_IRQ+0xc0/0x190)
[51.999241] r7:00000000 R6:c1008bf4 R5:eea1b360 R4:eea1b300
[51.999248][ ](handle_fasteoi_IRQ)、来自[ ](generic_handle_IRQ+0x2C/0x3c)
[51.999253] r7:00000000 R6:00000000 R5:00000017 R4:c0e5cde0
[51.999259][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x64/bb)
[51.999266][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x40/0x7c)
[51.999272] R9:eda6c000 R8:fa213000 r7:fa212000 R6:eda6dd30 R5:fa21200c R4:c1003424
[51.999279][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x58/0x8c)
[51.999283]异常堆栈(0xeda6dd30至0xeda6dd78)
[51.999288] dd20:90f00000 b6eb9044 00000044 b6eb9044
[51.999294] dd40:ed844240 b6eb9000 ed844240 00000001 fcf1dfdf 00e00000 00000040 eda6dda4
[51.999299] dd60:90f00000 eda6dd80 ed82efc0 c020edd8 000f0113 ffff
[51.999306] R9:eda6c000 R8:fcf1dfdf r7:eda6dd64 R6:ffff R5:000f0113 R4:c020edd8
[51.999318][ ](flush_tlb_page)从[ ](ptep_set_access_FLAGS+0x90/0xec)
[51.999321] R4:ffefe5c8
[51.999330][ ](ptep_set_access_FLAGS)从[ ](do_wp_page+0xe8/0x7e4)
[51.999338] R9:00000000 R8:00000008 r7:00e00000 R6:fcf1dfdf R5:ed844240 R4:eda6de64
[51.999346][ ](do _wp_page)、从[ ](handle_mm_FAULT+0x524/0xd8c)
[51.999353] R10:00000040 R9:00000000 R8:fcf1d7df r7:04e00000 R6:fcf1dfdf R5:ed844240
[51.999356] R4:eda6de64
[51.999364][ ](handle_mm_FAULT)从[ ](do_page_FAULT+0x28c/0x360)
[51.999371] R10:00000055 R9:ed82effc R8:b6eb96a4 r7:00000a0f R6:ed82efc0 R5:ed83be80
[51.999373] R4:eda6dfb0
[51.999380][ ](DE_PAGE_FAULT)从[ ](do_DataAbort+0x38/b8)
[51.999386] R10:00000001 R9:004b2578 R8:eda6dfb0 r7:b6eb96a4 R6:c02154e8 R5:00000a0f
[51.999389] R4:c10080cc
[51.999396][ ](DO 数据中止)从[ ](_dabt_usr+0x40/0x60)
[51.999399]异常堆栈(0xeda6dfb0至0xeda6dff8)
[51.996404] dfa0:b6eb96a4 00000000 00000001
[51.999409] dfc0:004b65d8 b6eb8000 00000001 b6fde220 00000000 004b2578 00000001 0049db80
[51.999415] dfe0:b6eb8010 bec6b6f0 b6e1d81f b6e1d70e 600f0030 ffffff
[51.999420] R8:30c5387d r7:30c5387d R6:ffff R5:600f0030 R4:b6e1d70e
[51.999424]--[结束线迹1404f3d9c74fb606 ]--
[52.473975] PgD = ec58bc00
[52.476688][000000000000]* PgD=ac677003,* PMD=fe04d003
总线错误(转储内核)
root@am57xx-EVM:~#

此致、

Ajit B

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

    我已查看 AM572x TRM 修订版 J、我无法在地址0x44E10990找到任何寄存器。 当您访问(读取/写入)此类保留存储器位置(该 addr 上没有器件寄存器)时、出现此类错误是正常的。

    0x44E10990属于 L3_MAIN_SN 存储器范围:0x44000000至0x457FFFFF。 请查看 AM572x TRM 中可访问(读取/写入)的可用 L3寄存器、并查看 TRM 部分:

    2.2 L3_MAIN 存储器映射
    14.2.5 L3_MAIN 互连寄存器手册

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

    感谢您的回复。 我看到了错误的地址.. 我重新检查了地址=x4A0036FC、它正在工作。

    其他问题:是否仍有转储 McASP2寄存器的值? 类似于 omapconf 公用程序? 如前所述、我使用的是 PROCESSOR-SDK-LINUX-AM57X 04_03_00_05。

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

    您可以在 McASP 驱动程序的 McASP_START_Rx ()/McASP_START_TX ()函数末尾转储 McASP 寄存器。 有关详细信息、请参阅以下 e2e 线程:

    e2e.ti.com/.../2566528

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

    感谢您的回答。 是否有任何其他方法可以使用实用程序转储? 我们不想修改 McASP 驱动程序。

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

    我不知道任何其他方式。

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

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

    您可以尝试使用 omapconf 公用程序。

    www.ti.com/.../sprac10.pdf
    3个 McASP 寄存器设置
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    我已经尝试过此应用程序、但它不适用于上述 SDK。

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

    您可以尝试的另一种方法是长时间播放/录制音频(即1分钟)、以背景方式运行播放/录制工具。 运行 shell 脚本、其中包含用于读取 McASP 寄存器的 devmem2命令。 当 McASP 播放/录制音频数据时、devmem2应该可以正常工作。

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

    感谢您的建议。 我们只是这样做。

    此致、
    Ajit B