成都魏星

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星  发布于  2016-06-14 16:54:54
采纳率 0%
18个问答
5521

请教3516a sample问题

 
版主,你好!

我运行demo程序出现异常信息:


[SAMPLE_COMM_SYS_Init]-371: HI_MPI_SYS_SetConf failed s32Ret = 0x15

我查错误码,没有0x15,请问这是什么原因造成的呀?谢谢
我来回答
回答20个
时间排序
认可量排序

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-14 17:42:42
认可0
看看SAMPLE_COMM_SYS_Init代码,0x%x

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-14 17:52:58
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31624&ptid=11596]ngswfx 发表于 2016-6-14 17:42[/url]
看看SAMPLE_COMM_SYS_Init代码,0x%x[/quote]

还是返回0x15。

研究demo里面的
SNS_TYPE=mn34220        # sensor type

mem_total=512;          # 512M, total mem
mem_start=0x80000000;   # phy mem start

os_mem_size=64;         # 64M, os mem
mmz_start=0x84000000;   # mmz start addr
mmz_size=128M;          # 128M, mmz size

这样计算出来不是有512M-64M-128M内存没有使用

而我们的内存是就行了调整,调整为
SNS_TYPE=ov4689        # sensor type

mem_total=512;          # 512M, total mem
mem_start=0x80000000;   # phy mem start

os_mem_size=256;         # 256M, os mem
mmz_start=0x90000000;   # mmz start addr
mmz_size=256M;          # 256M, mmz size

请问我这样调整可以吗,谢谢

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-14 17:56:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31627&ptid=11596]成都魏星 发表于 2016-6-14 17:52[/url]
还是返回0x15。

研究demo里面的
[/quote]

当然可以了,只不过通常OS用不了那么多,64够了,即便64稍微紧张,通常摄像机程序128都浪费了。

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-14 18:17:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31628&ptid=11596]ngswfx 发表于 2016-6-14 17:56[/url]
当然可以了,只不过通常OS用不了那么多,64够了,即便64稍微紧张,通常摄像机程序128都浪费了。[/quote]

calc_mmz_info()
{
        mmz_start=`echo "$mem_start $os_mem_size" |
        awk 'BEGIN { temp = 0; }
        {
                temp = $1/1024/1024 + $2;
        }
       
        END { printf("0x%x00000\n", temp); }'`
       
        mmz_size=`echo "$mem_total $os_mem_size" |
        awk 'BEGIN { temp = 0; }
        {
                temp = $1 - $2;
        }
        END { printf("%dM\n", temp); }'`
        echo "mmz_start: $mmz_start, mmz_size: $mmz_size"
}

执行load3516a出现Segmentation fault

跟踪
mmz_start=`echo "$mem_start $os_mem_size" |
        awk 'BEGIN { temp = 0; }
        {
                temp = $1/1024/1024 + $2;
        }
这段脚本出错,请问是什么原因呢?

还有我demo程序运行返回错误0x15是什么意思呢

谢谢

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-14 19:55:29
认可0
本帖最后由 ngswfx 于 2016-6-14 19:57 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=31636&ptid=11596]成都魏星 发表于 2016-6-14 18:17[/url]
calc_mmz_info()
{
        mmz_start=`echo "$mem_start $os_mem_size" |
[/quote]

自己随便改改试试。

有些东西我没弄过,有几个地方我也没看明白。

这些代码如果没什么用,可以屏蔽掉   calc_mmz_info()就是获取信息的,如果信息后面还要用,自己弄成固定的。如果仅仅想了解各种信息,需要跟踪预估各个值,再来判断具体出错点。

////你的内存是512M吗?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 08:16:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31636&ptid=11596]成都魏星 发表于 2016-6-14 18:17[/url]
calc_mmz_info()
{
        mmz_start=`echo "$mem_start $os_mem_size" |
[/quote]

修改OS/MMZ的大小有两个地方
1. OS的部分 : uboot 的 bootargs 中 mem=xxxM
    这个是设定linux使用mem的大小
    比如
     mem=256M,意思linux使用256M, 这里没有指定起始地址, 那么使用缺省值,对于海思得多数芯片来说都是物理地址0x80000000

2. MMZ的部分
   一般都在在load35xx.sh中的       
   insmod mmz.ko mmz=anonymous,0,$mmz_start,$mmz_size anony=1 || report_error
   来实现, 如果没有使用多参数的情况, 既只有一种固定的分配情况, 或者对脚本不是很熟悉(或者不想用海思的脚本的)可以把上面的命令直接写(对应楼主的总内存512M, OS 256M, MMZ 256M的情况)
   insmod mmz.ko mmz=anonymous,0,0x90000000,256M anony=1 || report_error

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 09:06:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31658&ptid=11596]zhuangweiye 发表于 2016-6-15 08:16[/url]
修改OS/MMZ的大小有两个地方
1. OS的部分 : uboot 的 bootargs 中 mem=xxxM
    这个是设定linux使用me ...[/quote]

版主你好,

[root@Surveon]# cat /proc/cmdline
init=/init mem=256M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squash
fs mtdparts=hi_sfc:1M(uboot),4M(kernel),23M(rootfs),4M(mtd)

[root@Surveon]# cat /proc/media-mem
+---ZONE: PHYS(0x90000000, 0x9FFFFFFF), GFP=0, nBYTES=262144KB, NAME="anonymous"
   |-MMB: phys(0x90000000, 0x9000FFFF), kvirt=0x  (null), flags=0x00000000, leng
th=64KB,        name="TDE_MEMPOOL_MMB"
   |-MMB: phys(0x90010000, 0x9004CFFF), kvirt=0x  (null), flags=0x00000000, leng
th=244KB,       name="VGS_NodeBuf"
   |-MMB: phys(0x9004D000, 0x9004FFFF), kvirt=0x  (null), flags=0x00000000, leng
th=12KB,        name="VGS_sclcoef"
   |-MMB: phys(0x90050000, 0x90052FFF), kvirt=0x  (null), flags=0x00000000, leng
th=12KB,        name="VGS_DefliSclcoe"
   |-MMB: phys(0x90053000, 0x9005AFFF), kvirt=0x  (null), flags=0x00000000, leng
th=32KB,        name="ACM LUTS"
   |-MMB: phys(0x9005B000, 0x9005BFFF), kvirt=0x  (null), flags=0x00000000, leng
th=4KB, name="ACM Coef"
   |-MMB: phys(0x9005C000, 0x9005DFFF), kvirt=0x  (null), flags=0x00000000, leng
th=8KB, name="sclcoeffset"
   |-MMB: phys(0x9005E000, 0x901F2FFF), kvirt=0x  (null), flags=0x00000000, leng
th=1620KB,      name="hifb_layer0"
   |-MMB: phys(0x901F3000, 0x901FFFFF), kvirt=0x  (null), flags=0x00000000, leng
th=52KB,        name="higo_log"
   |-MMB: phys(0x90200000, 0x90234FFF), kvirt=0x  (null), flags=0x00000000, leng
th=212KB,       name="IVE_QUEUE"
   |-MMB: phys(0x90235000, 0x90235FFF), kvirt=0x  (null), flags=0x00000000, leng
th=4KB, name="IVE_TEMP_NODE"

---MMZ_USE_INFO:
total size=262144KB(256MB),used=2264KB(2MB + 216KB),remain=259880KB(253MB + 808
KB),zone_number=1,block_number=11
这是否代表内存分配正常呢?

但是我执行sample程序
[SAMPLE_COMM_SYS_Init]-371: HI_MPI_SYS_SetConf failed s32Ret = 0x15

我查错误码,没有0x15,请问这是什么原因造成的呀?谢谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:39:43
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31666&ptid=11596]成都魏星 发表于 2016-6-15 09:06[/url]
版主你好,

[root@Surveon]# cat /proc/cmdline
[/quote]

见过海思文档上的多数错误码, 也见过-1(驱动没有加载的linux错误码)

无法理解为什么会有0x15的返回值

另外, 一般来说我相信海思, 如果有0x15的错误码, 那文档上一定会列出来的

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 09:56:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31678&ptid=11596]zhuangweiye 发表于 2016-6-15 09:39[/url]
见过海思文档上的多数错误码, 也见过-1(驱动没有加载的linux错误码)

无法理解为什么会有0x15的返回值 ...[/quote]

#define SAMPLE_SYS_ALIGN_WIDTH      64
stSysConf.u32AlignWidth = SAMPLE_SYS_ALIGN_WIDTH;
    s32Ret = HI_MPI_SYS_SetConf(&stSysConf);
    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("HI_MPI_SYS_SetConf failed s32Ret = 0x%x\n",s32Ret);
        return HI_FAILURE;
    }

我也相信海思也会对错误标示出来的,但是我现在执行的结果是:
open sys: Is a directory
open sys: Is a directory
[SAMPLE_COMM_SYS_Init]-371: HI_MPI_SYS_SetConf failed s32Ret = 0x15

可以麻烦你们的库里面看一下吗,谢谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 10:25:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31684&ptid=11596]成都魏星 发表于 2016-6-15 09:56[/url]
#define SAMPLE_SYS_ALIGN_WIDTH      64
stSysConf.u32AlignWidth = SAMPLE_SYS_ALIGN_WIDTH;
    s32 ...[/quote]

open sys: Is a directory

楼主的驱动正确加载了吗?

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 11:10:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31688&ptid=11596]zhuangweiye 发表于 2016-6-15 10:25[/url]
open sys: Is a directory

楼主的驱动正确加载了吗?[/quote]

[root@Surveon]# lsmod
Module                  Size  Used by    Tainted: P
hi_mipi                23533  0
hi3516a_adec            7540  0
hi3516a_aenc           50413  0
hi3516a_ao             91553  0
hi3516a_ai             93606  1 hi3516a_aenc
hi3516a_aio            27809  0
acodec                 10982  0
pwm                     2829  0
sensor_i2c              1441  0
hi3516a_ive            78006  0
hi3516a_vda           191153  0
hi3516a_jpege          54948  0
hi3516a_h265e         148260  0
hi3516a_h264e         167570  0
hi3516a_chnl           37033  0
hi3516a_venc          232838  3 hi3516a_jpege,hi3516a_h265e,hi3516a_h264e
hi3516a_rc             65337  0
hifb                   78337  0
hi3516a_vou           177564  1 hifb
hi3516a_vpss          313829  0
hi3516a_viu           243996  1 hi3516a_vpss
hi3516a_isp            79220  3 sensor_i2c,hi3516a_vpss,hi3516a_viu
hi3516a_vgs           129260  0
hi3516a_region         72173  0
hi3516a_tde           123117  2 hifb,hi3516a_region
hi3516a_sys            58339  2 hi3516a_vpss,hi3516a_viu
hi3516a_base           60904 23 hi3516a_adec,hi3516a_aenc,hi3516a_ao,hi3516a_ai,
hi3516a_aio,acodec,hi3516a_ive,hi3516a_vda,hi3516a_jpege,hi3516a_h265e,hi3516a_h
264e,hi3516a_chnl,hi3516a_venc,hi3516a_rc,hifb,hi3516a_vou,hi3516a_vpss,hi3516a_
viu,hi3516a_isp,hi3516a_vgs,hi3516a_region,hi3516a_tde,hi3516a_sys
hi_media                5877  6 hi_mipi,acodec,pwm,hifb,hi3516a_tde,hi3516a_base
mmz                    23210  6 hi3516a_ao,hi3516a_jpege,hi3516a_h265e,hi3516a_h
264e,hi3516a_tde,hi3516a_base
scsi_wait_scan           508  0
iscsi_tcp               8861  0
libiscsi_tcp           14661  1 iscsi_tcp
libiscsi               38774  2 iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi    42878  2 iscsi_tcp,libiscsi
hi_rtc                  7485  0

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 11:13:47
认可0
/dev/sys 是不是对呢?

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 11:29:43
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31698&ptid=11596]zhuangweiye 发表于 2016-6-15 11:13[/url]
/dev/sys 是不是对呢?[/quote]

[root@Surveon]# cd  /dev/sys/
[root@Surveon]# ls
[root@Surveon]#

查询为空

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 11:53:44
认可0
/dev/sys 应该是个node 而不是个目录, 显然这里有问题了

正常的是下面的

# ls /dev/sys -l
crw-rw---- 1 root root 218, 8 Jan 1 1970 /dev/sys
# cd /dev/sys
-sh: cd: can't cd to /dev/sys

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 11:59:43
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31708&ptid=11596]zhuangweiye 发表于 2016-6-15 11:53[/url]
/dev/sys 应该是个node 而不是个目录, 显然这里有问题了

正常的是下面的
[/quote]

谢谢你的支持,问题就在这里。非常感谢

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-15 12:22:15
认可0
本帖最后由 ngswfx 于 2016-6-15 12:24 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=31710&ptid=11596]成都魏星 发表于 2016-6-15 11:59[/url]
谢谢你的支持,问题就在这里。非常感谢[/quote]

你把出错原因说明一下,怎么把sys挂成目录的,说明一下造成的原因,也好让后来人,规避这个问题

////我想了一下,即便rootfs弄错,在dev目录下,有个sys空文件夹,进入系统后,mount内存盘到dev,应该就不存在了呀,这个/dev/sys应该是某个驱动模块搞出来的才对。

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 13:25:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31712&ptid=11596]ngswfx 发表于 2016-6-15 12:22[/url]
你把出错原因说明一下,怎么把sys挂成目录的,说明一下造成的原因,也好让后来人,规避这个问题

/// ...[/quote]

我们做平台的工程师在rootfs建了一个/dev/sys目录,把这个节点占了。海思驱动加载的时候就创建不了

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 13:30:10
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31710&ptid=11596]成都魏星 发表于 2016-6-15 11:59[/url]
谢谢你的支持,问题就在这里。非常感谢[/quote]

版主,用sample测试。

s32Ret = HI_MPI_VPSS_CreateGrp(VpssGrp, pstVpssGrpAttr);
    if (s32Ret != HI_SUCCESS)
    {
        SAMPLE_PRT("HI_MPI_VPSS_CreateGrp failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

返回错误HI_MPI_VPSS_CreateGrp failed with 0xa0078010!
查询文档是VPSS 系统未初始化
查询
[root@Surveon]# cat /dev/logmpp
<3>[  vpss] [Func]:VPSS_SetChnCover [Line]:3643 [Info]:<3>[  vpss] [grp0}:vpss u
nexist!
<3>[  vpss] [Func]:VPSS_SetChnCover [Line]:3643 [Info]:<3>[  vpss] [grp0}:vpss u
nexist!
<3>[   viu] [Func]:VIU_DRV_DisableChn [Line]:1276 [Info]:<3>[   viu] !! Disable
ViChn:0 timeout 120ms!!!

请教一下,这问题出在哪里呢?谢谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 14:03:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31720&ptid=11596]成都魏星 发表于 2016-6-15 13:30[/url]
版主,用sample测试。

s32Ret = HI_MPI_VPSS_CreateGrp(VpssGrp, pstVpssGrpAttr);
[/quote]

先检查驱动是否正确加载, /dev/vpss是否正确, 建议楼主先用海思自带的rootfs吧, 不然太浪费时间了

另外, 你们的平台工程师很威猛, 都不确定程序能不能跑就敢在海思的rootfs里面加东西

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-06-15 14:28:14
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31731&ptid=11596]zhuangweiye 发表于 2016-6-15 14:03[/url]
先检查驱动是否正确加载, /dev/vpss是否正确, 建议楼主先用海思自带的rootfs吧, 不然太浪费时间了

另 ...[/quote]

是驱动的问题,

驱动要用SDK里面配套的,我们这边的小伙子又出错了,呵呵

谢谢你的指导
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区