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部分寄存器要求cortex-a8在Supervisor模式下才能写



DM8127有些寄存器要求cortex-a8在Supervisor模式下才能写,如control module寄存器,但我修改工作状态寄存器CPSR将ARM配置为Supervisor Mode,但这些寄存器还是写不了,求助!!!

  • Han Weikun,

    下面是DM8148_EVM.gel的内容,可以看到这仿真器连上的时候,是可以操作control module的寄存器的。

    OnTargetConnect()
    {
        GEL_TextOut( "\nConnecting Target...\n" );

        GEL_Reset();
        ALL_ADPLL_CLOCKS_ENABLE_API();
        C674xClkEnable_API();

    。。。

      C674xClkEnable()
    {
        unsigned int i=0, k=0, fail=0;

        GEL_TextOut("\tPRCM for C674x is in Progress, Please wait.....  \n","Output",1,1,1);                                         

        /*Cortex A8 must be in Supervisor Mode to Access the following two registers*/
        WR_MEM_32(DSPBOOTADDR,             0x00800000); /*DSPBOOT ADDRESS*/
        
        GEL_TextOut("\t CP0...Done \n");

    。。

  • Chris Meng ,

    gel文件里配置的恰好是默认值,我把值换成其他值或者添加一个配置其他寄存器的语句,这些寄存器的值是没有发生变化的,所以我觉得现在gel文件也写不了这些寄存器。

  • Han Weikun,

    你有尝试用gel来修改control module里面的PINCNTL么?

  • Chris Meng ,

    gel文件里的寄存器恰好配置的是默认值,我尝试过改成其他值或者配置一个其他寄存器,发现这些寄存器的值是没有变化的,所以我怀疑现在我的工程里gel文件也不能写这些寄存器。

  • Chris Meng,

    说实话,我现在就是配置PINCNTL才发现这个问题的,我现在就是配置不了PINCNTL,用不了GPIO,但在DSP工程里能行,我现在就是先用DSP程序配置的,先调着,但这个问题还是得解决。

  • Han Weikun,

    不应该啊,我们都是用gel来修改pinmux的。

    你能把你使用gel修改pinmux不成功的gel发给我看看么?

  • Chris Meng,

    谢谢你的帮助,确实如你所说,用gel文件能修改,我当时gel文件的路径加载错了……

    另外,通过修改状态寄存器CPSR将cortex-a8配成Supervisor Mode也能写这些寄存器了,不过那次我确实试了一下午都不行,现在行了,搞不清怎么回事,也许是电脑或CCS的原因吧。