EQuestionAnswers.com Computer/Electronics Questions and Answers
C, C++, VC++, COM/DCOM, DLL and more
#Login #Sign up  Facebook Twitter TGoogle+
 

#Previous Topic #Index #Next Topic

ARM is Advanced RISC Machine. It has total 16 registers named as r0 to r15. r0 to r7 and r15 are general purpose registers and available for all processor modes. These registers are also called non-banked registers. r8-r14 are special registers and mode dependent registers. These registers are banked registers.

  • r15 is program counter.
  • r14-link register
  • r13-stack pointer
  • CPSR-Current Program Status Register
  • SPSR-Saved Program Status Registers

ARM has modes of operations-

  1. Normal (System & User)
  2. FIQ Fast Interrupt Request
  3. Supervisor Protected mode in Operating System
  4. Abort Data or Instruction Prefetch abort
  5. IRQ- Interrupt Request
  6. Undefined -Undefined execution state

ARM CPU registers

Considering all modes and banked registers ARM has 37 registers in totality.

Now we will discuss about the instructions which are involved in read and write operations. ARM has load and store architecture for memory read write. Instructions like LOAD(B/W/L) and STR(B/W/L) are used. For immediate data movement ARM uses move(MOV) instruction. Say 0x10000000 is the address and we are reading a byte -

unsigned char *read_p = 0x10000000;
val = *read_p;

mov      r0,#0x10000000
ldrb     r6,[r0,#0]

Writing value to the address-

unsigned char *write_p = 0x10000000;
*write_p = val;
mov      r0,#0x10000000
strb     r6,[r0,#0]

You have viewed 1 page out of 14. Your learning is 0.00% complete. Login to check your learning progress.

 Vote 0

Similar topics related to this section

Altera FPGA interfacing ARM, ARM CPU internals, ARM CPU, Cache Memory and MMU, ARM bus hierarchy, ARM data, address and control lines, ARM MMIO read, ARM MMIO write, FPGA interfacing with system bus, VHDL/Verilog program, ADS C Code, Linux Direct MMIO App, Linux Device Driver, Linux Application code, Final Demo,

* #1 webmaster Tue 15 Apr/2014 04:15:22(GMT)  Like 0 Unlike 0

Dear Users,

We are pleased to inform you that a forum/blog has been incorporated with www.equestionanswers.com. You are welcomed to add your comments, requests, codes, solutions and feedback to it. Please login(if already a member) or signup(for free) to avail to this facility.

Regards,
Webmaster

Your message goes here:

Name:Guest
Email:anonymous@unknown.com
My Post:*
Secutiry Code: ******  *
Preview this compose before posting this in discussion forum.
 
Note:
  1. Use [Sxx] code to show smiles. Example [S02]
  2. Use [URL ], example [URL http://www.google.com/]
  3. To display code or un formatted text use [CODE] [/CODE]. Example: [CODE] printf("Hello world"); [/CODE]
 [S01]   [S02]   [S03]   [S04]   [S05]   [S06]   [S07]   [S08] 
 [S09]   [S10]   [S11]   [S12]   [S13]   [S14]   [S15]   [S16] 
 [S17]   [S18]   [S19]   [S20]   [S21]   [S22]   [S23]   [S24] 

Note: Only members are allowed, * fields are mandatory.