EMB-7540

来自ARM Wiki
跳转至: 导航搜索

介绍


  • EMB-7540(简称7540)是华北工控为网络IP视频监控系统量身打造,大小仅为120x80mm大小,可运行Linux操作系统。
  • EMB-7540采用HiSilicon Hi3559A 2xA73 + 2xA53四核处理器,产品基于智能海思芯片组视觉平台,具有高品质超高清视频编解码能力、接口丰富、扩展性强等特点。
  • EMB-7540拥有稳定可靠的工业级性能,可广泛应用网络视频监控系统、IP摄像头、网络监控摄像机、视频服务器等行业领域。

资源特性

  • CPU:HiSilicon Hi3559A 2xA73 + 2xA53四核处理器
  • GPU:Mali 2*G71@900MHz GPU
  • Memory:板载4GB DDR4
  • Storage:板载16GB iNAND Flash,1x TF卡槽
  • Ethernet: 1 x LAN,10/100/1000Mbps
  • Input:CMOS Sensor:(根据镜头规格设计转接板)
1x8K30fps 输入;
2x4K60fps 输入;
或4x4K30fps 输入/6x1080P30fps输入
  • Display:1xHDMI,1xMIPI/LVDS
  • Touch:电容或电阻屏
  • USB Host: 1x USB3.0,1x Mini USB2.0
  • COM: 1x COM232;1x COM485;1x debug
  • Audio:1xMic;1xLine out;1xMic(3.5mm四节耳机孔)
  • Other I/O: 2xDI,1xDO;2xGyroscope;支持GPIO,I2C,SPI扩展
  • System Control:1xRST BUTTON,1xPWR LED
  • RTC:支持
  • Watchdog:支持
  • Power Supply:单电源+ 12V DC
  • Temperature:Work :-20℃ ~ +65℃, Storage :-40℃ ~ +85℃
  • Humidity:5% ~ 95%相对湿度,无冷凝
  • Size: 120mm x 80 mm
  • OS: Linux


接口布局和尺寸

接口概览

EMB-7540 接口布局 EMB-7540 接口布局1

接口引脚定义

传感器接口转接板定义

机械尺寸

文件:EMB-7540尺寸.png

烧录方法

烧录方法选择:
  • 1 : 如果您拿到的单板没有 uboot,就需要使用 HiTool 工具进行烧写。
  • 2 : 如果您拿到的单板中已经有 uboot,可以按照以下步骤使用网口烧写 uboot、kernel 及 rootfs 到 Flash 中。

nfs 烧录方法

  • 步骤 1. 配置 tftp 服务器
可以使用任意的 tftp 服务器,将发布包 image_glibc_multi-core_arm64 目录下的相关文件拷贝到 tftp 服务器目录下。
  • 步骤 2. 参数配置
单板上电后,敲任意键进入 u-boot。设置 ipaddr(单板 ip)、ethaddr(单板的 MAC 地址)和 serverip(即 tftp 服务器的 ip)。
setenv ipaddr 10.67.208.170
setenv ethaddr 00:10:ab:20:81:70
setenv netmask 255.255.254.0
setenv gatewayip 10.67.208.1
setenv serverip 10.67.209.239
ping serverip,确保网络畅通。
以上为举例,IP 以实际为准。
  • 步骤 3. 烧写 multi-core 版本映像文件到 SPI NAND
注意:单 Linux 方案要烧写 image_glibc_multi-core_arm64 目录中的镜像文件!
1.地址空间说明
1M 9M 16M
uboot kernel rootfs
以下操作基于图示的地址空间分配,也可以根据实际情况进行调整。
2. 拨码选择主 CPU
通过拨码开关 SW1.4 设置选择主 CPU:
0:从 A53MP Core0 启动;
1:从 A53UP 启动。
3.烧写 u-boot
mw.b 0x44000000 0xff 0x100000
nand erase 0x0 0x100000
tftp 0x44000000 u-boot-hi3559av100.bin
4.烧写内核
nand write 0x44000000 0x0 0x100000
mw.b 0x44000000 0xff 0x900000
tftp 0x44000000 uImage_hi3559av100_multi-core
nand erase 0x100000 0x900000
nand write 0x44000000 0x100000 0x900000
5.烧写文件系统
mw.b 0x44000000 0xff 0x1000000
tftp 0x44000000 rootfs_hi3559av100_2k_24bit.yaffs2
nand erase 0xA00000 0x1000000
nand write.yaffs 0x44000000 0xA00000 0xcfeb00 (0xcfeb00 为 rootfs 文件实际大小)
6.设置启动参数
setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rw
rootfstype=yaffs2 mtdparts=hinand:1M(boot),9M(kernel),16M(rootfs)'
setenv bootcmd 'nand read 0x44000000 0x100000 0x900000;bootm 0x44000000'
saveenv
7. 重启系统
reset

HiTool 烧录方法

适用场景

  • 适用于一键烧写所有程序镜像到单板flash 上的场景、单板已有 boot 可按地址烧写其他程序镜像到单板 flash 上的场景,以及在空板上只烧写 boot 到单板 flash 上的场景。
  • 本文只介绍 <eMMC烧录>方法。

环境部署

HiBurn 工具烧写的环境准备如下:
  • 步骤 1. PC 与单板之间连接好串口、网线,且因工具烧写需要涉及到与 bootrom 交互,故单板硬件上 bootrom_sel 需要设置为 1,从 bootrom 启动。
  • 步骤 2. 把 HiTool-BVT-X.X.X.zip 拷贝到 PC 上(PC 要求安装 Win7、XP 操作系统)的某个本地硬盘。在 HiTool-XXX-4.0.15 及以后的版本已经集成了 jre,无需单独安装 JRE。如果是老版本工具,请预先安装的 32 位的 jre1.6(如 jre-6u1-windows-i586-p),否则HiTool 可能无法运行。
链接如下:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
查看当前 PC 安装的 JRE 版本号,可以通过在开始->运行->键入 cmd 中输入 java –version 查看当前已安装的 JRE 版本号,若当前版本为 1.6.0_xx 即可,若当前版本号高于 1.6,则请参考 FAQ 7.15。
  • 步骤 3. 解压 HiTool-BVT-X.X.X.zip,双击工具目录下的 HiTool.exe,打开 HiTool 工具,如图 1-1 所示。
图1-1 从 HiTool 工具目录打开 HiTool 工具
  • 步骤 4. 选择单板对应的芯片型号,如图 1-2 所示。
图1-2 选择单板对应的芯片型号
  • 步骤 5. 在欢迎页中选择 HiBurn 工具, 如图 1-3 所示。
图1-3 选择 HiBurn 工具
  • 步骤 6. 参数配置,选择连接单板所用的串口,选择 PC 端使用的网络 IP 地址,配置好单板的MAC 地址、IP 地址、子网掩码以及网关,配置如图 1-4 所示。
图1-4 参数设置
  • 步骤 7. 可选步骤,Hi3516CV300/Hi3559AV100 芯片支持 USB 裸烧,Hi3559V100/Hi3556V100 芯片支持 USB 非裸烧,需要提前在 Windows 平台的 PC 机上,安装好指定的驱动,安装方法如下:
1.从 http://zadig.akeo.ie 上下载 zadig.exe 文件,请根据自己的操作系统下载相应的 exe 执行文件,当前最新版本如下(请以实际为准):
  • zadig_xp_2.2.exe
  • zadig_2.2.exe
以 win7 系统下驱动安装为例(XP 系统下驱动安装与此相同)。
2.打开 zadig_2.2.exe 文件,选择 Options->List All Devices,将 List All Devices 勾上,如图 1-5 所示。
图1-5 勾选 List All Devices
3.单板上电 ,在 红色 方 框 位 置 选 择正确 的 设备 , 然 后在 蓝色 方 框 内选 择驱动 libusbK,点击“Install Driver”或者“Replace Driver”,如图 1-6 所示。(单板上电时,需要进入 USB 模式)
图1-6 安装 libusbK
4.LibusbK 安装完成之后,此时单板已自动与主机断开连接,设备管理器已检测不到单板的存在,单板需要重新上电,然后再安装驱动 libusb-win32,安装方法同 libusbK 安装方法。
图1-7 安装 libusb-win32
5.LibusbK 和 libusb-win32 安装完成之后,打开设备管理器,单板重新上电,查看驱动是否安装正确,如图 1-8 为正确安装后的状态。
图1-8 驱动正确安装后的设备管理器

eMMC烧录

适用场景
适用场景如下:只适用于 eMMC 烧写,不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
烧写步骤
具体烧写步骤如下:
  • 步骤 1. 切换到“烧写 eMMC”页签,如图 5-1 所示。
图5-1 eMMC 烧写界面
说明:
切换“默认采用 XML 所在路径”的勾选状态,若勾选,则优先在 XML 路径下查找该分区文件。若不勾选,则优先采用绝对路径查找该文件,若找不到,再尝试以在 XML 所在目录下查找该文件,该状态默认被勾选。
XML 是一个配置文件用于保存分区表信息的,可以将编辑的分区表使用工具上的 Save 按钮保存成一个 XML 文件,下次打开工具时,将 XML 导入进来,分区表信息就直接加载进来。
  • 步骤 2. 配置单板分区信息,点击“浏览”,可选择已设置好的分区表信息,载入工具中,如图 5-2 所示界面。
图5-2 配置单板分区信息
  • 步骤 3. 准备单板环境。连接单板的串口和网口,如果单板处于通电状态,给单板下电 。
  • 步骤 4. 烧写单板,点击烧写按钮【Burn】。
  • 步骤 5. 给单板上电,进入烧写过程,等待烧写完成。
  • 烧写过程的信息会在控制台中显示。
  • 串口选择是否正确。
  • IP 地址设置是否正确,地址是否被占用。
  • 是否有短接单板上的自举跳线。
  • 步骤 6. 烧写完成,连接终端工具,重启单板。

编解码Demo演示

sample_venc(视频数据编码)

1 ~ # ./sample_venc
2 Usage : ./sample_venc [index] 
3     index:
4     0) H.265e@4K@120fps + H264e@1080p@30fps.
5     1) H.265e@4K@60fps + H264e@4K@60fp.
6     2) Lowdelay:H.265e@4K@30fps.
7     3) IntraRefresh:H.265e@4K@60fps + H264e@4K@60fps.
8     4) Qpmap:H.265e@4K + H264e@4K@60fps.
9     5) Mjpeg@4K@60fps +Jpeg@4K.
shell 说明:
1. 运行sample_venc (录制) 视频编码样例
2. 使用方法: ./sample_venc [index]
3. 参数<索引>
4. 0) h265编码,4096×2160分辨率,每秒120帧 + h264编码,1920x1080分辨率,每秒30帧
5. 1) h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
6. 2) Lowdelay(低延时属性):h265编码,4096×2160分辨率,每秒30帧
7. 3) IntraRefresh(P 帧帧内刷新):h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
8. 4) Qpmap(是一种码率控制模式):h265编码,4096×2160分辨率 + h264编码,4096×2160分辨率,每秒60帧
9. 5) Mjpeg(Mjpeg协议编码方式)的4096×2160分辨率,每秒60帧 + Jpeg(Jpeg的编码)的4096×2160分辨率
例如:
./sample_venc 0 //就是进行h265视频编码录制,默认存储到当前。

sample_vdec(视频数据解码)

 1 ~ # ./sample_vdec
 2 Usage : ./sample_vdec <index> <IntfSync >
 3 index:
 4     0)  VDEC(H265)-VPSS-VO
 5     1)  VDEC(H264)-VPSS-VO
 6     2)  VDEC(JPEG->YUV)-VPSS-VO
 7     3)  VDEC(JPEG->RGB)
 8 IntfSync :
 9     0) VO HDMI 4K@30fps.
10     1) VO HDMI 1080P@30fps.
shell 说明:
1. 运行sample_vdec (播放) 视频解码样例
2. 使用提示: ./sample_vdec <索引> <Vo接口时序类型 >
3. 参数<索引>:
4. 0) VDEC解码器输入(H265的编码格式图片/视频)--->VPSS(视频输入缓存块)--->VO(图片/视频输出)
5. 1) VDEC解码器输入(H264的编码格式图片/视频)--->VPSS(视频输入缓存块)--->VO(图片/视频输出)
6. 2) VDEC解码器输入(JPEG数据)--->VPSS(视频输入缓存块)--->VO(YUV图片/视频输出)
7. 3) VDEC解码器输入JPEG解码成RGB数据
8. 参数<IntfSync>:
9. 0) 输出到HDMI 4096×2160分辨率,每秒30帧
10. 1) 输出到HDMI 1920x1080分辨率,每秒30帧
例如:
./sample_vdec 0 1 //就是将存储到当前的h265视频进行解码回放,并且以1080P输出到HDMI。

sample_audio(音频相关)

1 ~ # ./sample_audio
2 /Usage:./sample_audio <index>/
3     index and its function list below
4     0)  start AI to AO loop
5     1)  send audio frame to AENC channel from AI, save them
6     2)  read audio stream from file, decode and send AO
7     3)  start AI(VQE process), then send to AO
8     4)  start AI to AO(Hdmi) loop
9     5)  start AI to AO(Syschn) loop
shell 说明:
1. 运行sample_audio 音频 (编码/解码)样例
2. 使用提示:./sample_audio <索引>
3. 以下内容是索引对应的功能
4. 0) 循环音频从输入到输出 (话筒功能)
5. 1) 通过音频输入发送音频帧到音频编码通道,保存起来 (录音功能)
6. 2) 从文件读取音频流,解码然后发送到输出 (播放功能)
7. 3) 通过音频输入声音质量增强处理,然后输出音频 (话筒功能)
8. 4) 循环音频输入到HDMI通道音频输出 (话筒功能)
9. 5) 循环音频输入到系统音通道音频输出 (话筒功能)
例如:
./sample_audio 1 //就是将麦克1输入进来的音频,以acc格式编码录音存储在当前。
./sample_audio 2 //就是将存储的acc音频进行解码回放输出。

sample_snap(拍照)

1 ~ # ./sample_snap
2 Usage : ./sample_snap <index> 
3 index:
4          0)double pipe offline, normal snap.
shell 说明:
1. 运行sample_snap 拍照
2. 使用说明:./sample_snap <索引>
3. 参数<索引>
4. 0)双 pipe 离线模式普通拍照
例如:
./sample_snap 0 //拍照,以jpg格式存储在当前目录。

sample_dpu_main

1 ~ # ./sample_dpu_main
2 Usage : ./sample_dpu_main <index>                                               
3 index:                                                                          
4          0) VI->VPSS->RECT->MATCH.                                              
5          1) FILE->RECT->MATCH.
shell 说明:
1. 运行 sample_dpu_main
2. 使用方法:./sample_dpu_main <索引>
3. <索引>
4. 0) DPU(Depth Process Unit)对输入的左图像和右图像经过校正和匹配计算得出深度图
5. 1) DPU(Depth Process Unit)对读取的文件的左图像和右图像经过校正和匹配计算得出深度图

sample_avs(Any View Stitching,全景拼接)

1 ~ # ./sample_avs
2 Usage : ./sample_avs <index>
3 index:
4          0) 2 fisheye stitching, Normal projection.
5          1) 4 fisheye stitching, Cube map.
6          2) 4 pic no blend stitching.
7          3) 8 nonfisheye Equirectangular.
8          4) 2 fisheye stitching, Image stabilizing.
9          5) Generate lut.
shell 说明:
1. 运行 sample_avs
2. 使用说明: ./sample_avs <index>
3. <index>
4. 0) 2个CAM 鱼眼拼接正常显示模式
5. 1) 4个CAM 鱼眼拼接呈现立体显示效果
6. 2) 4个CAM 图片无混合拼接
7. 3)
8. 4)
9. 5)

sample_fisheye

 1 ~ # ./sample_fisheye
 2 
 3 Usage : ./sample_fisheye <index> <vo intf> <venc type>
 4 index:
 5          0) fisheye 360 panorama 2 half with ceiling mount.
 6          1) fisheye 360 panorama and 2 normal PTZ with desktop mount.
 7          2) fisheye 180 panorama and 2 normal dynamic PTZ with wall mount.
 8          3) fisheye source picture and 3 normal PTZ with wall mount.
 9          4) nine_lattice preview(Only images larger than or equal to 8M are supported).
10 vo intf:
11          0) vo HDMI output, default.
12          1) vo BT1120 output.
13 venc type:
14          0) H265, default.
15          1) H264.
shell 说明:
1. 运行 ./sample_fisheye
2. 使用说明 ./sample_fisheye <index> <vo intf> <venc type>
3. index:
4. 0) 2个“半顶装模式”的鱼眼360°全景视频
5. 1) 2个普通“地装的PTZ”鱼眼360°全景视频
6. 2) 2个普通“壁装的PTZ”鱼眼180°全景视频
7. 3) 三个鱼眼原画的普通PTZ 壁装视频
8. 4) 九格预览视频(仅支持大于或等于8m的图像)
9. vo intf:
10. 0) 默认HDMI输出
11. 1) BT1120输出
12. venc type:
13. 0) 默认H265编码
14. 1) H264编码

sample_vio

 1 ~ # ./sample_vio 
 2 Usage : ./sample_vio <index> <intf>
 3 index:
 4          0)parallel SDR8     VI - VPSS - VO - HDMI.      Embeded isp, phychn channel preview.
 5          1)online   SDR8     VI - VPSS - VO - HDMI.      2 pipe, Embeded isp, phychn channel pr.
 6          2)offline  SDR8     VI - VPSS - VO - HDMI.      4 pipe, Embeded isp, phychn channel pr.
 7          3)online  WDR+HDR10 VI - VPSS - VO - HDMI.      Embeded isp, phychn channel preview.
 8          4)online   SDR8     VI - VO - HDMI.             Embeded isp, LDC+ROTATE.
 9          5)online   SDR8     VI - VO - HDMI.             Embeded isp, FreeRotation.
10          6)online   SDR8     VI - VO - HDMI.             Embeded isp, LDC+SPREAD.
11          7)online   SDR8     VI - VPSS - VO - HDMI.      Embeded isp, dump raw, phychn channel .
12 intf:
13          0) vo HDMI output, default.
14          1) vo BT1120 output.
shell 说明:
1. 运行 sample_vio
2. 使用方法:./sample_vio <index> <intf>
3. index:
4. 0)
5. 1)
6. 2)
7. 3)
8. 4)
9. 5)
10. 6)
11. 7)
12. intf:
13. 0) 默认HDMI输出
14. 1) BT1120输出

sample_vgs

1 ~ # ./sample_vgs
2 Usage : ./sample_vgs <index> <intf>
3 index:
4          0) SDR10 COMPRESS, VI - VGS - VO - HDMI. 
5 intf:
6          0) vo HDMI output, default.
7          1) vo BT1120 output.
shell 说明:
1. 运行 sample_vgs
2. 使用说明:./sample_vgs <index> <intf>
3. index:
4. 0) 10比特位压缩,输入-->视频图像子系统-->HDMI输出
5. intf:
6. 0) 默认HDMI输出
7. 7) BT1120输出

sample_tde

1 ~ # ./sample_tde
2 Usage : ./sample_tde <intf>
3 intf:
4          0) vo VGA output, default.
5          1) vo HDMI output.
shell 说明:
1. 运行 sample_tde
2. 使用说明:./sample_tde <intf>
3. intf:
4. 0) 默认VGA输出演示
5. 1) HDMI输出演示

sample_hifb

 1 ~ # ./sample_hifb
 2 Usage : ./sample_hifb <index> <device> <intf>
 3 
 4 
 5 /****************index******************/
 6 please choose the case which you want to run:
 7         0:  ARGB8888 standard mode
 8         1:  ARGB1555 BUF_DOUBLE mode
 9         2:  ARGB1555 BUF_ONE mode
10         3:  ARGB1555 BUF_NONE mode
11         4:  ARGB1555 BUF_ONE mode with compress
12         5:  ARGB8888 BUF_ONE mode with compress
13 
14 /****************device******************/
15          0) VO device 0#, default.
16          1) VO device 1#.
17 
18 /****************intf******************/
19          0) VO HDMI output, default.
20          1) VO BT1120 output.
shell 说明:
1. 运行 sample_hifb
2. 使用说明:./sample_hifb <index> <device> <intf>
5. <index>
6. 请选择一下您想运行的情况之一
7. 0: ARGB8888像素格式(标准模式)
8. 1: ARGB1555像素格式双缓存模式
9. 2: ARGB1555像素格式单缓存模式
10. 3: ARGB1555像素格式无缓存模式
11. 4: ARGB1555像素格式带压缩的单缓存模式
12. 5: ARGB8888像素格式带压缩的单缓存模式
14. <device>
15. 默认输出到超清显示设备DHD0 (能够支持到4K)
16. 输出到高清显示设备DHD1
18. <intf>
19. 默认HDMI输出
20. BT1120输出

sample_awb_calibration

1 
shell 说明:
1.
2.
3.
4.
5.
6.


sample_modeswitch

1 
shell 说明:
1.
2.
3.
4.
5.
6.


sample_ive_main

1 
shell 说明:
1.
2.
3.
4.
5.
6.


sample_dis

1 
shell 说明:
1.
2.
3.
4.
5.
6.


sample_dsp_main

1 
shell 说明:
1.
2.
3.
4.
5.
6.


sample_nnie_main

1 
shell 说明:
1.
2.
3.
4.
5.
6.


vi_bayerdump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vi_chn_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vo_chn_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vo_screen_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vo_wbc_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vpss_chn_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.

vpss_src_dump

1 
shell 说明:
1.
2.
3.
4.
5.
6.