The ARM920T processor contains the ARM9TDMI core, which implements the ARM architecture v4T. The
ARM920T processor contains two coprocessors:
CP14. Used for debugging
CP15. System control coprocessor, provides additional registers to configure and control cache, MMU, protection system, clock mode, and other system options of the ARM920T, such as big and small endian operation. You can use MCR, MRC to access the registers defined in CP15.
CP15 defines 16 registers, and the register mapping diagram is as follows:
Note: Register position 0 can access two registers, determined by the value of opcode_2.
ARM920T has 3 addresses.
CP15 can only be accessed in privileged mode using MCR and MRC instructions. The format of these instructions is:
MCR/MRC{cond} P15,,Rd,CRn,CRm,
instructions CDP, LDC, STC and MRC, MCR instructions in non-privileged mode operate CP15 will cause undefined instruction exception. The CRn field of the MRC and MCR instructions specifies the coprocessor register to be accessed. The opcode_1, and CRm fields should be 0 unless a value is specified to select the desired operation.
Register 0, ID code register
can be set to any value except 1 by reading CP15 register 0. The opcode_2 field should be 0 (CRm should be 0 when reading).
For example:
MRC p15,0,Rd,c0,c0,0;return ID register
cache type register 0
contains information about the size and architecture of the cache. The cache type register can be accessed by setting the field to 1 and reading CP15 register 0. For example:
MRC p15,0,Rd,c0,c0,1;returns cache details
The Dsize and Isize fields have the same format:
Register 1, control register
This register contains the control bits for the ARM920T.
MRC p15,0,Rd,c1,c0,0 ;read control register
MCR p15,0,Rd,c1,c0,0;write control register
[page]
Register 2, translation table base (TTB) register
This is the page table base register.
Use the following instructions to access the TTB:
MRC p15,0,Rd,c2,c0,0;read TTB register
MCR p15,0,Rd,c2,c0,0;write TTB register
Register 3,domain access control register
This is the read and write domain access control register.
MRC p15,0,Rd,c3,c0,0;read domain 15:0 access permissions
MCR p15,0,Rd,c3,c0,0;write domain 15:0 access permissions
Register 4,reserved
Register 5,fault status registers
Register 6,fault address registers
Register 7,cache operations register
Register 8,TLB operations register
is used to manage Translation Lookaside Buffers (TLBs), instruction TLB and data TLB.
Register 9,cache lockdown register
opcode_2=0x0 accesses Dcache
opcode_2=0x1 accesses Icache
Regiter 10,TLB lockdown register
opcode_2=0x0 accesses D TLB
opcode_2=0x1 accesses I TLB
Register 11,12,and 14,reserved
Register 13,FCSE PID register
is the fast context switch extension register.
MRC p15,0,Rd,c13,c0,0;read FCSE_PID
MCR p15,0,Rd,c13,c0,0; write FCSE_PID
The addresses issued by ARM9TDMI in the range of 0 to 32MB are converted by register 13 of CP15. Address A becomes A+(FCSE_PID×32MB). FCSE_PID is a 7-bit field that enables 128×32MB of processes to be mapped.
Register 15,test configuration register
Keywords:ARM920T
Reference address:ARM920T coprocessor CP15
ARM920T processor contains two coprocessors:
CP14. Used for debugging
CP15. System control coprocessor, provides additional registers to configure and control cache, MMU, protection system, clock mode, and other system options of the ARM920T, such as big and small endian operation. You can use MCR, MRC to access the registers defined in CP15.
CP15 defines 16 registers, and the register mapping diagram is as follows:
Note: Register position 0 can access two registers, determined by the value of opcode_2.
ARM920T has 3 addresses.
CP15 can only be accessed in privileged mode using MCR and MRC instructions. The format of these instructions is:
MCR/MRC{cond} P15,,Rd,CRn,CRm,
instructions CDP, LDC, STC and MRC, MCR instructions in non-privileged mode operate CP15 will cause undefined instruction exception. The CRn field of the MRC and MCR instructions specifies the coprocessor register to be accessed. The opcode_1, and CRm fields should be 0 unless a value is specified to select the desired operation.
Register 0, ID code register
can be set to any value except 1 by reading CP15 register 0. The opcode_2 field should be 0 (CRm should be 0 when reading).
For example:
MRC p15,0,Rd,c0,c0,0;return ID register
cache type register 0
contains information about the size and architecture of the cache. The cache type register can be accessed by setting the field to 1 and reading CP15 register 0. For example:
MRC p15,0,Rd,c0,c0,1;returns cache details
The Dsize and Isize fields have the same format:
Register 1, control register
This register contains the control bits for the ARM920T.
MRC p15,0,Rd,c1,c0,0 ;read control register
MCR p15,0,Rd,c1,c0,0;write control register
[page]
Register 2, translation table base (TTB) register
This is the page table base register.
Use the following instructions to access the TTB:
MRC p15,0,Rd,c2,c0,0;read TTB register
MCR p15,0,Rd,c2,c0,0;write TTB register
Register 3,domain access control register
This is the read and write domain access control register.
MRC p15,0,Rd,c3,c0,0;read domain 15:0 access permissions
MCR p15,0,Rd,c3,c0,0;write domain 15:0 access permissions
Register 4,reserved
Register 5,fault status registers
Register 6,fault address registers
Register 7,cache operations register
Register 8,TLB operations register
is used to manage Translation Lookaside Buffers (TLBs), instruction TLB and data TLB.
Register 9,cache lockdown register
opcode_2=0x0 accesses Dcache
opcode_2=0x1 accesses Icache
Regiter 10,TLB lockdown register
opcode_2=0x0 accesses D TLB
opcode_2=0x1 accesses I TLB
Register 11,12,and 14,reserved
Register 13,FCSE PID register
is the fast context switch extension register.
MRC p15,0,Rd,c13,c0,0;read FCSE_PID
MCR p15,0,Rd,c13,c0,0; write FCSE_PID
The addresses issued by ARM9TDMI in the range of 0 to 32MB are converted by register 13 of CP15. Address A becomes A+(FCSE_PID×32MB). FCSE_PID is a 7-bit field that enables 128×32MB of processes to be mapped.
Register 15,test configuration register
Previous article:ARM core 920T performance optimization MMU
Next article:ARM920T Clockmodes
Recommended ReadingLatest update time:2024-11-15 16:23
Introduction to ARM coprocessor CP15
Overview In ARM-based embedded application systems, the operation of the storage system is usually completed by the coprocessor CP15. CP15 contains 16 32-bit registers, which are numbered from 0 to 15. The instructions for accessing CP15 registers are mainly MCR and MRC. MRC: Data transfer instruction from coprocess
[Microcontroller]
ARM920T System Bus Timing Analysis
1. System bus timing diagram 2. Analysis At the beginning of the first clock cycle, the system address bus gives the address of the storage space to be accessed. After the Tacs time, the chip select signal is given accordingly and the address information on the current address line is latched. After Tcso time, the p
[Microcontroller]
A Fieldbus Control System Based on ARM920T
1. Introduction
With the gradual automation and modernization of industrial control systems, fieldbus control systems have received more and more attention and application. CAN bus is currently a fieldbus with simple development and high performance-price ratio. Compared with other fieldbuses, CAN communication
[Microcontroller]
- Popular Resources
- Popular amplifiers
- Siemens PLC communication network solutions and engineering application examples
- Digital Signal Processing Theory, Algorithms and Implementation (3rd Edition)
- Learn architecture from scratch: follow this and you can become an architect
- Siemens PLC, inverter, touch screen engineering application and fault diagnosis
Recommended Content
Latest Microcontroller Articles
He Limin Column
Microcontroller and Embedded Systems Bible
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
MoreSelected Circuit Diagrams
MorePopular Articles
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
MoreDaily News
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
Guess you like
- How is the 0-10V/4-20mA input and output circuit of the inverter usually implemented?
- Two questions about PLL configuration registers
- 【Reading Month】Talk about good books and get gifts. Tell us which book you like best.
- Engineering Safety Black Box-Submission
- 【Chuanglong TL570x-EVM】Review 04 - CAN Test
- What is the difference between a voltage transformer and a current transformer? Aren't they both transformers? Don't they both have a primary side and a secondary side?
- Is there any expert who can tell me how to use the upgrade function of blue_nrg2?
- Hefei recruits 4 mid- and senior-level FPGA
- 5v relay
- MSP FRAM MCUs Reduce Volatility for the IoT