Benz

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz  发布于  2016-11-09 11:14:20
采纳率 0%
29个问答
3462

关于运行例程 系统卡死的问题

 
Hi3518e + ov9712  加载了海思MPP驱动之后, 运行例程,  系统卡死,  是我的例程与开发板不匹配吗?  还是OS与MPP 后台冲突了??
我来回答
回答6个
时间排序
认可量排序

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2016-11-09 19:33:08
认可0
本帖最后由 Benz 于 2016-11-10 10:05 编辑

问题解决了, 是海思3518e的板子,在分配OS和MMZ 内存的时候, 分别要分配32M ,我的问题主要是:之前分配64M的内存, 导致错误,  至于错误的 深层次原因,目前还不知道,还请路过的前辈赐教。
        u-boot启动之后,内核传参时设置OS内存如下setenv bootargs ‘mem=32M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=jffs2         mtdparts=hi_sfc:5M(boot),9M(rootfs)’   。

         在板子的系统中加载MPP相关驱动时,在ko/目录下修改load3518e的脚本里的这一行  (即设置MMZ内存)insmod mmz.ko mmz=anonymous,0,0x82000000,32M anony=1 || report_error   #for 3518E use    (我之前试过的 0x84...   0x8800......  可以加载驱动,但是sample不能运行 )

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-11-10 09:12:53
认可0
本帖最后由 zhuangweiye 于 2016-11-10 09:15 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=41046&ptid=13305]Benz 发表于 2016-11-9 19:33[/url]
问题解决了, 是海思3518e的板子,在分配OS和MMZ 内存的时候, 分别要分配32M ,我的问题主要是:之前分配6 ...[/quote]

0x82000000和32M的意思是 : MMZ从物理地址0x8200 0000开始,长度32M

几个注意点:
1. 0x8000 0000 是芯片ddr的起始地址, 这个是物理地址,是芯片相关的,不同的芯片可能是不一样的
2. 从物理地址来看, OS在上, MMZ在下(这里的上和下是指把mem画成低地址在上,高地址在下的图)
3. OS和MMZ不能重叠,并不要求OS+MMZ == 总内存(话说回来了,OS+MMZ是不能大于总内存,意味着不相等就是小于,就等于有mem即不归OS管辖也不在MMZ管辖,等于浪费了,所以出于节约的目的都是OS+MMZ == 总内存)
4. 0x8200000 - 0x80000000 = 0x02000000 = 32M,  这个正好和楼主bootargs 中mem=32M 相符合
   即 0x80000000 - 0x81ffffff是OS 共32M
       0x82000000 - 0x83ffffff是MMZ共32M, 总内存是0x80000000 - 0x83ffffff 共64M

5。如果修改一下, mem=28M, MMZ = 64 - 28 = 36M那么
     bootargs中mem=28M
     load脚本中insmod mmz.ko mmz=anonymous,0,0x81C00000,36M anony=1 || report_error
     即 0x80000000 - 0x81bfffff是OS 共28M
         0x81c00000 - 0x83ffffff是MMZ共36M, 总内存是0x80000000 - 0x83ffffff 共64M
   

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2016-11-10 09:55:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=41054&ptid=13305]zhuangweiye 发表于 2016-11-10 09:12[/url]
0x82000000和32M的意思是 : MMZ从物理地址0x8200 0000开始,长度32M

几个注意点:
[/quote]

1. 嗯,仔细看了你的帖子,感觉收获很大,解决了我好多困惑。 非常感谢大神......
2. 对于DDR 64M的空间, 我也想合理的分配一下, 到底OS和MMZ 分别分配多少比较合适? 有什么依据吗?
3. 还有一个小问题, 海思资料上写着 3518e的DDR是512M,跟这里使用的 64M什么关系 ?
       再次感谢大神 :handshake

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2016-11-10 10:01:46
认可0
本帖最后由 Benz 于 2016-11-10 10:02 编辑

在这里,我分享一个 用脚本实现分配 MMZ大小的例子。 在bootargs时设置好OS的mem,然后把下面的代码添加到 load3518e的脚本中, 就可以自动分配MMZ大小,(还可以在调试的串口打印出分配的信息)

    cmdline=`cat /proc/cmdline`
    osmemstr=${cmdline##mem=}
    osmemsize=${osmemstr%%M *}
    mppmemsize=$(expr 64 - $osmemsize)
    mppoffset=$(expr 32 - $mppmemsize)
    mppmemaddr=$(expr 2181038080 + 1048576 \* $mppoffset) #2181038080=0x82000000; 1048576=0x100000
    mppmemaddr_hex=`printf 0x%08X $mppmemaddr`
    echo "mpp mem addr: ${mppmemaddr_hex}"
    echo "mpp mem size: ${mppmemsize}M"

    insmod mmz.ko mmz=anonymous,0,${mppmemaddr_hex},${mppmemsize}M anony=1 || report_error   #for 3518E use

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-11-10 10:41:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=41058&ptid=13305]Benz 发表于 2016-11-10 09:55[/url]
1. 嗯,仔细看了你的帖子,感觉收获很大,解决了我好多困惑。 非常感谢大神......
2. 对于DDR 64M的空间 ...[/quote]

一般来说, 根据业务情况先确定MMZ的使用情况, 可以根据初始化的情况初步定一个OS和MMZ的大小, 然后根据实际业务情况来调整, 一般情况下如果DDR比较富裕(比如128Mddr根本做不到而256Mddr比较富裕)的情况下, 几次调整即可, 如果是ddr正好在边界上(比如64Mddr好像不够,但好像也能做)的情况下, 就需要不断调整代码,多次调整.

楼主说的512M应该是能接的最大值吧

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2016-11-10 10:52:16
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=41068&ptid=13305]zhuangweiye 发表于 2016-11-10 10:41[/url]
一般来说, 根据业务情况先确定MMZ的使用情况, 可以根据初始化的情况初步定一个OS和MMZ的大小, 然后根据实 ...[/quote]

好的,明白了。我看看 启动内核加载MPP时的信息, 确定一下内存的使用情况,再合理分配.
对, 有可能是 支持的最大容量, 我用的板子只有64M, 所以我把MMZ内存分配到0x84000000之后都是无效的
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区