一、 arm和linux的比较:
linux : 驱动、文件、内存、网络(每个进程都有4GB的内存空间)
地址:通过ioremap( )将物理地址映射到内核中(通过gpio函数库也可以直接操作物理地址)
arm : 驱动
地址:直接操作物理地址
理念:
1 运算器(cpu) :conter-A8(arm核)
2 soc :运算器、控制器
3 linux ARM :soc、存储器、输入输出
二、 arm中的主要学习的内容有: GPIO、中断、时钟、uart、nand、I2C总线
三、 arm 的4大件包括: 运算器、控制器、存储器(ram)、输入输出 (bootloader中主要的内容有:初始化内存和时钟)
四、 概念
1. 除cpu外其它的都为外设
2. soc中有一个核(cpu),核只是运算作用(如conter-A8)
3. cpu是通过控制器来控制外设的,每一个外设都有一个控制器
4. 程序(指令、数据)是安装在ROM中的:如flash、硬盘、SSD(固态硬盘)
5. 存储器(内存 :程序运行是把指令和数据加载到内存去(内存:掉电丢失)
6. 控制器 : 控制程序运行的位置,如控制pc指针的指向
7. 运算器 :对数据进行计算(a = 3 + 2);并把结果返回到内存中
8. 输入 : 从keyboard 输入内用
9. 输出 : 把结果输出到显示屏上
五、 嵌入式系统硬件系统
1. 时钟系统: 为所以芯片提供一个时序,由晶振提供一个基础的时序(12MHZ、24MHZ),不同芯片需要不同的时序,有系统需要分频和倍频
2. 供电系统: 提供一个电源,5v、9v、12v(电平转换3.3v)
3. 存储系统: 存储代码/文件--flash,ddr
4. 复位 : 为系统提供一个特定的状态
5. 调试系统: uart调试、JTAG
6. 其它外设: 输出输入设备(摄像头、红外)
7. 所以的外设都由cpu控制
六、三总线:armcore如何与外围设备进行通信和连接
soc <------- 通过导线连接 ------> 外设
三总线:
控制总线c: 传输控信号,如片选
数据总线d: 传输数据
地址总线a: 传输地址(每个芯片都有一个地址)
各种总线:(为了方便传输数据,统筹管理一些外设)
1. 高速总线(soc,sdram),低速总线(uart)
2. usb总线 所有的usb口链到一条大道上
3. i2c总线
七、存储设备:
1 ram:掉电易失,内存条,速度快--ddr(依靠电容锁住数据,容量大),sdram(cpu内部Iram)(物理介质能存储,容量小,贵),
sram(物理介质能存储,容量小,更贵)
2 rom:掉电不丢失,eeprom(网卡mac地址)
3 flash:闪存,norflash(有地址总线,容量小,贵,速度快),nand flash(没有地址总线,容量大,便宜,有坏块),
onenand(nor和nand的结合体)
4 存储器层次结构(速度差):
1 arm核 --> 内部寄存器 --> cache --> Iram(64k) --> Irom(96k) -->外部ram --> 外部rom --> 硬盘
2 程序运行存储过程:rom --加载-->ram (ddr)--> cache --> 寄存器 -->arm核