Cmem module, cmemk
Favorites Http://blog.csdn.net/lanmanck/archive/2010/08/21/5829141.aspx
I suspect that amlogic copied this.
The cmemk. Ko module provides continuous memory for ARM and DSP Communication. The loading format is:
Insmod cmemk. Ko pools = 4x30000,2x500000 phys_start = 0x0 phys_end = 0x3000000 pools_1 = 4x65536 phys_start_1 = 0x80000000 phys_end_1 = 0x80010000
Indicates that the memory is 0x0 ~ 0x2ffffff opened up two memory pools, the first consisting of 4 30000 bytes of cache, the second composed of 2 500000 bytes of cache. In Memory 0x80000000 ~ 0x8000ffff opened a memory pool consisting of 4 65536 bytes of cache. (Note: the lower version of cmem only supports one piece of memory)
According to The DaVinci memory, the cmem memory is located in Linux memory and DSPAlgorithmIn dvsdk2.0, The cmem memory is 118 ~ 128 M (the earlier version of dvsdk is 120 ~ 128 M, but the DSP server of the earlier version of dvsdkProgramA large part after 2.0 m is not used, and the cmem size is not enough, but in, the DSP server program memory usage starts from m)
In dvsdk2.0, The cmem Module Directory is:
[Root @ localhost cmem] # pwd
/Opt/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/Ti/SDO/linuxutils/cmem
[Root @ localhost cmem] # tree
.
| -- Cmem. xdc
| -- Makefile
| -- Rules. Make
| -- Apps
| -- Makefile
| -- Apitest
| -- Makefile
| '-- Apitest. c
| -- Insmod_rmmod
| -- Makefile
| -- Insmod_rmmod.sh
| '-- Insmod_rmmod_omapl137.sh
| -- Multi_process
| -- Makefile
| '-- Multi_process.c
| '-- Translate
| -- Makefile
| '-- Translate. c
| -- Include
| '-- Cmem. h
| -- Lib
| '-- Cmem. a470mv
| -- Package
| -- Build. cfg
| -- Package. bld. xml
| -- Package. defs. h
| -- Package.doc. xml
| -- Package. Ext. xml
| -- Package. Rel. Dot
| -- Package. Rel. xml
| -- Package_ti.sdo.linuxutils.cmem.c
| -- Ti. SDO. linuxutils. cmem. CCS
| '-- Ti. SDO. linuxutils. cmem. Sch
| -- Package. xdc
| -- Package. Xs
| -- Readme.txt
'-- SRC
| -- Makefile
| -- Interface
| -- Makefile
| -- Cmem. c
| -- Cmem. h
| '-- Release
| '-- Cmem. o470mv
'-- Module
| -- Makefile
| -- Module. symvers
| -- Cmemk. c
| -- Cmemk. Ko
| -- Cmemk. Mod. c
| -- Cmemk. Mod. o
'-- Cmemk. o
12 directories, 40 files
[Root @ localhost cmem] #
the interface provided by cmem does not appear in the demo, but is encapsulated by middleware. Memory Allocation in dvsdk1.3 uses the memory_contigalloc () function of the memory module in the osal package in CE. The demo of dvsdk2.0 uses the dmai module (further encapsulation Based on CE ).