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.

DM8168,内存1G改为2G



大家好:

版本是DVRRDK04.01.00.02,参考RDK里面的config_2G.bld修改了内存分配,现在的分配情况是:

后面的1G把linux,SR3,TILER都减小了,分出来一部分空间作为DSP的第二部分,然后在BIOS_c6xdsp.cfg里面把bss,rodata,neardata,stack,bss:taskStackSection,systemHeap都移到了DSP第二部分:

systemHeap是256M,stack是64M,bss:taskStackSection是66M,都比较大所有移到后面了,

不知道这些分段的关系,所以不知道合不合适。现在程序运行十几分钟左右就报错了:

[c6xdsp ]  77172: Assertion @ Line: 585 in links_common/ipcFramesIn/ipcFramesInLink_tsk.c: pListElem->frameBuf.phyAddr[0][0] == pFrameBuf->addr[0][0] : failed !!!

报错是在函数

Int32 IpcFramesInLink_putEmptyFrames(Utils_TskHndl * pTsk, UInt16 queId,FVID2_FrameList * pFrameBufList),

         UTILS_assert(pListElem->frameBuf.phyAddr[0][0] ==pFrameBuf->addr[0][0]);

应该是DSP释放Frame出错,我打印了地址:

[c6xdsp ]  1855137:IpcFramesInLink_putEmptyFrames:phyAddr[1008264]:addr[954f52d0]!!!

不知道出现的错误是不是DSP分的两段引起的,还是内存分配别的问题,请大家帮忙分析一下,谢谢!

  • 有人能给点意见吗?

  • 你好,

    dsp data2部分,不能直接使用,要调用通过创建一个remote heap来使用。

    请参考/dvr_rdk/mcfw/src_bios6/utils/src/utils_mem.c里面RemoteHeap相关代码。

  • Hi Chris:

    参考RDK里面的config_2G.bld配置之前,是参考config_1G_256MLinux.bld,前面1G按照config_1G_256MLinux.bld配置,后面1G给DSP用,是可以的。

    现在参考config_2G.bld配置,我在出错的地方加了打印,正常的时候是:

    [c6xdsp ] 885847:IpcFramesInLink_putEmptyFrames:phyAddr[9f7b8480]:addr[9f7b8480],arrayindex[657],arraysize[900]!!!
    [c6xdsp ] 885868:IpcFramesInLink_putEmptyFrames:phyAddr[9e16a480]:addr[9e16a480],arrayindex[658],arraysize[900]!!!
    [c6xdsp ] 885894:IpcFramesInLink_putEmptyFrames:phyAddr[9fe9c480]:addr[9fe9c480],arrayindex[659],arraysize[900]!!!
    [c6xdsp ] 885928:IpcFramesInLink_putEmptyFrames:phyAddr[9e4dc480]:addr[9e4dc480],arrayindex[660],arraysize[900]!!!
    [c6xdsp ] 885950:IpcFramesInLink_putEmptyFrames:phyAddr[9d3a2480]:addr[9d3a2480],arrayindex[661],arraysize[900]!!!
    [c6xdsp ] 885950:IpcFramesInLink_putEmptyFrames:phyAddr[9f0d4480]:addr[9f0d4480],arrayindex[662],arraysize[900]!!!
    [c6xdsp ] 885952:IpcFramesInLink_putEmptyFrames:phyAddr[9fb2a480]:addr[9fb2a480],arrayindex[663],arraysize[900]!!!
    [c6xdsp ] 886006:IpcFramesInLink_putEmptyFrames:phyAddr[9f446480]:addr[9f446480],arrayindex[664],arraysize[900]!!!
    [c6xdsp ] 886065:IpcFramesInLink_putEmptyFrames:phyAddr[a020e480]:addr[a020e480],arrayindex[665],arraysize[900]!!!
    [c6xdsp ] 886066:IpcFramesInLink_putEmptyFrames:phyAddr[9d714480]:addr[9d714480],arrayindex[666],arraysize[900]!!!
    [c6xdsp ] 886075:IpcFramesInLink_putEmptyFrames:phyAddr[9da86480]:addr[9da86480],arrayindex[667],arraysize[900]!!!
    [c6xdsp ] 886075:IpcFramesInLink_putEmptyFrames:phyAddr[9ddf8480]:addr[9ddf8480],arrayindex[668],arraysize[900]!!!
    [c6xdsp ] 886087:IpcFramesInLink_putEmptyFrames:phyAddr[9f7b8480]:addr[9f7b8480],arrayindex[669],arraysize[900]!!!
    [c6xdsp ] 886132:IpcFramesInLink_putEmptyFrames:phyAddr[9fe9c480]:addr[9fe9c480],arrayindex[670],arraysize[900]!!!
    [c6xdsp ] 886151:IpcFramesInLink_putEmptyFrames:phyAddr[9e16a480]:addr[9e16a480],arrayindex[671],arraysize[900]!!!
    [c6xdsp ] 886167:IpcFramesInLink_putEmptyFrames:phyAddr[9f0d4480]:addr[9f0d4480],arrayindex[672],arraysize[900]!!!

    看地址是在SR2里面。

    出错时候是,地址超出数组范围,不知道1008264指的是哪里:
    [c6xdsp ] 886183:IpcFramesInLink_putEmptyFrames:phyAddr[1008264]:addr[1008264],arrayindex[-32701421],arraysize[900]!!!
    [c6xdsp ] 886184:IpcFramesInLink_putEmptyFrames:phyAddr2[1008264]:addr2[953c6434],arrayindex2[-32701421],arraysize2[900]!!!



  • Chu HL,

    请问你修改bld后,DSP上相关DDR的cache配置是否有做相应的调整?如果没有,请参考下面的分享帖。

    如何修改DVR RDK/IPNC RDK Memory Map
    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/104139.aspx

  • Hi Chris:

    我在bld里面增加了DSP2的部分,

    ["DSP_DATA_MEM2", {
    comment : "DSP_DATA_MEM2",
    name : "DSP_DATA_MEM2",
    base : DSP_DATA_ADDR2,
    len : DSP_DATA_SIZE2
    }],

    ["DSP_DATA_MEM2", {
    comment : "DDR3_DSP2",
    name : "DDR3_DSP2",
    base : DSP_DATA_ADDR2,
    len : DSP_DATA_SIZE2
    }],

    FC_RMAN_IRES_c6xdsp.cfg里面现在是:


  • 你好,

    请问你的dsp cfg文件里面是否有下面的代码,下面这几块区域在dsp侧不应该被cache。

    var CacheDisableRegions = ["SR0","REMOTE_DEBUG_MEM", "ETH_OFFLOAD"];
    DisableMARBits(CacheDisableRegions, Cache);

  • Hi Chris:

    有那两行代码

  • Chu HL,

    你能否将DSP的L2RAM全部配置为RAM而没有cache。这样看看是否有dsp cache配置导致的问题,还是其他导致的?

  • Hi Chris:

    bld文件里有

    ["DSP_L2_RAM", {
    comment: "DSP_L2_RAM",
    name: "DSP_L2_RAM",
    base: 0x10800000,
    len: 0x00020000
    }],

    要去掉?

  • 请参考下面的信息,把cache大小配置为0

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

    6. 如果要修改DSP的cache
        a. 请修改bld文件
        customMemoryMap:
        [
        ... (省略若干代码)
            ["DSP_L2_RAM", {
                comment: "DSP_L2_RAM",
                name: "DSP_L2_RAM",
                base: 0x10800000,
                len:  0x00020000   -->配置DSP L2为RAM的大小            
            }],
        ],
        l1PMode: "32k",
        l1DMode: "32k",
        l2Mode:  "128k"           -->配置DSP L2为Cache的大小。注意:L2 RAM + L2 cache的总容量要和DSP L2的大小一致
        };

  • Hi Chris:

    是这样吗:

    [

        ["DSP_L2_RAM", {
        comment: "DSP_L2_RAM",
        name: "DSP_L2_RAM",
        base: 0x10800000,
        len: 0x00040000
        }],

    ],
    l1PMode: "32k",
    l1DMode: "32k",
    l2Mode: "0k"

    没看到DSP L2大小。

  • Chu Hl,

    是的,请这样先尝试一下,看看是否会影响结果。

  • Hi Chris:

    现在程序运行一点时间有两种现象,最后都没打印前面说的两个地址不相等:

    1)HDMI接口连的显示器画面卡住,串口打印还可以操作,打印的是网页点播请求不到数据那些。

    streamRecvProc:decodeSwitchDone = FALSE这句是给解码器传数据之前申请不到buffer的打印。

    [c6xdsp ] 27907303:IpcFramesInLink_putEmptyFrames:phyAddr[9bad4480]:addr[9bad4480],arrayindex[478],arraysize[900]!!!
    [c6xdsp ] 27907323:IpcFramesInLink_putEmptyFrames:phyAddr[9c52a480]:addr[9c52a480],arrayindex[479],arraysize[900]!!!
    [c6xdsp ] 27907325:IpcFramesInLink_putEmptyFrames:phyAddr[9a7f8480]:addr[9a7f8480],arrayindex[480],arraysize[900]!!!
    RTSPClientSession::incomingRequestHandler1() session not active - deleting
    RTSP Tx -> <--- ~VideoOpenFileSource -->
    RTSPClientSession::incomingRequestHandler1() session not active - deleting
    RTSP Tx -> <--- ~VideoOpenFileSource -->


    ---------- Time Elapsed - 27900070 msecs----------
    (W) - 3986 4003 , 24 24
    Total Kbps: 7989 Total Fps: 48

    Tx - 0 0 , 0 0
    Tx (Dropped) - 0 0 , 0 0
    Tx - Total Kbps: 0 Sent / 0 Dropped Total Fps: 0 Sent / 0 Dropped
    streamRecvProc:decodeSwitchDone = FALSE
    RTSP Tx -> accept()ed connection from 192.168.1.72
    RTSP Tx -> creating RTSPClientSession for 192.168.1.72 (session 1)
    RTSP Tx -> accept()ed connection from 192.168.1.72
    RTSP Tx -> creating RTSPClientSession for 192.168.1.72 (session 1)
    RTSP Tx -> <--- new VideoOpenFileSource -->
    RTSP Tx -> <--- VideoOpenFileSource -->
    RTSP Tx -> <--- new VideoOpenFileSource -->
    RTSP Tx -> <--- VideoOpenFileSource -->
    RTSP Tx -> In WaitVideoStart for Ch 0
    WaitVideoStart GetAVData Ch=0 bufId=-1
    WaitVideoStart GetAVData Ch=0 bufId=-1
    WaitVideoStart GetAVData Ch=0 bufId=-1

    2)HDMI接口连的显示器黑屏,串口打印不能操作,前面还是我加的打印,突然就卡死了。

    [c6xdsp ] 5502138:IpcFramesInLink_putEmptyFrames:phyAddr[9cad4480]:addr[9cad4480],arrayindex[362],arraysize[900]!!!
    [c6xdsp ] 5502148:IpcFramesInLink_putEmptyFrames:phyAddr[9b114480]:addr[9b114480],arrayindex[363],arraysize[900]!!!
    [c6xdsp ] 5502186:IpcFramesInLink_putEmptyFrames:phyAddr[9b486480]:addr[9b486480],arrayindex[364],arraysize[900]!!!


  • Chu HL,

    不使能cache会导致DSP运行缓慢,你能否减少dsp的 运算量,保证系统正常运行?

    目前至少没有报之前的错,建议你还是再看看cache部分的配置,在运行过程中读取MAR寄存器的值,看和预先设想的是否一致。

  • Hi Chris:

    没有cache太慢了肯定不行,不知道哪里设置的DSP L2的大小,还有TMS320C674x DSP Cache User's Guide在哪能找到?

  • hl chu 说:
    不知道哪里设置的DSP L2的大小

    芯片的DSP的L2的大小是固定的,不能修改,你能修改的是L2里面多少配置为L2 RAM, 多少配置为L2 cache。

    hl chu 说:
    TMS320C674x DSP Cache User's Guide在哪能找到?

    www.ti.com

  • Hi Chris:

    请你看看以前的配置有没有问题?

    __raw_writel(0x0, DMM_LISA_MAP__0);
    __raw_writel(0x0, DMM_LISA_MAP__1);
    __raw_writel(0x80640300, DMM_LISA_MAP__2);
    __raw_writel(0xC0640320, DMM_LISA_MAP__3);

    2)还有个问题,创建link之前有判断:

    if (tilerEnable == FALSE)
    {
    /* Disable tiler allocator for this usecase
    * for that tiler memory can be reused for
    * non-tiled allocation
    */
    SystemTiler_disableAllocator();
    }

    执行到后面vpssM3有异常,我把SystemTiler_disableAllocator();屏蔽了,这样有影响吗?

  • Hi Chris:

    有时候会出现这种错误:

     [c6xdsp ]  1100: Assertion @ Line: 39 in links_common/system/system_ipc_notify.c: System_getSelfProcId() == linkProcId : failed !!!

    然后我在System_ipcNotifyHandler里面加了打印:

    System_ipcNotifyHandler是初始化的时候System_ipcNotifyInit里面调用的,现在程序运行了一段时间了不知道为什么又到这里


  • 请提供在运行过程中读取MAR寄存器的值,看和预先设想的是否一致。

  • Hi Chris:

    请问怎么读取MAR寄存器的值?

  • Chu HL,

    MAR寄存器的地址可以在TMS320C674x DSP Megamodule Reference Guide文档里找到。

  • Hi Chris:

    我在串口终端用命令:./bin/mem_rdwr.out --rd 01848000 256

    结果是:Unhandled fault: Precise External Abort on non-linefetch (0x1018) at 0x01848000

    Bus error

  • Chu HL,

    这个地址需要DSP核去访问。

  • Hi Chris:

    有什么函数可以用吗

  • Chu,

    在DSP侧添加代码读取寄存器值后,用vps_printf/vps_printk打印到A8端。

  • Hi Chris:

    我在DSP里处理数据的函数加了打印:

    [c6xdsp ] 55942:MAR[0]:addr[1848000]value[1]
    [c6xdsp ] 55942:MAR[1]:addr[1848004]value[0]
    [c6xdsp ] 55942:MAR[2]:addr[1848008]value[0]
    [c6xdsp ] 55942:MAR[3]:addr[184800c]value[0]
    [c6xdsp ] 55942:MAR[4]:addr[1848010]value[0]
    [c6xdsp ] 55943:MAR[5]:addr[1848014]value[0]
    [c6xdsp ] 55943:MAR[6]:addr[1848018]value[0]
    [c6xdsp ] 55943:MAR[7]:addr[184801c]value[0]
    [c6xdsp ] 55943:MAR[8]:addr[1848020]value[0]
    [c6xdsp ] 55943:MAR[9]:addr[1848024]value[0]
    [c6xdsp ] 55943:MAR[10]:addr[1848028]value[0]
    [c6xdsp ] 55943:MAR[11]:addr[184802c]value[0]
    [c6xdsp ] 55943:MAR[12]:addr[1848030]value[0]
    [c6xdsp ] 55943:MAR[13]:addr[1848034]value[0]
    [c6xdsp ] 55943:MAR[14]:addr[1848038]value[0]
    [c6xdsp ] 55943:MAR[15]:addr[184803c]value[0]
    [c6xdsp ] 55943:MAR[16]:addr[1848040]value[0]
    [c6xdsp ] 55943:MAR[17]:addr[1848044]value[0]
    [c6xdsp ] 55943:MAR[18]:addr[1848048]value[0]
    [c6xdsp ] 55943:MAR[19]:addr[184804c]value[0]
    [c6xdsp ] 55943:MAR[20]:addr[1848050]value[0]
    [c6xdsp ] 55943:MAR[21]:addr[1848054]value[0]
    [c6xdsp ] 55943:MAR[22]:addr[1848058]value[0]
    [c6xdsp ] 55943:MAR[23]:addr[184805c]value[0]
    [c6xdsp ] 55943:MAR[24]:addr[1848060]value[0]
    [c6xdsp ] 55943:MAR[25]:addr[1848064]value[0]
    [c6xdsp ] 55943:MAR[26]:addr[1848068]value[0]
    [c6xdsp ] 55943:MAR[27]:addr[184806c]value[0]
    [c6xdsp ] 55943:MAR[28]:addr[1848070]value[0]
    [c6xdsp ] 55943:MAR[29]:addr[1848074]value[0]
    [c6xdsp ] 55943:MAR[30]:addr[1848078]value[0]
    [c6xdsp ] 55943:MAR[31]:addr[184807c]value[0]
    [c6xdsp ] 55943:MAR[32]:addr[1848080]value[0]
    [c6xdsp ] 55944:MAR[33]:addr[1848084]value[0]
    [c6xdsp ] 55944:MAR[34]:addr[1848088]value[0]
    [c6xdsp ] 55944:MAR[35]:addr[184808c]value[0]
    [c6xdsp ] 55944:MAR[36]:addr[1848090]value[0]
    [c6xdsp ] 55944:MAR[37]:addr[1848094]value[0]
    [c6xdsp ] 55944:MAR[38]:addr[1848098]value[0]
    [c6xdsp ] 55944:MAR[39]:addr[184809c]value[0]
    [c6xdsp ] 55944:MAR[40]:addr[18480a0]value[0]
    [c6xdsp ] 55944:MAR[41]:addr[18480a4]value[0]
    [c6xdsp ] 55944:MAR[42]:addr[18480a8]value[0]
    [c6xdsp ] 55944:MAR[43]:addr[18480ac]value[0]
    [c6xdsp ] 55944:MAR[44]:addr[18480b0]value[0]
    [c6xdsp ] 55944:MAR[45]:addr[18480b4]value[0]
    [c6xdsp ] 55944:MAR[46]:addr[18480b8]value[0]
    [c6xdsp ] 55944:MAR[47]:addr[18480bc]value[0]
    [c6xdsp ] 55944:MAR[48]:addr[18480c0]value[0]
    [c6xdsp ] 55944:MAR[49]:addr[18480c4]value[0]
    [c6xdsp ] 55944:MAR[50]:addr[18480c8]value[0]
    [c6xdsp ] 55944:MAR[51]:addr[18480cc]value[0]
    [c6xdsp ] 55944:MAR[52]:addr[18480d0]value[0]
    [c6xdsp ] 55944:MAR[53]:addr[18480d4]value[0]
    [c6xdsp ] 55944:MAR[54]:addr[18480d8]value[0]
    [c6xdsp ] 55944:MAR[55]:addr[18480dc]value[0]
    [c6xdsp ] 55944:MAR[56]:addr[18480e0]value[0]
    [c6xdsp ] 55944:MAR[57]:addr[18480e4]value[0]
    [c6xdsp ] 55944:MAR[58]:addr[18480e8]value[0]
    [c6xdsp ] 55944:MAR[59]:addr[18480ec]value[0]
    [c6xdsp ] 55944:MAR[60]:addr[18480f0]value[0]
    [c6xdsp ] 55944:MAR[61]:addr[18480f4]value[0]
    [c6xdsp ] 55945:MAR[62]:addr[18480f8]value[0]
    [c6xdsp ] 55945:MAR[63]:addr[18480fc]value[0]
    [c6xdsp ] 55945:MAR[64]:addr[1848100]value[0]
    [c6xdsp ] 55945:MAR[65]:addr[1848104]value[0]
    [c6xdsp ] 55945:MAR[66]:addr[1848108]value[0]
    [c6xdsp ] 55945:MAR[67]:addr[184810c]value[0]
    [c6xdsp ] 55945:MAR[68]:addr[1848110]value[0]
    [c6xdsp ] 55945:MAR[69]:addr[1848114]value[0]
    [c6xdsp ] 55945:MAR[70]:addr[1848118]value[0]
    [c6xdsp ] 55945:MAR[71]:addr[184811c]value[0]
    [c6xdsp ] 55945:MAR[72]:addr[1848120]value[0]
    [c6xdsp ] 55945:MAR[73]:addr[1848124]value[0]
    [c6xdsp ] 55945:MAR[74]:addr[1848128]value[0]
    [c6xdsp ] 55945:MAR[75]:addr[184812c]value[0]
    [c6xdsp ] 55945:MAR[76]:addr[1848130]value[0]
    [c6xdsp ] 55945:MAR[77]:addr[1848134]value[0]
    [c6xdsp ] 55945:MAR[78]:addr[1848138]value[0]
    [c6xdsp ] 55945:MAR[79]:addr[184813c]value[0]
    [c6xdsp ] 55945:MAR[80]:addr[1848140]value[0]
    [c6xdsp ] 55945:MAR[81]:addr[1848144]value[0]
    [c6xdsp ] 55945:MAR[82]:addr[1848148]value[0]
    [c6xdsp ] 55945:MAR[83]:addr[184814c]value[0]
    [c6xdsp ] 55945:MAR[84]:addr[1848150]value[0]
    [c6xdsp ] 55945:MAR[85]:addr[1848154]value[0]
    [c6xdsp ] 55945:MAR[86]:addr[1848158]value[0]
    [c6xdsp ] 55945:MAR[87]:addr[184815c]value[0]
    [c6xdsp ] 55945:MAR[88]:addr[1848160]value[0]
    [c6xdsp ] 55945:MAR[89]:addr[1848164]value[0]
    [c6xdsp ] 55945:MAR[90]:addr[1848168]value[0]
    [c6xdsp ] 55946:MAR[91]:addr[184816c]value[0]
    [c6xdsp ] 55946:MAR[92]:addr[1848170]value[0]
    [c6xdsp ] 55946:MAR[93]:addr[1848174]value[0]
    [c6xdsp ] 55946:MAR[94]:addr[1848178]value[0]
    [c6xdsp ] 55946:MAR[95]:addr[184817c]value[0]
    [c6xdsp ] 55946:MAR[96]:addr[1848180]value[0]
    [c6xdsp ] 55946:MAR[97]:addr[1848184]value[0]
    [c6xdsp ] 55946:MAR[98]:addr[1848188]value[0]
    [c6xdsp ] 55946:MAR[99]:addr[184818c]value[0]
    [c6xdsp ] 55946:MAR[100]:addr[1848190]value[0]
    [c6xdsp ] 55946:MAR[101]:addr[1848194]value[0]
    [c6xdsp ] 55946:MAR[102]:addr[1848198]value[0]
    [c6xdsp ] 55946:MAR[103]:addr[184819c]value[0]
    [c6xdsp ] 55946:MAR[104]:addr[18481a0]value[0]
    [c6xdsp ] 55946:MAR[105]:addr[18481a4]value[0]
    [c6xdsp ] 55946:MAR[106]:addr[18481a8]value[0]
    [c6xdsp ] 55946:MAR[107]:addr[18481ac]value[0]
    [c6xdsp ] 55946:MAR[108]:addr[18481b0]value[0]
    [c6xdsp ] 55946:MAR[109]:addr[18481b4]value[0]
    [c6xdsp ] 55946:MAR[110]:addr[18481b8]value[0]
    [c6xdsp ] 55946:MAR[111]:addr[18481bc]value[0]
    [c6xdsp ] 55946:MAR[112]:addr[18481c0]value[0]
    [c6xdsp ] 55946:MAR[113]:addr[18481c4]value[0]
    [c6xdsp ] 55946:MAR[114]:addr[18481c8]value[0]
    [c6xdsp ] 55946:MAR[115]:addr[18481cc]value[0]
    [c6xdsp ] 55946:MAR[116]:addr[18481d0]value[0]
    [c6xdsp ] 55946:MAR[117]:addr[18481d4]value[0]
    [c6xdsp ] 55946:MAR[118]:addr[18481d8]value[0]
    [c6xdsp ] 55947:MAR[119]:addr[18481dc]value[0]
    [c6xdsp ] 55947:MAR[120]:addr[18481e0]value[0]
    [c6xdsp ] 55947:MAR[121]:addr[18481e4]value[0]
    [c6xdsp ] 55947:MAR[122]:addr[18481e8]value[0]
    [c6xdsp ] 55947:MAR[123]:addr[18481ec]value[0]
    [c6xdsp ] 55947:MAR[124]:addr[18481f0]value[0]
    [c6xdsp ] 55947:MAR[125]:addr[18481f4]value[0]
    [c6xdsp ] 55947:MAR[126]:addr[18481f8]value[0]
    [c6xdsp ] 55947:MAR[127]:addr[18481fc]value[0]
    [c6xdsp ] 55947:MAR[128]:addr[1848200]value[1]
    [c6xdsp ] 55947:MAR[129]:addr[1848204]value[1]
    [c6xdsp ] 55947:MAR[130]:addr[1848208]value[1]
    [c6xdsp ] 55947:MAR[131]:addr[184820c]value[1]
    [c6xdsp ] 55947:MAR[132]:addr[1848210]value[1]
    [c6xdsp ] 55947:MAR[133]:addr[1848214]value[1]
    [c6xdsp ] 55947:MAR[134]:addr[1848218]value[1]
    [c6xdsp ] 55947:MAR[135]:addr[184821c]value[1]
    [c6xdsp ] 55947:MAR[136]:addr[1848220]value[1]
    [c6xdsp ] 55947:MAR[137]:addr[1848224]value[1]
    [c6xdsp ] 55947:MAR[138]:addr[1848228]value[1]
    [c6xdsp ] 55947:MAR[139]:addr[184822c]value[1]
    [c6xdsp ] 55947:MAR[140]:addr[1848230]value[1]
    [c6xdsp ] 55947:MAR[141]:addr[1848234]value[1]
    [c6xdsp ] 55947:MAR[142]:addr[1848238]value[1]
    [c6xdsp ] 55947:MAR[143]:addr[184823c]value[1]
    [c6xdsp ] 55947:MAR[144]:addr[1848240]value[1]
    [c6xdsp ] 55947:MAR[145]:addr[1848244]value[1]
    [c6xdsp ] 55947:MAR[146]:addr[1848248]value[1]
    [c6xdsp ] 55948:MAR[147]:addr[184824c]value[1]
    [c6xdsp ] 55948:MAR[148]:addr[1848250]value[1]
    [c6xdsp ] 55948:MAR[149]:addr[1848254]value[1]
    [c6xdsp ] 55948:MAR[150]:addr[1848258]value[1]
    [c6xdsp ] 55948:MAR[151]:addr[184825c]value[1]
    [c6xdsp ] 55948:MAR[152]:addr[1848260]value[1]
    [c6xdsp ] 55948:MAR[153]:addr[1848264]value[1]
    [c6xdsp ] 55948:MAR[154]:addr[1848268]value[1]
    [c6xdsp ] 55948:MAR[155]:addr[184826c]value[1]
    [c6xdsp ] 55948:MAR[156]:addr[1848270]value[1]
    [c6xdsp ] 55948:MAR[157]:addr[1848274]value[1]
    [c6xdsp ] 55948:MAR[158]:addr[1848278]value[1]
    [c6xdsp ] 55948:MAR[159]:addr[184827c]value[1]
    [c6xdsp ] 55948:MAR[160]:addr[1848280]value[1]
    [c6xdsp ] 55948:MAR[161]:addr[1848284]value[1]
    [c6xdsp ] 55948:MAR[162]:addr[1848288]value[1]
    [c6xdsp ] 55948:MAR[163]:addr[184828c]value[1]
    [c6xdsp ] 55948:MAR[164]:addr[1848290]value[1]
    [c6xdsp ] 55948:MAR[165]:addr[1848294]value[1]
    [c6xdsp ] 55948:MAR[166]:addr[1848298]value[1]
    [c6xdsp ] 55948:MAR[167]:addr[184829c]value[1]
    [c6xdsp ] 55948:MAR[168]:addr[18482a0]value[1]
    [c6xdsp ] 55948:MAR[169]:addr[18482a4]value[1]
    [c6xdsp ] 55948:MAR[170]:addr[18482a8]value[1]
    [c6xdsp ] 55948:MAR[171]:addr[18482ac]value[1]
    [c6xdsp ] 55948:MAR[172]:addr[18482b0]value[1]
    [c6xdsp ] 55948:MAR[173]:addr[18482b4]value[1]
    [c6xdsp ] 55948:MAR[174]:addr[18482b8]value[1]
    [c6xdsp ] 55949:MAR[175]:addr[18482bc]value[1]
    [c6xdsp ] 55949:MAR[176]:addr[18482c0]value[1]
    [c6xdsp ] 55949:MAR[177]:addr[18482c4]value[1]
    [c6xdsp ] 55949:MAR[178]:addr[18482c8]value[1]
    [c6xdsp ] 55949:MAR[179]:addr[18482cc]value[1]
    [c6xdsp ] 55949:MAR[180]:addr[18482d0]value[1]
    [c6xdsp ] 55949:MAR[181]:addr[18482d4]value[1]
    [c6xdsp ] 55949:MAR[182]:addr[18482d8]value[1]
    [c6xdsp ] 55949:MAR[183]:addr[18482dc]value[1]
    [c6xdsp ] 55949:MAR[184]:addr[18482e0]value[1]
    [c6xdsp ] 55949:MAR[185]:addr[18482e4]value[1]
    [c6xdsp ] 55949:MAR[186]:addr[18482e8]value[1]
    [c6xdsp ] 55949:MAR[187]:addr[18482ec]value[1]
    [c6xdsp ] 55949:MAR[188]:addr[18482f0]value[1]
    [c6xdsp ] 55949:MAR[189]:addr[18482f4]value[1]
    [c6xdsp ] 55949:MAR[190]:addr[18482f8]value[0]
    [c6xdsp ] 55949:MAR[191]:addr[18482fc]value[0]
    [c6xdsp ] 55949:MAR[192]:addr[1848300]value[1]
    [c6xdsp ] 55949:MAR[193]:addr[1848304]value[1]
    [c6xdsp ] 55949:MAR[194]:addr[1848308]value[1]
    [c6xdsp ] 55949:MAR[195]:addr[184830c]value[1]
    [c6xdsp ] 55949:MAR[196]:addr[1848310]value[1]
    [c6xdsp ] 55949:MAR[197]:addr[1848314]value[1]
    [c6xdsp ] 55949:MAR[198]:addr[1848318]value[1]
    [c6xdsp ] 55949:MAR[199]:addr[184831c]value[1]
    [c6xdsp ] 55949:MAR[200]:addr[1848320]value[1]
    [c6xdsp ] 55949:MAR[201]:addr[1848324]value[1]
    [c6xdsp ] 55949:MAR[202]:addr[1848328]value[1]
    [c6xdsp ] 55950:MAR[203]:addr[184832c]value[1]
    [c6xdsp ] 55950:MAR[204]:addr[1848330]value[1]
    [c6xdsp ] 55950:MAR[205]:addr[1848334]value[1]
    [c6xdsp ] 55950:MAR[206]:addr[1848338]value[1]
    [c6xdsp ] 55950:MAR[207]:addr[184833c]value[1]
    [c6xdsp ] 55950:MAR[208]:addr[1848340]value[1]
    [c6xdsp ] 55950:MAR[209]:addr[1848344]value[1]
    [c6xdsp ] 55950:MAR[210]:addr[1848348]value[1]
    [c6xdsp ] 55950:MAR[211]:addr[184834c]value[1]
    [c6xdsp ] 55950:MAR[212]:addr[1848350]value[1]
    [c6xdsp ] 55950:MAR[213]:addr[1848354]value[1]
    [c6xdsp ] 55950:MAR[214]:addr[1848358]value[1]
    [c6xdsp ] 55950:MAR[215]:addr[184835c]value[1]
    [c6xdsp ] 55950:MAR[216]:addr[1848360]value[1]
    [c6xdsp ] 55950:MAR[217]:addr[1848364]value[1]
    [c6xdsp ] 55950:MAR[218]:addr[1848368]value[1]
    [c6xdsp ] 55950:MAR[219]:addr[184836c]value[1]
    [c6xdsp ] 55950:MAR[220]:addr[1848370]value[1]
    [c6xdsp ] 55950:MAR[221]:addr[1848374]value[1]
    [c6xdsp ] 55950:MAR[222]:addr[1848378]value[1]
    [c6xdsp ] 55950:MAR[223]:addr[184837c]value[1]
    [c6xdsp ] 55950:MAR[224]:addr[1848380]value[1]
    [c6xdsp ] 55950:MAR[225]:addr[1848384]value[1]
    [c6xdsp ] 55950:MAR[226]:addr[1848388]value[1]
    [c6xdsp ] 55950:MAR[227]:addr[184838c]value[1]
    [c6xdsp ] 55950:MAR[228]:addr[1848390]value[1]
    [c6xdsp ] 55950:MAR[229]:addr[1848394]value[1]
    [c6xdsp ] 55950:MAR[230]:addr[1848398]value[1]
    [c6xdsp ] 55951:MAR[231]:addr[184839c]value[1]
    [c6xdsp ] 55951:MAR[232]:addr[18483a0]value[1]
    [c6xdsp ] 55951:MAR[233]:addr[18483a4]value[1]
    [c6xdsp ] 55951:MAR[234]:addr[18483a8]value[1]
    [c6xdsp ] 55951:MAR[235]:addr[18483ac]value[1]
    [c6xdsp ] 55951:MAR[236]:addr[18483b0]value[1]
    [c6xdsp ] 55951:MAR[237]:addr[18483b4]value[1]
    [c6xdsp ] 55951:MAR[238]:addr[18483b8]value[1]
    [c6xdsp ] 55951:MAR[239]:addr[18483bc]value[1]
    [c6xdsp ] 55951:MAR[240]:addr[18483c0]value[1]
    [c6xdsp ] 55951:MAR[241]:addr[18483c4]value[1]
    [c6xdsp ] 55951:MAR[242]:addr[18483c8]value[1]
    [c6xdsp ] 55951:MAR[243]:addr[18483cc]value[1]
    [c6xdsp ] 55951:MAR[244]:addr[18483d0]value[1]
    [c6xdsp ] 55951:MAR[245]:addr[18483d4]value[1]
    [c6xdsp ] 55951:MAR[246]:addr[18483d8]value[1]
    [c6xdsp ] 55951:MAR[247]:addr[18483dc]value[1]
    [c6xdsp ] 55951:MAR[248]:addr[18483e0]value[1]
    [c6xdsp ] 55951:MAR[249]:addr[18483e4]value[1]
    [c6xdsp ] 55951:MAR[250]:addr[18483e8]value[1]
    [c6xdsp ] 55951:MAR[251]:addr[18483ec]value[1]
    [c6xdsp ] 55951:MAR[252]:addr[18483f0]value[1]
    [c6xdsp ] 55951:MAR[253]:addr[18483f4]value[1]
    [c6xdsp ] 55951:MAR[254]:addr[18483f8]value[1]
    [c6xdsp ] 55951:MAR[255]:addr[18483fc]value[1]


  • 请问你是否有检查MAR的设置和你预想的是否一致? 和你们的DSP使用的DDR配置是否一致?

  • Hi Chris:

    "SR0","REMOTE_DEBUG_MEM", "ETH_OFFLOAD"三部分分别对应MAR190,MAR191,MAR64的一部分,寄存器值都是0。

    但是不知道为什么MAR0的值变成了1.



  • Chu,

    L2 RAM被cache是没有问题的。

    下面的信息你可以在DM81xx_DVR_RDK_Memory_Map.pdf里面找到,请经SR0配置为DSP不cache。

    IPC MessageQ / ListMP (SR0) – Shared Region 0. This shared region is used to allocate memory for
    datastructures needed for interprocessor communication. This shared region is not cached on any of the
    processor cores.

  • Hi Chris:

    我的打印信息MAR190的值就是0,SR0是DSP不cache了吧

  • hl chu 说:
    前面1G按照config_1G_256MLinux.bld配置,后面1G给DSP用,是可以的。

    请问这种情况下后面1G里面放的是DSP的什么段?

  • Hi Chris:

    这种情况是把DSP_CODE和DSP_DATA全放到后面去了:

    DSP_CODE_SIZE =128*MB;
    DSP_DATA_SIZE =256*MB;
    DSP_DATA_SIZE2 =256*MB;

    DSP_CODE_ADDR =DDR3_ADDR +DDR3_SIZE/2;
    DSP_DATA_ADDR =DSP_CODE_ADDR + DSP_CODE_SIZE;
    DSP_DATA_ADDR2 =DSP_DATA_ADDR + DSP_DATA_SIZE;


  • systemHeap段分了256M,放在DSP_DATA_ADDR,别的在DSP_DATA_ADDR2。

  • 有问题的配置里面systemHeap是256M,stack是64M,bss:taskStackSection是66M。

    请问在没有问题的配置里面stack,bss:taskStackSection的大小也是和上面的一样么?