一、烧录
1.选择spi_nand版本的镜像,使用HiTools工具,按分区烧写,打开xml文件,勾选所有文件,开始烧录,按提示完成。
二、启动
将hiview中的代码拷贝到了网购的hi3516板中,启动步骤:
1. 将microUSB连接到电脑,显示CH340串口
2.打开MobaXterm,使用115200连接串口
3.注意启动信息里的IP地址
4.修改factory/cfg/bsp_def.json 中的sensor个数为2,数组为["imx327","imx307",""]
5. mount -o nolock 192.168.1.199:/home/wyx/hi3516/HIVIEW /nfsroot
6.拷贝app和factory文件夹和himm工具
7. export LD_LIBRARY_PATH=/app/lib
8.cd app
检查startapp.sh
/startapp.sh
ps #查看是否有相应的程序启动
ifconfig #查看ip地址
9.浏览器中打开 http://ip地址/w2ui
三、摄像头硬件测试
1.查看i2c0的引脚配置
himm 0x114F0074 //开机初始化时0x400,GOIO,使用./startapp.sh后变成0x422,I2C0
himm 0x114F0078 //开机初始化时0x400,GOIO,使用./startapp.sh后变成0x422,I2C0
2.使用i2c工具
i2cdetect -l //可用i2c资源
i2c_read 0 0x35 0x3000 0x30ff 2 1 //读寄存器,参数分别是 i2c0,设备地址0x35,寄存器起始地址:0x3000,结束地址:0x30ff,寄存器宽度2,数据长度1
四、代码编译
1. git clone 下载HIVIEW
2.cd HIVIEW
source build/3516d
make
3.复制mod/app/bin、lib、mod/webs/www等文件夹/app。
4.启动文件 startapp.sh:
cp /app/ll /bin/ -arf
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/lib
export PATH=$PATH:/app/bin
export TZ=UTC-8:00
mkdir -p /factory/cfg /app/cfg;
#zerotier:
export PATH=$PATH:/app/zerotier;zerotier.sh &
#srt:
export PATH=$PATH:/app/srt;
#ircut-day:
sns=$(echo $(grep "sensor" /factory/cfg/bsp_def.json) | sed -e "s/\"//g" -e "s/sensor://g" | cut -d ',' -f 1 | cut -d '[' -f 2)
echo "sensor is $sns"
if [ $sns == "imx334" ] ; then
echo 1 > /sys/class/gpio/gpio27/value;echo 1 > /sys/class/gpio/gpio28/value;
else
echo 1 > /sys/class/gpio/gpio27/value;echo 0 > /sys/class/gpio/gpio28/value;sleep 0.1;echo 0 > /sys/class/gpio/gpio27/value
fi
#mipi-dsi:
intf=$(echo $(grep "intf" /app/cfg/codec_parm.json) | sed -e "s/\"//g" -e "s/intf://g" | cut -d ',' -f 1 | cut -d '[' -f 2)
echo "intf is $intf"
if [ $intf == "1" ] ; then
echo 5 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio5/direction
echo 0 > /sys/class/gpio/gpio5/value;sleep 0.1;echo 1 > /sys/class/gpio/gpio5/value
fi
bsp.exe /factory/cfg/bsp_def.json /app/cfg/bsp_parm.json > /dev/null 2>&1 &
codec.exe /app/cfg/codec_parm.json > /dev/null 2>&1 &
rec.exe /app/cfg/rec_parm.json > /dev/null 2>&1 &
rtsps.exe /app/cfg/rtsps_parm.json > /dev/null 2>&1 &
rtmps.exe /app/cfg/rtmps_parm.json > /dev/null 2>&1 &
onvif.exe /app/cfg/onvif_parm.json > /dev/null 2>&1 &
webs.exe /app/cfg/webs_parm.json > /dev/null 2>&1 &
svp.exe /app/cfg/svp_parm.json > /dev/null 2>&1 &
app.exe /app/cfg/app_parm.json > /dev/null 2>&1 &
sips.exe /app/cfg/sips_parm.json > /dev/null 2>&1 &
srts.exe /app/cfg/srts_parm.json > /dev/null 2>&1 &
sleep 5;
if [ $sns == "bt1120" ] ; then
echo "sensor is $sns == bt1120"
/app/check_audio_sw.sh &
fi
if [ $sns == "yuv422" ] ; then
echo "sensor is $sns == yuv422"
/app/check_mipi_rx.sh &
fi
5.factory/cfg/bsp_def.json:
{
"board": {
"model": "IPC123",
"sn": "123456",
"type": "HI3516DV300_E_4_2",
"snscnt": 2,
"sensor": ["imx327", "imx307", "", "", "", "", "", ""],
"second": 0,
"caps": "ffffffff"
},
"base": {
"name": "HIVIEW",
"language": 0,
"zone": -480,
"mcastdev": "eth0"
},
"eth": {
"dhcp": 0,
"ipv6": 0,
"ipaddr": "192.168.0.100",
"netmask": "255.255.255.0",
"gateway": "192.168.0.1",
"dns1": "202.96.134.133",
"dns2": "202.96.128.86",
"mac": ""
},
"wifi": {
"en": 0,
"ap": 0,
"ssid": "",
"pwd": ""
},
"ntp": {
"prog": 600,
"server1": "server 0.cn.pool.ntp.org",
"server2": "server 1.cn.pool.ntp.org"
},
"admin": {
"name": "admin",
"pwd": "",
"caps": "0"
}
}
6.app/cfg中各种cfg.json文件