文章目录
- 前言
- 一、设备树配置
- 1.device-tree增加配置
- 二、原理及框架分析
- 1.memory 种类
- i.normal memory
- ii.IO memory
- 2.memory 属性
- list
- 总结
前言
基于zynqUltra+SoCs+petalinux开发,记录内存管理学习
一、设备树配置
1.device-tree增加配置
reserved-memory {#address-cells = <1>;#size-cells = <1>;ranges;ipu_cma@90000000 {compatible = "shared-dma-pool";reg = <0x90000000 0x4000000>;no-map;status = "okay";};//其中no-map关键字,表示memory不归kernal管理了
二、原理及框架分析
1.memory 种类
i.normal memory
常用内存,访问无side effect,processor可以进行reorder, repeat或者merge以及分支预测
ii.IO memory
外设IO内存,例如设备的FIFO队列,地址固定不变;process不能进行Speculative data accesses
2.memory 属性
gathering(G)
: 对多个memory访问是否可以合并
ordering(R)
:对内存访问指令是否可以重排
Early Write Acknowledgement(E)
: PE访问memory是有问有答的,为了加快写速度,系统的中间环节可能会设定一些write buffer;
例如:以便确定完成一次entire transaction. nE表示写操作的ack必须来自最终的目的而不是中间write buffer.
list
总结
提示:这里对文章进行总结: