文章目录
一、ARM介绍
1、ARM公司
(1)主要设计ARM系列RISC处理器内核
(2)授权ARM内核给生产和销售半导体的合作伙伴,自己不生产芯片
(3)提供基于ARM架构的开发设计技术
2、ARM各系列
(1)A——特点:高性能、支持多核,应用场景:手机、电脑
(2)R——特点:实时性强,应用场景:汽车电子
(3)M——特点:低功耗、低延迟,应用场景:嵌入式系统、工业自动化
二、SOC概念
(1)SOC包括:kernal、总线、存储器、片内外设。
(2)kernal包括:
算术逻辑单元(ALU)、
寄存器(R0-R12)、
内存管理单元(MMU)——负责将RAM映射为虚拟内存、
高速缓存——i.cache、d.cache、
pc、lr、sp寄存器。
(3)内部总线包括:
AHB总线:高速总线,挂载存储器、LCD等高速设备。
APB总线:低速总线,挂载Timer、UART、I2C等。
(4)最小系统:电源、时钟、复位、ROM、RAM。
三、ROM和RAM的分类
RAM | 介绍 |
---|---|
sram | 用晶体管存储0和1,速度快,成本高,存储密度小 |
dram | 动态存储,用电容充放电存储0和1,功耗大,速度慢,成本低,存储密度大 |
sdram | 增加了同步电路,提高了读写速度 |
ddr ram | (double data rate sdram),为sdram的下一代 |
iram | 并非真正意义上的ram,通常iram就是sram,通常在soc内部,所以叫iram |
ROM | 介绍 |
---|---|
rom | 非易失性存储器,最早只读不写 |
prom | programmable rom,可编程的rom。能够写入一次 |
eprom | 可擦写的prom,可以重复擦写,需要特殊工具 |
eeprom | 电可擦写的prom |
flash | 新一代非易失性存储器,分为nor flash(可以寻址)和nand flash(不能寻址) |
四、编译流程
五、大小端
大小端是指数据在内存中的存储方法。
1、大端:高位字节在低地址,低位字节在高地址。
2、小端:低位字节在低地址,高位字节在高地址。
六、ARM的工作模式
ARM有7种基本工作模式:
1、User:非特权模式
2、FIQ:高优先级(fast)中断产生
3、IRQ:低优先级(normal)中断产生
4、Abort:存取异常产生
5、Supervisor:复位或者软中断指令执行
6、Undef:执行未定义指令
7、System:和User模式相同的寄存器集特权模式
七、ARM寄存器基本介绍
1、ARM有37个32bits长的寄存器:PC、CPSR、5个SPSR、30个通用寄存器。
2、Cortex有40个32bits长的寄存器。
3、sp寄存器:栈指针寄存器,主要用于临时存储局部变量、函数形参和返回地址。
4、lr寄存器:用于存储函数调用的返回地址。
5、pc寄存器:指向cpu执行的下一条指令。
八、判断一个数是不是立即数
判断条件有以下三点:
(1)如果这个数的范围在0-255之间,那么这个数一定是立即数;
(2)如果超出,需要把这个数展开成二进制,从高位依次向下第一个1和和最后一个1之间如果位数不超过8位(包含这两个1),如果超过了一定不是;
(3)如果不超过八位,还要看最低位1后面的零是否为偶数,如果是偶数,则是立即数。