Linux(三)初探Cortex-A7架构、I.MX6U

I.MX6UL 使用的是 Cortex-A7 架构

I.MX6U-ALPHA 开发板配套的 I.MX6U 核心板,采用 MCIMX6Y2CVM05AB(528MHz)或MCIMX6Y2CVM08AB(800MHz,实际 792MHz)作为主控 CPU,这两款主控都是工业级的。

自带 32KB 的 L1 指令和数据 Cache、 128KB 的 L2 Cache,集成 NEON,集成双精度硬件浮点计算单元 VFPv3,并具有 128KB OCRAM、 2 个通用定时器(GPT)、 4 个周期定时器(EPIT)、 8个 PWM、 1 个 SDMA 控制器、 4 个 ECSPI、 3 个看门狗、 3 个 SAI、 4 个 IIC、 7 个串口、 2 个USB(高速,带 PHY)、 2 个 FlexCAN、 2 个 12 位 ADC、 1 个 SPDIF 接口、 1 个 SRTC、 1 个RTC、 2 个 USDHC 接口、 1 个 RGB LCD 控制器(ELCDIF)、 2 个 10/100M 以太网 MAC 控制器、 1 个摄像头接口、 1 个硬件随机数生成器、以及 124 个通用 IO 口等,根据芯片型号的不同主频可以为 528Mhz、 700MHz(实际 696MHz)、 800MHz(实际 792MHz),轻松应对各种应用。

Cortex-A与Cortex-M系列不同,有九种处理模式

Linux(三)初探Cortex-A7架构、I.MX6U_第1张图片

Cortex-A寄存器架构

ARM 架构提供了 16 个 32 位的通用寄存器(R0~R15)供软件使用,前 15 个(R0~R14)可以用作通用的数据存储, R15 是程序计数器 PC,用来保存将要执行的指令。 ARM 还提供了一个当前程序状态寄存器 CPSR 和一个备份程序状态寄存器 SPSR, SPSR 寄存器就是 CPSR 寄存器的备份。这 18 个寄存器如图 6.3.1 所示:

Linux(三)初探Cortex-A7架构、I.MX6U_第2张图片

不同的运行模式下实际使用的寄存器也不同

Linux(三)初探Cortex-A7架构、I.MX6U_第3张图片

总结:

A系列果然是比M系列要复杂些,但是技术都是相通的,我们知道在Cortex-M中无论是什么高级的操作归根结底都是对寄存器的操作。因此这些寄存器的作用也需要了解。

下一章开始介绍为何要使用汇编语言操作寄存器,以及如何操作。

你可能感兴趣的:(linux)