HI3559A DMEB试玩
- 1、 不支持himm命令
- 2、 默认ip设置
- 3、 设置登录密码
- 4、 不支持telnet登录
- 5、 不支持ftp
- 7、 命令行的现实格式修改
- 9、 IIC例程不通
- 10、 HI3559a从emmc启动,文件系统变为只读
- 11、 驱动加载
- 12、 官方例程中SENSOR不出图
最近需要使用3559来,之前没有玩过海思系列,使用较多的是xilinx的zynq7000和ultrascale,m300等。但是接触一些海思的sdk套路,基本就是按照sdk中的说明操作进行,基本无障碍。本文主要是记录或者标注一下调试过程,方便快速开启自己的系统。
1、 不支持himm命令
通过“btools -h”查查看显示如下:
解决:
海思根文件默认没有把himm工具集成在bin里,但是在sdk中Hi3516CV300_SDK_V1.0.3.0/osdrv/tools/board/reg-tools-1.0.0/bin有该文件,拷贝至板卡的/bin目录即可。
验证:
实际上缺少的是软连接,自己创建或者取用上述目录下的文件即可。
2、 默认ip设置
对文件系统中文件/etc/init.d/S80network进行填写即可。
默认的是没有填写的,如下:
3、 设置登录密码
1) 修改inittab文件
将#::askfirst:-/bin/sh改为::askfirst:-/bin/login;
再将::respawn:/sbin/getty -L ttyS000 115200 vt100 -n root -I "Auto login as root …"这一行注释掉,如下图:
2) 使用passwd root设置密码,默认设置为hust
3) 查看板卡上文件系统中的/etc/passwd文件,如下:
复制root:uZEVRVSEDeuu6:0:0::/root:/bin/sh到虚拟机中的rootfs的/etc/passwd中,文件系统重新烧录。重启。
4、 不支持telnet登录
在启动脚本中增加命令:telnetd&
5、 不支持ftp
1) mkdir /hust
2) chmod –R 777 /hust
3) tcpsvd -vE 0.0.0.0 21 ftpd /hust -w &
4) 电脑访问:ftp://192.168.1.168,输入账号root,密码hust
5) 正常的读写文件
7、 命令行的现实格式修改
在/etc/profile文件在最后加上一行语句:
1). 命令行提示符完全显示完整的工作目录名称:
export PS1=‘[\u@\h:$PWD]$’
2). 命令行提示符只列出最后一个目录:
export PS1=‘[\u@\h \W]$’
3). 命令行提示符显示完整工作目录,当前用户目录会以 ~代替:
export PS1='[\u@\h \w]$ ’
命令释义:
\u 显示当前用户账号
\h 显示当前主机名
\W 只显示当前路径最后一个目录
\w 显示当前绝对路径(当前用户目录会以 ~代替)
$PWD 显示当前全路径
$ 显示命令行’$'或者’#'符号
9、 IIC例程不通
执行官方例程i2c_read 11 0x49 0 0x10报错误如上。
i2cdetect -y -r 11//检测i2c总线11上面有哪些设备(海思的这个工具好像读取的地址不准)
i2cdump -y 11 0x56//查看总线11,设备地址0x56上的设备的I2C寄存器的值
i2cset -f –y 11 0x56 0x23 5 总线11,设备地址为0x56的设备,设置寄存器0x23的值为0x5
i2cget -f -y 11 0x56 0x0 总线11,设备地址为0x56的设备,读取寄存器0x0的值
解决:使用以上命令时,需要对数值乘2.
因此下图对应的地址分别为:
i2c_read 11 0x92 0 0x10
i2c_read 11 0x94 0 0x10
i2c_read 11 0x98 0 0x10
i2c_read 11 0x9e 0 0x10
i2c_read 11 0x9c 0 0x10
i2c_read 11 0xd0 0 0x10
i2c_read 11 0xd2 0 0x10
10、 HI3559a从emmc启动,文件系统变为只读
启动打印:VFS: Mounted root (ext4 filesystem) readonly on device 179:3
解决:多方查找原因后来发现是在uboot传给kernel的cmdline有点问题,没有加rw选项。
在uboot中重配置cmdline解决。
11、 驱动加载
cd /hust/hi3559_ko //这一行必须要。
./load3559av100_multicore -i -sensor0 imx334
12、 官方例程中SENSOR不出图
1) IIC通信正常
2) 使用海思的检测工具,cat /proc/umap/hi_mipi 显示结果是无mipi数据。
3) 运行vio等例程时,无报错,但是没有画面,后追查为编译的app使用的sensor宏定义为imx477,而实际的sensor为imx334。
4) 修改办法:在sample目录下打开Makefile.param文件,找到“SENSOR0_TYPE ?= SONY_IMX334_MIPI_8M_30FPS_12BIT”,修改成自己想要sensor,需要自己增加驱动的话参考https://blog.csdn.net/qq_31764341/article/details/126971427。然后重新编译sample目录即可。
5) 接着显示器显示不支持的分别率,后查实为输出的是4kp30,我的显示器不支持4k和30的帧率,更换一个4k的下显示器画面正常。当然也可以去修改代码,输出1080p60。