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.

Omap L138 drain write buffer

Other Parts Discussed in Thread: OMAPL138

Hello,

I have enabled the Instruction and Data caches on an OMAPL138 evaluation board and now I'm trying to use the "drain write buffer" instruction with this lines of code :

    asm("    mov r0, #0 \n "
            " MRC p15, #0, r0, c7, c10, #4");

But when I execute them the processor jump to the address 0xFFFF0004 which seems to be the address of the "Undefined Instructions Interrupt".

Does anyone have an idea why this instruction doesn't work ?

Best regards

Arthur

  • Hi Arthur,

    Thanks for your post.

    I don't think, there are instruction like MRC in C674x DSP CPU and Instruction Set, instead, i could find instructions like  MVC etc. Please check the C674x DSP CPU and Instruction Set reference guide as below:

    http://www.ti.com/lit/ug/sprufe8b/sprufe8b.pdf (please refer page no.15, Appendix B, Mapping between instruction and functional unit)

    Because of non-availability of above mentioned instruction, i guess, you are getting like "Undefined Insructions Interrupt". Please check the above instruction reference guide.

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------
    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

     

  • Hi Sivaraj K,

    Thank you for your answer.

    I forgot to specify that I am working on the ARM core of the OMAPL138.

    And according to the documentation of the ARM926EJ-S processor which is the ARM CORE of the OMAPL138 :

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0198e/DDI0198E_arm926ejs_r0p5_trm.pdf

    chapters 2, 3 and 4, I have to use the "MRC p15, #0, r0, c7, c10, #4" instruction to drain the write buffer.

    Best regards

    Arthur