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.

关于DM8127,启动过程中M3核死机的问题



hi,你好:

DM8127是多核包括A8,两个M3和一个DSP,四个核心。我有几块开发板,其中一块开发板总是在加载M3核的时候程序会死机。

问题:1.板子在启动过程中,连续加载两个M3核的时候会出现死机的现象,不会提示报错信息。

            2.注释掉任意一个M3核上面跑的程序,另一个M3核会正常跑起来,板子不会死机。

           3.通过代码追踪到在M3核上运行的程序,是在调用/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/main_app/src路径下main_m3vpss.c文件里的BIOS_start()函数的时候出现的死机现象,把BIOS_start()这行代码注释掉板子就不会死机。

想问一下可能是由于什么原因导致的死机现象?

  • 只有这一块板子是有问题的,其他板子都是正常的?

  • 您好:

    谢谢您的回答,

    4块板子,其中两块有这样的问题,而且问题一样。另外两块,同样的软件都能够正常启动,能够跑程序。

  • 你说的死机是啥,连A8这边的串口打印都挂了吗?   

    这个时候去用仿真器连接A8/M3,能连上吗?

  • 你好,很感谢你的回复。

    1.A8这边的串口打印,在加载第二个M3的核的过程中就已经挂掉了。

    2.你说的这个时候用仿真器去连接M3我还没有尝试,试过后第一时间给你回复。

  • 你好,

          1. 刚刚我用仿真器去测试了一下,在M3死机后,串口没有任何输出的情况下,用仿真器去连接了A8和两个M3都能够正常连接上。

    以下为串口终端打印信息:

    | dBscale-min=-63.50dB,step=0.50dB,mute=0
    [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
    [m3video] Remote Debug Shared Memory @ 0xbff05020
    [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
    SysLink version : 2.20.02.20
    SysLink module created on Date:Oct 14 2015 Time:15:32:10
    Trace enabled
    Trace SetFailureReason enabled
    /dev/mem opened.
    Phy Addr : 0x48181560 Data : 0x00000002
    secss put in low power state
    Phy Addr : 0x48180f10 Data : 0x00000000
    Phy Addr : 0x48180508 Data : 0x00000302
    Phy Addr : 0x48180520 Data : 0x00000002
    Phy Addr : 0x48180524 Data : 0x00000002
    Phy Addr : 0x48180528 Data : 0x00000002
    Phy Addr : 0x4c0000e4 Data : 0x00170209
    Phy Addr : 0x4d0000e4 Data : 0x00170209
    Phy Addr : 0x4c0000e4 Data : 0x00170209
    Phy Addr : 0x4d0000e4 Data : 0x00170209
    DDR IOs RX is shutdown
    Creat queue id:0

    queue id:0
    FileMngThread created
    Creat queue id:32769
    queue id:32769
    [host] Setting DMM priority for [HDVICP0 ] to [1] ( 0x4e000634 = 0x00000009 )
    queue id:32769
    AlramThread created
    Share memory init success
    IPNC_3.50.00 (root@localhost.localdomain) (gcc version 4.5.3 20110311 (
    Creat queue id:65538
    queue id:65538
    Creat queue id:98307
    queue id:98307

    [host] ERROR: Unknown L3 static pressure initiator [ISS]

    [host] Setting L3 bandwidth regulator for [HDVICP0 ] to [press=[0,0] BW=900, WM Cycles=2500]

    [host] Setting DMM priority for [ISS ] to [0] ( 0x4e000634 = 0x00800000 )
    load_vpss.sh starting ......
    load_video.sh starting ......
    wait_cmd.sh starting ......
    load_c6xdsp.sh starting ......
    [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
    [m3video] Remote Debug Shared Memory @ 0xbff05020
    [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040

    [host] Attached to slave procId 2.

    [host] Loaded file ./firmware/ipnc_rdk_fw_m3vpss.xem3 on slave procId 2.

    [host] Started slave procId 2.

    [host] After Ipc_loadcallback status [0x00000000]

    [host] Attached to slave procId 1.
    [m3vpss ] -----VPSS-----main ---------------
    [m3vpss ] ***** SYSTEM : Frequency <ORG> - 200000000, <NEW> - 200000000
    [m3vpss ] ------1-------initProxyServer rtnVal
    [m3vpss ] notify_attach rtnVal 0
    [m3vpss ] initProxyServer rtnVal 0
    [m3vpss ] -------3------initProxyServer rtnVal
    [m3vpss ]
    [m3vpss ] *** UTILS: CPU KHz = 400000 Khz ***
    [m3vpss ]
    [m3vpss ] 96: SYSTEM : System Common Init in progress !!!
    [m3vpss ] 96: SYSTEM: IPC init in progress !!!
    [m3vpss ] 96: SYSTEM: Attaching to [HOST] ...

    [host] Attached to slave procId 0.

    [host] Loaded file ./firmware/ipnc_rdk_fw_m3video.xem3 on slave procId 1.

    [host] After Ipc_startcallback status [0x00000000]

    [host] Started slave procId 1.


    [host] After Ipc_loadcallback status [0x00000000]
    [m3video] -----VIDEO-----main ---------------
    [m3vpss ] 2132: SYSTEM: Attaching to [DSP] ...

    2.选中A8后,点击Resume,A8可以正常运行,不会提示报错。

    3.选中M3后,点击Resume,M3不能正常运行,提示报错信息如下。

    4.选中另一个M3后,点击Resume,M3不能正常运行,提示报错信息如下。

  • http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/58216.aspx

    参考一下这个吧,看看M3上程序停在什么地方,是否有规律。

    而且你只有一块板子这样的话 ,硬件关系大。

    看看这个板子上面焊接的芯片料号是否和其他的有所不同? 看看芯片电压是否偏低、噪声怎么样。

    M3加载的时候相当于把芯片很多模块同时都跑起来了,对电源要求还是有一点的。以前也见过几例电源相关的死机案列。

  • 非常感谢你的回复,关于死机的问题我也是怀疑硬件的可能性大一点。

    我现在先用仿真器调试一下M3的程序,不懂的再向您请教。之前就有调试到只要调用了/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/main_app/src路径下文件里

    BIOS_start()函数就会出现死机的现象。但是BIOS_start()函数的具体实现是在编译后生成的某个文件里,在里面添加打印信息无效,不知道用CCS调试会怎么样。

    再次感谢你。

  • 我是这个项目的硬件开发人员,死机的板子DM8127的各种电源和正常的板子的各种电源都是一样,噪声这个问题应该不会影响M3的功能运行吧?对比了一下死机板子和正常板子对于电流的消耗情况发现死机板子在启动过程中运行到M3初始化的时候整机的电流消耗从0.6A左右一下冲到了1A,但是正常板子是从0.5A左右冲到0.8A。