《嵌入式硬件(五):IMX6ULL所需的基础》

发布于:2025-09-09 ⋅ 阅读:(13) ⋅ 点赞:(0)

一、背景

        RISC(精简指令集计算机):指令集精简(仅保留常用指令)、指令长度固定、大部分操作通过寄存器完成、流水线效率高,适合低成本、低功耗场景。

        CISC(复杂指令集计算机):指令集丰富(包含复杂指令)、指令长度可变、依赖微码实现复杂操作,适合高性能计算,但功耗和复杂度较高。

        ARM 属于 RISC,其设计遵循精简指令集理念,注重低功耗和高效能。

        Cortex A7是32字节

二、寄存器

        以下为ARM架构内核通用寄存器及特殊功能寄存器:

寄存器功能表

名称(缩写) 主要功能
R0-R12 通用寄存器,存储运算数据或地址;R0-R7为未分组寄存器,R8-R12可能因模式不同有分组复用。
SP (R13) 栈指针寄存器,指向当前栈顶位置。
LR (R14) 链接寄存器,保存子程序返回地址(如函数调用后的下一条指令地址)。
PC (R15) 程序计数器,存储下一条待执行指令的地址,自动递增或跳转。
CPSR 当前程序状态寄存器,存储 ALU 标志位、中断状态、处理器模式等。
SPSR 备份程序状态寄存器,异常模式下保存被中断的 CPSR 值。
MMU 内存管理单元,负责虚拟地址到物理地址的转换和内存访问权限控制(关闭时为物理内存)。
CACHE 高速缓存,分为指令 Cache 和数据 Cache,提升访问效率。
指令 Cache 缓存指令以减少从主存读取的延迟。
数据 Cache 缓存数据以减少从主存读取的延迟,使用时常需关闭(dcash)。
ALU 算术逻辑单元,执行算术运算(如加减乘除)和逻辑运算(如与或非)。

 

        冯诺伊曼架构:指令数据放在一起;哈佛架构:指令数据分开放;所以ARM架构属于哈佛架构

典型使用场景

  • R0-R3:函数参数传递和返回值存储

  • R4-R11:局部变量保存(需在子程序中压栈保护)

  • R13(SP):在PUSH/POP指令中自动调整栈位置

  • R14(LR):BL/BLX指令自动保存返回地址,异常发生时自动备份到SPSR

  • R15(PC):直接修改可实现跳转(如MOV PC, LR返回函数)

  • 变量的计算:SoC中集成了一个RAM控制器,定义的变量存储在RAM中。当需要进行运算时,先将变量从RAM复制到R寄存器,然后调用ALU执行运算操作,最后将计算结果从寄存器写回RAM存储。

三、总线

AHB 和 APB 总线简介

        AHB(Advanced High-performance Bus)和 APB(Advanced Peripheral Bus)是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)总线协议中的两种主要总线类型,广泛应用于嵌入式系统设计中。

AHB(Advanced High-performance Bus)

        AHB是一种先进的高速总线,主要用于连接处理器、内存控制器、DMA控制器等高带宽需求的模块。

APB(Advanced Peripheral Bus)

        APB是一种低功耗、低复杂度的总线,主要用于连接外设,如UART、SPI、GPIO等。  

四、开发基础

        1.门电路

                与

                或

                非

        2.RAM分类

                sram(static ram)用晶体管存储0、1。速度快,成本高,存储密度低。
                dram(dynamic ram)动态存储,用电容充放电存储0,1。功耗大,需要外接刷新电路,读写速度低于sram。成本低,存储密度大。
                sdram(synchronous dram)增加了同步电路,提高dram的数据读写速度。
                ddr ram(全称ddr sdram即double data rate sdram),为sdram的下一代。目前已发展到ddr5。
                iram(internal ram)注意iram并非是真正意义上的某种ram,通常iram就是sram,它通常存在于Soc内部,所以被称为iram。

        3.ROM分类

                ROM:非易失性存储器,出厂时写入数据,之后无法更改。

                PROM(Programmable ROM):可编程 ROM,出场后用户能写入一次数据,例如 CD - ROM。

                EPROM(Erasable PROM):可擦写 PROM,出场后可擦除数据再次写入,但需要紫外光等特殊设备。

                EEPROM(Electrically EPROM):电可擦写可编程 ROM,无需专用设备就能擦写、编程。

                Flash(闪存):新一代非易失性存储器,包含 Nor(或非) Flash(可寻址)、NAND(与非) Flash(不可寻址);其中eMMC本质上是 NAND(类似 SD 卡),常以芯片形式出现。

五、s3c2440

    以s3c2440为例,中间:内核为arm920t,最后:指令集为v4

ARM小端存储

有supervisor,可以跑操作系统

寄存器个数:

arm 37个

Cortex  40个

N,普通结果;Z,结果为0,c进位,v,有符号位

第一个是错误的,改为10000

汇编指令

Encoding A1         ARMv4*, ARMv5T*, ARMv6*, ARMv7

MOV{S} <c> <rd>, #const

A算术右移:有符号位的补符号位

L逻辑右移:无符号补0


网站公告

今日签到

点亮在社区的每一天
去签到