This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Writing ARM application containing both C code and assemply code

Note: This was originally posted on 6th September 2007 at http://forums.arm.com

Hi I need to put one ARM instruction in ARM application written in C.
Basically my application looks like
void main(void)
{
  ................
   ................
   enable_IRQ();
   program_dma();   /* programs DMA with st address, dest addr, xfer length etc and enables DMA*/
   /* Here I want to put a ARM instruction(assembly) */
   ..............
}

Extra information:
            After enabling DMA, I want to execute WaitForInterrupt instruction by doing

MCR p15, 0, Rd, c7, c0, 4

Since this is C code I cant directly put that instruction( I guess).
Can you tell me how can I put that MCR instruction in my C code
Parents
  • Note: This was originally posted on 14th September 2007 at http://forums.arm.com

    Looks like ARM7 does not support Thumb 2 - is there any equivalent fucntionality on ARM7 or do I require external circuitry to go into a low power mode?


    ARM7 definitely does not support Thumb-2.  It is only available in the newer cores (e.g. ARM1156T2-S, and most of the Cortex family processors.)

    You ought to read the technical documentation that comes for your processor.  That should tell you the instruction you need to issue to achieve your goal.  The equivalent MCR instruction that does a WaitForInterrupt on cores earlier than Cortex is shown above, but you'll need to check your processor's technical documentation to check if it's correct.
Reply
  • Note: This was originally posted on 14th September 2007 at http://forums.arm.com

    Looks like ARM7 does not support Thumb 2 - is there any equivalent fucntionality on ARM7 or do I require external circuitry to go into a low power mode?


    ARM7 definitely does not support Thumb-2.  It is only available in the newer cores (e.g. ARM1156T2-S, and most of the Cortex family processors.)

    You ought to read the technical documentation that comes for your processor.  That should tell you the instruction you need to issue to achieve your goal.  The equivalent MCR instruction that does a WaitForInterrupt on cores earlier than Cortex is shown above, but you'll need to check your processor's technical documentation to check if it's correct.
Children
No data