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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值