ARM CPU的应用:
Arm cores are widely used in most of portable consumer devices. Such as mobile phone.
ARM 是什么:
the ARM core is not a single core, but a whole family of designs sharing similar design principles and a common instruction set.
ARM 最经典的是 ARM7TDMI
RISC (reduced instruction set computer)
There are a number of physical features that have driven the ARM processor design
1.First, portable embedded systems require some form of battery power.The ARM processor has been specifically designed to be small to reduce power consumption and extend battery operation.
2.High code density is another major requirement since embedded systems have limited
memory due to cost and/or physical size restrictions.
3.Another important requirement is to reduce the area of the die taken up by the embedded processor.
The difference between ARM instruction set and pure RICS makes ARM suitable for embedded application:
1. Variable cycle execution for certain instructions.
2. Inline barrel shifter leading to more complex instructions
3. Thumb 16-bit instruction set
4. Conditional execution
5. Enhanced instructions on the aspect of DSP.
A typical Embedded device can be seperated into four main hardware components:
1. ARM Processor
2. Controllers-commonly are interrupt and memory controllers.
3. Peripherals
4. Bus
Bus has two architecture levels:
1. Physical level that covers the electrical characteristics and bus width(16,32and64bits)
2. Protocal-the logical rules that govern the communication between the CPU and peripherals
AMBA: Advanced Microcontroller Bus Architecture
It was first introduced by ARM company as ASB(Arm System Bus) and APB(Arm Peripheral Bus). Later ARM introduced anther bus design called AHB(ARM High performance Bus).
The advantages of using AMBA:
Using AMBA, the peripheral designers can reuse the same design on multiple projects. Because many peripherals were developed with AMBA interface, hardware designers have a wide choice of these peripherals for use in a device.
Advantages of AHB:
AHB provides higher data throughput than ASB because it uses centralized multiplexed bus scheme rather than the ASB bidirectional bus design. This allows the AHB bus to run at higher clock speeds.
Specific memory characteristics should be considered:
1. Hierarchy: Cache, Main memory or secondary storage.
2. Width: Using 32bit instruction set but 16bit memory, the processor need two memory fetches per instruction. But if we use 32bit memory, it needs only once, but 32bit is more expensive.
3. Type: ROM or RAM(DRAM, SRAM).
Four typical embedded system softwares:
1. Initialization code: it takes the processor from the reset state to a state where the OS can run. It configures the memory controller and processor caches and initializes some devices.
2. Device driver: provides a standard interface to peripherals.
3. Operating system: organizes the system resources:peripheral, memory and processing time.
4. Application software: performs the task-specific duties.