dm8127 記憶體分配和管理機制
摘自:Memory Map in DM81xx IPNC RDK
1.Memory Sections in IPNC RDK Memory Map
IPNC RDK has multiple memory map configurations supported based on the usage scenarios and available total memory on the platform. The total system memory is divided
into various sub-systems/processors. The broad classification of the sections is listed below:
1.1)Linux Memory – Single memory partition given to linux kernel memory manager
1.2)CMEM Memory – Contiguous memory block on A8 for streaming.
1.3)Shared Regions – Different memory partitions that are shared across processors;
Bitstream Buffer (SR1) – Shared Region 1. This shared region is meant to receive encoded bitstream from Video M3 processor to A8 processor, send bitstream from A8 to
Video M3 for decoding and for sharing the buffers between A8 and DSP for Scene Change Detection algorithm results. This region is cached on A8.
Frame Buffer (SR2) – Shared Region 2. This shared region is used for allocating frame buffers for capturing video data, scaling, displaying video frames. The shared
region is accessible from A8, Video M3, VPSS M3 and DSP. This is non-tiled region.
IPC MessageQ / ListMP (SR0) – Shared Region 0. This shared region is used to allocate memory for datastructures needed for interprocessor communication. This shared
region is not cached on any of the processor cores.
IPC ListMP for M3 (InterDucati) (SR3) – Shared Region 3. This shared region is currently not used but has been left in the memory map so that it can easily be used
for M3-only IPC usage.
Slave Code and Data Section Memory
o Video M3 Data Section – Partition for data section of Video M3 executable binary
o Video M3 Code Section – Partition for code section of Video M3 executable binary
o VPSS M3 Data Section – Partition for data section of VPSS M3 executable binary
o VPSS M3 Code Section – Partition for code section of VPSS M3 executable binary
o DSP Data Section – Partition for data section of DSP executable binary
o DSP Code Section – Partition for code section of DSP executable binary
Remote Debug Memory – Memory section reserved and accessible from all processor cores to dump the debug print messages. Each processor core uses VPS_printf() to dump
the debug messages on this memory region. Remote Debug Client running on A8 reads this memory region and prints the content on the (UART) console.
從vpssM3,videoM3,dsp的日誌如何傳遞到A8,寫入檔案,這裡提供一種方法,修改Vps_printf()函式,將日誌寫入到Remote Debug Memory,從A8去讀這個日誌;
另外一種方式就是在A8建立一個link,使用System_link_control將各個核的日誌資訊傳遞到A8;
VPDMA Descriptors Memory – Memory section used by VPSS M3 processor core. It is used by HDVPSS driver for its internal descriptor data structure.
注意:
Frame Buffer Shared Region (SR2) is not mapped on A8 as it would take up lot of kernel virtual memory. User need to mmap the physical address in the application code
to map the SR2 buffers on A8. This is needed for getting the frame buffers on A8 using IPCFramesOut/In link.
How To – Modify the Memory Map
How to Change Memory Section Sizes for Additional Linux Memory
相關文章
- 【記憶體管理】頁面分配機制記憶體
- Python如何管理記憶體?記憶體分配機制是什麼?Python記憶體
- java基礎:記憶體分配機制Java記憶體
- 垃圾收集機制與記憶體分配策略記憶體
- MySQL • 原始碼分析 • 記憶體分配機制MySql原始碼記憶體
- jvm:記憶體模型、記憶體分配及GC垃圾回收機制JVM記憶體模型GC
- javaScript 記憶體管理機制JavaScript記憶體
- Java記憶體管理機制Java記憶體
- Qt 記憶體管理機制QT記憶體
- jvm記憶體管理機制JVM記憶體
- 在繼承和多型中的記憶體分配機制繼承多型記憶體
- JVM深入淺出 -- Java記憶體分配機制JVMJava記憶體
- javascript的垃圾回收機制和記憶體管理JavaScript記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- Qt 記憶體管理機制薦QT記憶體
- linux記憶體管理機制Linux記憶體
- MySQL記憶體管理,記憶體分配器和作業系統MySql記憶體作業系統
- JVM記憶體管理和垃圾回收機制介紹JVM記憶體
- Linux記憶體管理Swap和Buffer Cache機制Linux記憶體
- 淺析java記憶體管理機制Java記憶體
- 記憶體管理機制的發展記憶體
- ARC記憶體管理機制詳解記憶體
- 8.JVM記憶體分配機制超詳細解析JVM記憶體
- C語言-記憶體管理之一[記憶體分配]C語言記憶體
- 什麼是記憶體管理?其最主要作用?OC記憶體管理機制?記憶體
- JVM自動記憶體管理機制 二JVM記憶體
- 淺談Linux記憶體管理機制Linux記憶體
- AIX虛擬記憶體管理機制(轉)AI記憶體
- IBM的AIX記憶體管理機制IBMAI記憶體
- Java的記憶體管理機制之記憶體區域劃分Java記憶體
- Oracle的記憶體分配和使用Oracle記憶體
- JVM的藝術-物件建立與記憶體分配機制深度剖析JVM物件記憶體
- 理解 glibc 記憶體分配器的機制與實現記憶體
- JavaScript 記憶體機制JavaScript記憶體
- 一文洞悉JVM記憶體管理機制JVM記憶體
- Python記憶體管理機制-《原始碼解析》Python記憶體原始碼
- Objective-C中的記憶體管理機制Object記憶體
- 深度學習 Caffe 記憶體管理機制理解深度學習記憶體