dm6446 内存分配及修改
来源:互联网 发布:河南科技学院网络教学 编辑:程序博客网 时间:2024/06/16 22:41
1、合众达dm6446 开发板128M 内存分配如下:
2、经过系统测试,Linux至少需要35M内存才能正常运行程序。
3、为了增大DDRALGHEAP内存大小,修改的内存图表如下:
4、修改步骤如下:
(1) 重新生成dsplinkk.ko
a. cd /opt/dvevm_1_20/dsplink_1_30_08_02/packages/dsplink
b. gedit config/all/CFG_Davinci.TXT
c. 找到"RESUMEADDR"处,缺省下会看到其值为0x8FF00020.将之改变成值(RESET_VECTOR段起始地址值 +0x20);
d. 找到“RESETVECTOR”处,将其值修改memory map中RESET_VECTOR段的起始地址值;
e.找到"MEMTABLE0"的入口处.在这你会发信某些entries与你的memory map类似,而有些却不同. 找到其中的DSPLINKMEM,RESETCTRL(即RESET_VECTOR),DDR. 将它们的地址和尺寸修改成与你的memory map相同(其中ADDRDSPVIRTUAL和ADDRPHYSICAL相同),无需担心这里找不到DDRALGHEAP,因为DSPLink不需要知道它的值,原因是DSPLink的内容只是在DSP被启动但尚未被ARM访问阶段存在.从这里可见,只有DDR等以下的三个段发生改变时才需要重新编译dsplink.ko
f. 设置环境变量:source etc/host/scripts/Linux/dsplinkenv
g. 编译模块:gcc –C gpp/src
gcc –C dsp/src
h. 生成可执行文件路径: gpp/export/BIN/Linux/Davinci/RELEASE
(2)修改DSP Sever端的.tcf配置文件中的memory map数组,如下:
var mem_ext = [
{
comment: "DDRALGHEAP: off-chip memory for dynamic algmem allocation",
name: "DDRALGHEAP",
base: 0x83A00000,
len: 0x3C00000, //60MB
space: "code/data"
},
{
comment: "DDR: off-chip memory for application code and data",
name: "DDR",
base: 0x87600000,
len: 0x800000, //8MB
space: "code/data"
},
{
comment: "DSPLINK: off-chip memory reserved for DSPLINK code and data",
name: "DSPLINKMEM",
base: 0x87E00000,
len: 0x00100000, // 1MB
space: "code/data"
},
{
comment: "RESET_VECTOR: off-chip memory for the reset vector table",
name: "RESET_VECTOR",
base: 0x87F00000,
len: 0x00000080,
space: "code/data"
},
];
(3)修改loadmodules.sh中CMEM起始地址、和介绍地址
insmod cmemk.ko phys_start=0x83200000 phys_end=0x83A00000 pools=1x3145728,6x829440,1x61440,1x10240
(4)修改Linux内存参数
$ Setenv bootargs mem=50M console=ttyS0,115200n8 root=/dev/nfs noinitrd rw ip=192.168.1.113:192.168.1.1:255.255.255.0 nfsroot=192.168.1.112:/opt/nfs video=dm6446fb:output=pal
$ saveenv
- dm6446 内存分配及修改
- DM6446 内存分配详解
- DM6446 内存分配详解
- dm6446的内存分配(davinci)
- 内存分配及指针
- 变量及内存分配
- 内存分配及时机
- wince内存分配及管理
- 栈帧及内存分配
- C#堆栈及内存分配
- JAVA变量及内存分配
- java内存分配及释放
- JAVA变量及内存分配
- this关键字及内存分配
- **的内存分配及释放
- JVM内存组成及分配
- jvm内存模型及分配
- linux内存分配及内存管理
- 下拉放大及回弹效果
- Chem 3D中如何创建立体模型
- 记录Vim用过的命令<2>
- 关于cocos2dx客户端程序的自动更新解决方案
- Nginx反向代理关于端口的问题
- dm6446 内存分配及修改
- android string.xml 中显示特殊符号
- 敌机飞机的添加
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之四
- iOS 常用公共方法(一)
- Android 使用JmDNS查找和注册设备
- Android设计模式笔记-单例模式、策略模式
- Unity3d简单的资源管理器
- Java web复习要点