NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
DVSDK 4.x MemoryMap
What is the current memory partition[edit]
How to change to different memory map?[edit]
OMAPL138[edit]
This procedure applies to only OMAPL138 platform
The default memory partitioning of DVSDK is as in previous section. Say we want to partition it as below
Category | Memory Segment Name | Length | Start Address | Comment |
---|---|---|---|---|
Linux Memory | LINUX_MEM_1 | 48 MB | 0xC0000000 | increase by 16MB |
CMEM | CMEM | 20 MB | 0xC3000000 | base addressed moved and size increased by 2MB |
DSP text/data | DDR2 | 5 MB | 0xc4400000 | base addressed moved and size increased by 2MB |
DSPLINK (RESET) | DSPLINK (RESET) | 0x1000 Bytes | 0xc4900000 | base addressed moved |
DSPLINK (MEM) | DSPLINK (MEM) | 0xff000 Bytes | 0xc4901000 | base addressed moved |
DSP Algorithms | DDRALGHEAP | 12 MB | 0xC4A00000 | base addressed moved and size increased by 2MB |
Linux Memory | LINUX_MEM_2 | 42MB | 0xC5600000 | base addressed moved and size reduced by 22MB |
Step1: Change CMEM partition
- In the file <your-target-filesystem>/etc/init.d/loadmodule-rc change the cmem script as below
- modprobe cmemk phys_start=0xC3000000 phys_end=0xC4400000 useHeapIfPoolUnavailable=1 allowOverlap=1
- In the file <your-target-filesystem>/etc/init.d/loadmodule-rc change the cmem script as below
Step2: Change Codec server or DSP partition
- In file <your-DVSDK-install-location/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/memmap.tci changes the partitions as below
var mem_ext = [
- {
- comment: "DDR2: off-chip memory for application code and data",
- name: "DDR2",
- base: 0xc4400000,
- len: 0x00500000,
- space: "code/data"
- },
- {
- comment: "RESET_VECTOR: off-chip memory for the reset vector table",
- name: "RESET_VECTOR",
- base: 0xc4900000,
- len: 0x00001000,
- space: "code/data"
- },
- {
- comment: "DSPLINK: off-chip memory reserved for DSPLINK code and data",
- name: "DSPLINKMEM",
- base: 0xc4901000,
- len: 0x000FF000,
- space: "code/data"
- },
- {
- comment: "DDRALGHEAP: off-chip memory for dynamic algmem allocation",
- name: "DDRALGHEAP",
- base: 0xc4A00000,
- len: 0x00C00000,
- space: "code/data"
- },
- ];
Step3: Rebuild codec server & Transfer newly built codec server to target file system using the below steps, Refer to section "Rebuilding the DVSDK components" in document OMAPL138_Software_Developers_Guide.pdf for more details on this.
- cd <your-DVSDK-install-location>
- make codecs_clean
- make codecs <-- build the codec server
- make codecs_install <-- transfer the codec server to target file system
Step4: Change linux partition
- Change your bootargs to reflect new memory partition
- setenv bootargs '.... mem=48M@0xc0000000 mem=42M@0xc5600000 ....'
- Change your bootargs to reflect new memory partition
Now invoke multi media demos, this should run with the new memory partitions.
Note: Refer individual components (C6accel, C6run, Audio-soc-example, Codec engine example, Dsplink example, etc...) source files to change their respective memory partitions.
- For audio-soc-example: <your-DVSDK-install-location>/audio-soc-example_1_00_00_03/dsp/evmOMAPL138/audio.tcf which includes file (<your-DVSDK-install-location>/dsplink_1_65_01_05_eng/dsplink/dsp/inc/DspBios/5.XX/OMAPL138GEM/dsplink-omapl138gem-base.tci) via 'utils.importFile("dsplink-omapl138gem-base.tci");' which has memory info