Intrinsic functions by GCC for enabling and disabling intrpt

OP #1174282
Rate this post
useful
not useful
Controller used :         AT91SAM7X256 Atmel controller

Platform for development: GCC (YAGARTO)

Problem statement:        I am trying to port a code written for IAR to
GCC. IAR provides intrinisic functions like __enable_interrupt() and
__disable_interrupt() for enabling and disabling interrupt. Does GCC
have any intrinsic functions like what IAR has.
#1174283
Rate this post
useful
not useful
Vinit Bidkar wrote:
> Controller used :         AT91SAM7X256 Atmel controller
>
> Platform for development: GCC (YAGARTO)
>
> Problem statement:        I am trying to port a code written for IAR to
> GCC. IAR provides intrinisic functions like __enable_interrupt() and
> __disable_interrupt() for enabling and disabling interrupt. Does GCC
> have any intrinsic functions like what IAR has.

You can use inline asm code, as example:

#define __disable_interrupt() asm volatile ("msr     CPSR_c, #0x9F")
#define __enable_interrupt() asm volatile ("msr     CPSR_c, #0x1F")

Note, the above code assumes you are running in system mode. You may
have to read the CPSR, change the I bit and then write it back to make
it perfectly general.

regards,
Giovanni
---
ChibiOS/RT http://chibios.sourceforge.net

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now