First look at ARM cotex-A9

Publisher:大头玩家Latest update time:2019-10-25 Source: 51heiKeywords:ARM  cotex—A9 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1) The role of resistance


[Pull-up resistor]


       The resistor connected between the power supply and the reference point

       (1) Function: Set the reference point level to high level by default

[Pull-down resistor]

       The resistor between ground and the reference point

       (1) Function: Set the reference point level to low level by default



2) Locality principle


When a program is executed, the data accessed and the instructions executed are often within a local scope.


3) bus

       A group of lines that can connect multiple devices is called a bus.

       

       (1) CPU bus

           A set of lines connecting the CPU (ALU and controller) to memory and IO devices for transmitting: address, data and control

           Address Lines

           Data cable

           Control Line

           

       (2) Single bus (ARM)

           Memory and IO devices are connected to the same CPU bus, which is manifested as:

           1. Memory and IO devices are in the same address space (0 - 4G)

           2. The method of accessing memory and IO devices is the same (the instructions are the same)

           

       (3) Multi-bus (x86)

           Memory and IO devices are connected to different sets of CPU buses, as shown below:

           1. Are the memory and IO devices in the same address space (0 - 4G)?

           2. The method of accessing memory and IO devices is the same (different instructions)


4) RISC & CISC


RISC (Reduced Instruction Set): Functions that can be implemented without hardware can be implemented with software.


CISC (Complex Instruction Set): All functions that can be implemented by hardware are implemented by hardware.


5) Eight working modes of ARM processor


(1) Normal operation


user runs the application


system runs the process context in the kernel


SVC runs the management code of the operating system


(2) Interrupt operation


IRQ (Interrupt Request) runs normal device interrupts


FIQ (Fast Interrupt Request) is used for fast or secure device interrupts


(3) Exception handling


Abort Mode in which the processing program is executed when reading instructions or storing data fails


Undefined Instruction When parsing the instruction, it is found that the instruction is illegal and the mode of running the processing program


(4) Monitor


Coetex-A Safe Mode


6) Permissions


User non-privileged mode


Other privileged modes


7) Register


Concept: A hardware-software interface is also a storage unit. A CPU core register is also a storage unit. The CPU uses the number in the register name to access the register.


Function: R0——R15 general register


R0——R7 non-backup registers


R8——R14 backup register


R13 (SP) Stack pointer register


R14 (LR) saves the return address register


R15 (PC) Program Count (the address of the instruction being read)


CPSR Status Register


SPSR Backup Status Register


8) CPSR        


Status flag (generated during ALU operation)

            (1) N  


Whether the calculated result is a negative number (the highest digit of the saved result)

                  1 Negative

                  0 Positive number

                  

                  Example: 2 - 3 = -1 N = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 1 = 1 N = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111

                     -----------------------------------------

                     10

                  

                  int x, y

                  ....

                  if (x > y)

                     

             (2) Z  


Whether the result of the calculation is 0 (the saved result)

                  1 is 0

                  0 is non-zero

                  Example: 2 - 2 = 0 Z = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1110

                     -----------------------------------------

                     10

                  

                  int x, y

                  ...

                  if (x == y)

                  

             (3) C  


Is there a carry in addition operation?


                  1 Carry

                  0 No carry

                  

                  Is there a borrow in the subtraction operation?

                  1 No borrowing

                  0 There is a borrow

                  

                  Example: 2 - 3 = -1 C = 0

                  

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 3 = -1 C = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     -0000 0000 0000 0000 0000 0000 0000 0011

                     -----------------------------------------

                     

                 unsigned int x, y;

                 ...

                 if (x > y)       

                      

              (4) V  


Is the result of the calculation beyond the range of the complement code?

                 1 exceeds the range of the two's complement

                 0 does not exceed the range of the two's complement

                 Example: 0x7fffffff - (-1) = -2^31 V = 1

                     0 0111 1111 1111 1111 1111 1111 1111 1111

                    +0 0000 0000 0000 0000 0000 0000 0000 0000 0001

                    ------------------------------------------

                     0 1 0

                 

                     -2^31 - 1 V = 1

                     

                     -2^31 +(-2^31) V = 1

                     

                     -1 + -1 V = 0

                     1 1111 1111 1111 1111 1111 1111 1111 1111

                     1 1111 1111 1111 1111 1111 1111 1111 1111

                     -----------------------------------------

                     1 1 10

                     

                 Summarize:

                 If the result of the operation is negative (saved), and V = 1, it means that the original (actual) result is positive.

                                 Positive or 0 V = 1, negative

                                 

           I bit masks IRQ interrupt

           F bit masks FIQ interrupts

           T bit 1 indicates that the thumb instruction is being executed and the system is in thumb state.

                    0 ARM ARM

           Mode bit 0 - 4bit


Keywords:ARM  cotex—A9 Reference address:First look at ARM cotex-A9

Previous article:tq2440-arm9 transplantation (problems encountered)
Next article:About __user_initial_stackheap()

Recommended ReadingLatest update time:2024-11-16 16:18

Design and implementation of indoor wireless monitoring and alarm system based on ARM9
With the rapid development of computer network technology, mobile communication technology, and multimedia technology, wireless monitoring systems are widely used in military, industrial, agricultural and other occasions due to their convenience, practicality, and easy installation. They have also entered people's dai
[Microcontroller]
Design and implementation of indoor wireless monitoring and alarm system based on ARM9
ARM stack instructions
ARM stack instructions The contents of stack instructions in ARM's instruction system are easy to cause confusion. This is because two parameters are required to accurately describe the characteristics of a stack: The growth direction of the stack address: ARM calls the stack that grows toward a higher address an a
[Microcontroller]
ARM stack instructions
ARM interrupt processing and state machine nesting implementation
1.ARM7 provides two levels of interrupts, FIQ (Fast Interrupt Request) general interrupt and low-speed response interrupt IRQ.   Once all interrupt requests are generated, the interrupt response will go through three steps   a. Input stage This logic can be implemented according to the interrupt source, requiring 0-2
[Microcontroller]
ARM study notes six (coprocessor)
A coprocessor is a chip that relieves the system microprocessor of certain tasks. Supports up to 16 coprocessors, such as cp15 registers to control cache and memory management. Coprocessor operation instructions cdp: data operation instructions, initialize coprocessors ldc: data load instructions,
[Microcontroller]
ARM startup code (1): Introduction
Many friends who are engaged in embedded systems have no problem writing code, but when they debug on the board at the end, they hang up. The reason is that there are problems with the chip's startup address, startup mode, and the connection between the bootloader and the operating system. Let's talk about this issue
[Microcontroller]
ARM addressing mode - stack addressing
From the perspective of memory management, a stack is a continuous memory used to store data, that is, a storage area that accesses data in a specific order, which can be summarized as "last in, first out" or "first in, last out". The address register pointing to the stack is called the stack pointer, and the stack is
[Microcontroller]
Design of Profibus-DP Master Station Communication Platform Based on FPGA and ARM
Abstract: This paper proposes a solution to realize the Profibus-DP master station (class 1) communication platform using FPGA and ARM microcontroller; analyzes the Profibus-DP communication protocol, focusing on the token rotation protocol; and gives the system construction of the master station communication platf
[Embedded]
Design of Profibus-DP Master Station Communication Platform Based on FPGA and ARM
Linux Bluetooth Series -- Porting of ARM-Linux Bluetooth Tools
1. Kernel modification ------------------------------------------------------------ Make the Bluetooth core into a module. And configure as follows, Bluetooth subsystem support  --- L2CAP protocol support SCO links support RFCOMM protocol support
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号