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.

[参考译文] TDA4VM-Q1:尝试使用 ECC 读取和写入8MB 的 SRAM (MSMC) 3*512KB SRAM、

Guru**** 2461300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475609/tda4vm-q1-try-read-and-write-sram-of-8mb-msmc-with-ecc-3-512kb-sram

器件型号:TDA4VM-Q1

工具与软件:

团队成员、您好!

我尝试使用 ECC 3*512KB SRAM 读取和写入8MB(MSMC)的 SRAM、

未启用以查找存储器地址起始和结束的地址

请提供相关帮助、

谢谢你

Jayadeva

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

    您好!

    我不确定我是否完全理解你的问题。

    对于具有8MB MSMC SRAM 的系统、MSMC SRAM 从地址0x7000 0000开始、并从0x707F FFFF 结束。  

    此致、
    Kevin

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

    您好!

    我正在检查完整的 SRAM 可以访问写入和读取、为此、我需要地址

    我检查  它可以读取的上述地址0x7000 0000、

    但是、我尝试0x707F0000在 EVB 板中被压碎、日志如下、SW 为 SDK10、

    请支持该如何检查  8MB(MSMC)的 SRAM 与 ECC 3*512KB 的 SRAM,

    root@j784s4-EVM:~# devmem2 0x70000000
    /dev/mem 打开。
    存储器映射在地址0xff8194d000处。
    在地址0x70000000 (0xffffff8194d000)上读取:0xAA0003F4
    root@j784s4-EVM:~# devmem2 0x707F0000
    /dev/mem 打开。
    [63.351937] CPU6上的错误中断、代码0x00000000bf000000 --错误
    [63.351949] CPU: 6 PID: 1222 Comm: devmem2 detailed: G O 6.6.32-ti-gdb8871293143-dirty #1
    [ 63.351954]硬件名称:Texas Instruments J784S4 EVM (DT)
    [63.351956] pstate:60000000 (nZCv daif -pan -uao -tco -dit -ssbs BTYPE=-)
    [63.351960] PC : 0000ffffff95044450
    [63.351962] LR : 0000ffffff950466a0
    [63.351963] sp : 0000ffffe5591550.
    [63.351964] x29: 0000ffffe5591550 x28: 0000ffe5591720 x27: 00000000000000000000
    [63.351970] x26:0000000000420000 x25:0000ffffff95070000 x24:0000ffe5591918
    [63.351975] x23:0000000000000003 x22:0000000000000002 x21:0000ffff95077350
    [63.351979] x20:0000000000001000 x19:0000ffff95070000 x18:0000000000000003.
    [ 63.351983] x17:0000ffff95046658 x16:000000000041fff8 x15:0000ffff95064cd0
    [63.351988] x14: 00000000000000000001 x13: 0000ffffe5591670 x12: 00000000ffffc8.
    [63.351992] x11: 00000000ffffff80 x10: 000000000000000a x9: 00000000000000000000
    [63.351996] x8 : 0000000000000040 x7 : 3030303037303539 x6 : 0000000000400358.
    [63.352000] x5 : 0000000000000000 x4 : 0000ffffe5591549 x3 : 0000000000000000
    [ 63.352004] x2 : 000000000041fe78 x1 : 0000000000000048 x0 : 00000000000000000000
    [ 63.352010] Kernel panic - not synchronizing: asynchronous Serror interrupt
    [63.352012] CPU: 6 PID: 1222 Comm: devmem2污染: G O 6.6.32-ti-gdb8871293143-dirty #1
    [ 63.352016]硬件名称:德州仪器(TI) J784S4 EVM (DT)
    [ 63.352018]呼叫跟踪:
    [ 63.352020] dump_backtrace+0x90/0xe8
    [ 63.352036] show_stack+0x18/0x24
    [ 63.352041] dump_stack_lvl+0x48/0x60
    [ 63.352045] dump_stack+0x18/0x24
    [ 63.352048] paner+0x324/0x380
    [ 63.352053] NMI_panic+0x8c/0x90
    [ 63.352057] arm64_serror_panic+0x6c/0x78
    [ 63.352062] do_serror+0x3c/0x70
    [ 63.352066]__el0_error_handler_common+0x40/0xa4
    [ 63.352071] el0t_64_error_handler+0x10/0x1c
    [ 63.352074] el0t_64_error+0x190/0x194
    [63.352077] SMP:正在停止辅助 CPU
    [ 63.352092]内核偏移:禁用
    [ 63.352093] CPU 特性:0x080000200、200,28028020,000,1000420b
    [ 63.352096]内存限制:无
    [ 63.542690]--[结束内核紧急情况-未同步:异步错误中断]-

    谢谢你

    Jayadeva SM

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

    您好!

    MSMC SRAM 可用作高速缓存。 缓存占用的存储器空间不再可作为存储器映射的 SRAM 进行访问。 因此、尽管 MSMC 具有8MB 的 SRAM、当 SRAM 也用作缓存时该量将被有效地减少。

    您能否检查系统中 MSMC_CACHE_CTRL 寄存器的配置情况?

    此致、
    Kevin

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

    Kevin 老师、您好!

    请在周一开会讨论这件事。您的空闲时间我 安排会议。

    如何查看 Configuration register?

    我有更多关于 带 ECC 3*512KB SRAM 的8MB(MSMC)的讨论,

    谢谢你

    Jayadeva  

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

    尊敬的 Kevin:

    我们计划将一些"未使用"的内部存储器用于 A72内核中的测试应用。 该8MB 内部存储器中的任何区域都应可从 A72内核使用。 如果是、该内部存储器地址的起始地址和长度是多少、该地址可以用于相同的长度。

    此致、

    Jeyaseelan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="623744" url="~/support/processors-group/processors/f/processors-forum/1475609/tda4vm-q1-try-read-and-write-sram-of-8mb-msmc-with-ecc-3-512kb-sram/5671974 #5671974"]如何检查配置寄存器?[/QUOT]

    读取0x6E001000处的值。

    我们计划对 A72内核的测试应用程序使用一些"未使用"的内部存储器。 该8MB 内部存储器中的任何区域都应可从 A72内核使用。 如果是、该内部存储器地址的起始地址和可用于相同地址的长度是多少。[/QUOT]

    我很抱歉、但我不理解您的问题、我不知道您的系统以及 您如何分配内存。

    如前所述、 对于具有8MB MSMC SRAM 的系统、MSMC SRAM 从地址0x7000 0000开始、并从0x707F FFFF 结束。  

    如果将部分或全部 MSMC SRAM 用作高速缓存、则用作 SRAM 的可用存储器空间会减小。

    此致、
    Kevin

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

    尊敬的 Kevin:

    我们将使用 TI 的 Linux J784S4 SDK。 内核从外部存储器(LPDDR)通过 A72内核运行。 不使用其他内核。 缓存初始化只能通过 SDK Linux 来处理。 如果您有使用详情、请尽可能告知我们。 我们正在从内部存储器中寻找除缓存或外设寄存器等之外的一些未使用区域

    此致、

    Jeyaseelan

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

    我将把工单重新分配给我们的软件团队。 但是、您可以读取  MSMC_CACHE_CTRL 寄存器、以查看其是否设置为非零值。  

    此致、
    Kevin

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

    您好!

    您是否使用了 J784s4的默认 SDK? 您能否确认使用的是哪个 SDK 版本?

    另有主题引述:  

    TDA4VM-Q1

    您能否在此处确认 SOC 和确切使用的 SDK 版本?

    另请查看 Linux SDK 源文件:

    arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi

            msmc_ram: sram@70000000 {
                    compatible = "mmio-sram";
                    reg = <0x00 0x70000000 0x00 0x800000>;
                    #address-cells = <1>;
                    #size-cells = <1>;
                    ranges = <0x00 0x00 0x70000000 0x800000>;
    
                    atf-sram@0 {
                            reg = <0x00 0x20000>;
                    };
    
                    tifs-sram@1f0000 {
                            reg = <0x1f0000 0x10000>;
                    };
    
                    l3cache-sram@200000 {
                            reg = <0x200000 0x200000>;
                    };
            };

    我们无法使用保留的存储器区域。

    尝试使用所需的0x70400000 +大小。 检查它是否起作用。

    -基尔西

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

    尊敬的 Keerhy:  

    它被错误地引用. SoC 是 TD4VH、SDK 版本是10.0.1。 现在、我们能够从地址 0x70400000执行读取/写入某些存储器。 它现在可以发挥作用或发挥作用。 感谢您的支持。

    此致、

    Jeyaseelan