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

Disabling Interrupts in the ARM core

I have tried to globally disable interrupts using the assembly defines mentioned in the Keil note about nested interrupts.
http://www.keil.com/support/docs/2910.htm

When I try to call IENABLE or IDISABLE I get assembler errors associated with the MRS LR op-code.

Has anyone gotten this to work? Is there an alternative method to globally diasabling interrupts in the Keil environment?

Rich

Parents
  • In the LPX210x.H file that I have the SPI SPSR register is defined as follows:

    /* SPI (Serial Peripheral Interface) */
    #define SPI_SPCR       (*((volatile unsigned char *) 0xE0020000))
    #define SPI_SPSR       (*((volatile unsigned char *) 0xE0020004))
    #define SPI_SPDR       (*((volatile unsigned char *) 0xE0020008))
    #define SPI_SPCCR      (*((volatile unsigned char *) 0xE002000C))
    #define SPI_SPTCR      (*((volatile unsigned char *) 0xE0020010))
    #define SPI_SPTSR      (*((volatile unsigned char *) 0xE0020014))
    #define SPI_SPTOR      (*((volatile unsigned char *) 0xE0020018))
    #define SPI_SPINT      (*((volatile unsigned char *) 0xE002001C))
    

    Is yours defined differently than that?

    You can download this file from http://www.keil.com/dd/chip/3483.htm.

    Jon

Reply
  • In the LPX210x.H file that I have the SPI SPSR register is defined as follows:

    /* SPI (Serial Peripheral Interface) */
    #define SPI_SPCR       (*((volatile unsigned char *) 0xE0020000))
    #define SPI_SPSR       (*((volatile unsigned char *) 0xE0020004))
    #define SPI_SPDR       (*((volatile unsigned char *) 0xE0020008))
    #define SPI_SPCCR      (*((volatile unsigned char *) 0xE002000C))
    #define SPI_SPTCR      (*((volatile unsigned char *) 0xE0020010))
    #define SPI_SPTSR      (*((volatile unsigned char *) 0xE0020014))
    #define SPI_SPTOR      (*((volatile unsigned char *) 0xE0020018))
    #define SPI_SPINT      (*((volatile unsigned char *) 0xE002001C))
    

    Is yours defined differently than that?

    You can download this file from http://www.keil.com/dd/chip/3483.htm.

    Jon

Children