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.

关于6678调试的问题

最近刚开始进行6678的开发,之前有单核DSP开发的经验,现在多核开发碰到以下问题,汪解答:

现在希望能够同时调试两个核的程序,但是如果两个核都跑独立的工程,会导致连接一个核时必须断开另外一个核,就无法观察核间交互式时的另外一个核的状态。
但是如果放在同一个工程里面,用SWITH(DNUM)隔开,会导致以下情况发生:1.无法使用多个中断向量表。2.代码下载段会比较大。请问怎么解决。

还有,调试过程中发现,CCS5.4下按下debug键时之前会提示选择加载哪几个核,后来不知道为什么选择核的那个对话框不再弹出了,是哪里设置不对吗?如下图:

  • 不太明白你的情况,多核调试可以连接几个核同时调试的,你可以运行core 0的同时观察core 1的内容,反之亦然。

  • 现在情况是这样的,我想让两个核跑两个不同的程序,也使用两个不同的中断向量表,

  • 现在情况是这样的,我想让两个核跑两个不同的程序,也使用两个不同的中断向量表,为了达到这个目的,我目前知道的可能的方法只有两个:

    1.是把两个核的源码放在两个工程里面,但是这样的话调试的时候不能同时调试两个核。

    2.是把两个源码放在一个工程里面,通过读取寄存器来判定是哪个核再运行对应的核的程序就是

    main{

    swith(NUM)

    {

    case 0:

    case 1:

    }

    }

    这样的话没法使用两个中断向量表啊……

    还有,上面的那个图中的对话框之前能够弹出,现在我怎么设置CCS也不能再见到这个对话框了,我想见到它请问怎么办?

    谢谢!

  • 现在情况是这样的,我想让两个核跑两个不同的程序,也使用两个不同的中断向量表,为了达到这个目的,我目前知道的可能的方法只有两个:

    1.是把两个核的源码放在两个工程里面,但是这样的话调试的时候不能同时调试两个核。

    2.是把两个源码放在一个工程里面,通过读取寄存器来判定是哪个核再运行对应的核的程序就是

    main{

    swith(NUM)

    {

    case 0:

    case 1:

    }

    }

    这样的话没法使用两个中断向量表啊……

    还有,上面的那个图中的对话框之前能够弹出,现在我怎么设置CCS也不能再见到这个对话框了,我想见到它请问怎么办?

    谢谢!

  • 设置挂接中断,直接在每个核上初始化部分调用CSL就可以了,使用两个中断向量表是啥意思?

    Best Regards

    William.dong@enea.com

  • 谢谢回答!我想在不同的核里面配不同的asm文件(一般不用csl),利用在工程里面包含两个asm文件,然后放在不同的地址里面,核中断初始化时把中断向量表地址寄存器指到对应的地址。但是现实是残酷的……编译不通过(因为vectors重定义)。还有……把不同的核的程序放在同一个工程下会导致编译的 代码段 比较庞大,对寸土寸金的dsp内存来说是浪费啊……可是核之间放多个工程又不方便调试……有没有更好的处理方法?例如:为每个核建不同的工程,同时在一个核里面下载调试一个工程时,也可以同时下载调试另外一个核的另外一个工程……