ARM .
ARM- . , ARM, . , .
ARM .
. ,
,
, . . .
ARM
ARM, .
ARM : ARMv4, ARMv5, ARMv6, ARMv7 ARMv8. ARM , ARMv4 , , ARM7, ARMv5 ARM9, Cortex ARMv6, v7, v8. .
|
|
|
Linux |
ARMv4 |
ARM7 |
ARM7TDMI |
|
ARMv5 |
ARM9 |
ARM926EJ-S |
|
ARMv6 |
ARM11 |
ARM1176JZF-S |
|
|
Cortex-M0 |
Cortex-M0 |
|
ARMv7 |
Cortex-M |
Cortex-M3 |
|
|
Cortex-A |
Cortex-A9 |
|
|
Cortex-R |
Cortex-R4 |
|
ARMv8 |
Cortex-A |
Cortex-A53 |
|
, ARM7, Cortex-A. ARMv8, 64-. ARM7 ARM9 , , Cortex-A. , , .. Cortex-M.
ARM Application Processor.
- Flash- . .
- Application Processor DDRAM Flash. . .
ARM7, ARM9 , . Cortex , Cortex-M, Cortex-A Cortex-R.
:
- (RTOS) ;
- (Linux, Android), RTOS, RTOS ( vxWORKS).
, Android, iOS Linux. Linux RTOS. RTOS .
(Linux, Android) RTOS ARM. RTOS Linux, RTOS .
Linux ARM9, ARM11, Cortex-A. Linux ARM7, Cortex-M4 Cortex-M7, .
RTOS ARM7, ARM9, Cortex-M. RTOS Cortex-A, , Cortex-A5. Cortex-A , Linux/Android SDK, Linux.
. , RTOS.
, , :
RTOS . , , u-boot.
, :
// . ARM7.
, , .
-є , :
, Linux ARM , , Device Tree . <
https://www.kernel.org/doc/Documentation/arm/Booting>. Linux , .
, . UART, . . , .
u-boot, Linux, .
- u-boot, Flash-, .
- u-boot DDRAM.
- u-boot (), , eMMC, NAND Flash.
- u-boot . , u-boot .
- u-boot . 2-3 , .
- . .
- DDRAM Linux (zImage), Device Tree (*.dtb).
- DDRAM initrd . Linux initrd, .
- 2 3 , zImage ( Linux).
- zImage . , .
, . ARM7, .
ARM 0, reset. , , . NOR Flash ROM. . NOR Flash BIOS .
, , . NAND, eMMC, SPI/QSPI Flash. : , , . , : - .
ARM . 0, .
:
:
. USB , .
ARM, , Cortex-A, , , Cortex-M0. :
, ARM, - . , ARM Atmel NXP , , Atmel NXP.
ROM , . , Psoc4000 Cypress (
).
. BIOS, ARM- .
-, ARMv8-A ARM Trusted Firmware, , , , (PSCI). BIOS ARMv8. ARMv7 .
ROM . , . , .
ROM- , . ( ) - , :
, ARM. RTOS, .
TrustZone
ARM Cortex-A Cortex-R
TrustZone. : Secure () Non-Secure ().
, TrustZone Secure , , DRM, .
Secure , TEE (Trusted Execution Environment, ), , , Linux, Android, iOS, Non-Secure. ,
.
- TEE . TEE , .
, TEE :
- ( ARMv8-A PSCI ARM Trusted Firmware, ARMv7 - );
- , ..;
- ;
- ;
- DRM-.
, , , . , Samsung KNOX QSEE Qualcomm.
? TrustZone Secure Boot .
Secure Boot . , , . .
:
- ROM. TEE ROM;
- TEE, . , TEE;
- TEE Secure Non-Secure. TEE Non-Secure. TEE Secure ;
- ;
- TEE .
, , TEE SDK , . ROM , . TEE .
c TEE , TEE . SDK TEE, Linux .
TrustZone
, TrustZone , , . .
, TrustZone Secure, Normal. Normal, - Secure OS (TEE) .
TEE - 2- . - ARM Normal World. TrustZone. :
smc#0, Linux Android.
, , Qualcomm, Samsung, Mediatek, Rockchip, Spreadtrum, HiSilicon, Broadcom, Cavium.
ARM Cortex-A
, ARM ( Cortex-A) :
TEE.
. , .
, , . , , . , TEE, .
, , (WiFi, 3G ..) , . , , . , , ..
TEE, , , . TEE .
TEE, Linux. Linux TEE (, , ), . :
, , .
ARM.
.
ARM Cortex-A TrustZone . TrustZone TEE.
TEE ARM Cortex-A, TEE , , .
TEE ARM Cortex-A.