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

store register in fake memory address instead of reall address

hi
i use the code below to store a value in memory address 0xfffff400,but when i debug ,it sotored reverse in memory address 0xfffff408

AREA CODE,CODE,READonly

ENTRY

LDR R1,=0XAA0AA0FF
LDR R5,=0xfffff400
STR R1,[R5]

END

Parents
  • It's time to read the user manual of AT91SAM7X256.

    The address 0xFFFFF400 belongs to PIOA PIO_PER which is a write only register (PIO Enable Register) and directly affects the PIO_PSR (PIO Status Register) at address 0xFFFFF408.

    So writing to location at 0xFFFFF400 (PIO_PER) can change the values at 0xFFFFF408 (PIO_PSR) and reading back 0xFFFFF400 (PIO_PER) is unpredictable.

Reply
  • It's time to read the user manual of AT91SAM7X256.

    The address 0xFFFFF400 belongs to PIOA PIO_PER which is a write only register (PIO Enable Register) and directly affects the PIO_PSR (PIO Status Register) at address 0xFFFFF408.

    So writing to location at 0xFFFFF400 (PIO_PER) can change the values at 0xFFFFF408 (PIO_PSR) and reading back 0xFFFFF400 (PIO_PER) is unpredictable.

Children