EMB-7542

来自ARM Wiki
Tangdapeng讨论 | 贡献2019年7月30日 (二) 10:54的版本 sample_dis(Digital Image Stabilization,数字防抖)
跳转至: 导航搜索

介绍

概览
正面
  • EMB-7542的核心芯片是3516dv300,双核 ARM Cortex-A7@ 900MHz,32KB I-Cache,32KB D-Cache,256KB L2 Cache, 支持 NEON 加速,集成 FPU 处理单元。
  • EMB-7542(简称7542),大小仅为120x80mm大小,运行Linux操作系统,拥有稳定可靠的工业级性能,高品质超高清视频编解码能力、支持强大硬件加速算法、接口丰富、扩展性强,可应用神经引擎,深度学习,人工智能等领域开发,以及网络视频监控系统、高清摄像机、视频服务器、无人驾驶、医疗领域等行业。

资源特性

  • CPU:双核 ARM Cortex-A7
  • Memory:
  • Storage:
  • Ethernet:
  • Input:CMOS Sensor(根据镜头规格设计转接板)
  • 支持两路输入:第一路支持输入最大宽度 2688,最大分辨率 2688x1944第二路支持输入最大宽度 2048,最大分辨率 2048x1536
  • Display:1xHDMI
  • Touch:电容或电阻屏
  • USB Host:
  • COM:
  • Audio:1xMic;1xLine out;1xMic(3.5mm四节耳机孔)
  • Other I/O:
  • System Control:
  • RTC:支持
  • Watchdog:支持
  • Power Supply:单电源+ 12V DC
  • Temperature:Work :-20℃ ~ +65℃, Storage :-40℃ ~ +85℃
  • Humidity:5% ~ 95%相对湿度,无冷凝
  • Size: 120mm x 80 mm
  • OS: Linux

接口布局和尺寸

接口概览

EMB-7542 正面接口布局
EMB-7542 侧面接口布局

接口引脚定义

传感器接口转接板定义

EMB-7542 转接板

机械尺寸

下载

  • 系统烧录工具下载
  • 系统镜像文件下载
  • Sample文件下载
  • Sample源码下载
  • 交叉编译工具下载

烧录方法

HiTool 烧录方法

适用场景

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

环境部署

HiBurn 工具烧写的环境准备如下:
  • 步骤 1. PC 与单板之间连接好串口、网线,且因工具烧写需要涉及到与 bootrom 交互,故单板硬件上 bootrom_sel 需要设置为 1,从 bootrom 启动。
  • 步骤 3. 解压 HiTool-BVT-5.0.46.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 参数设置

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使用

  • 系统出厂时默认已搭建好了相应的Demo运行环境。

sample_audio(音频相关)

 1 /data/sample/audio # ./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
10         6:  start AI to Extern Resampler
shell 说明:
1. 运行sample_audio 音频 (输入/输出/编码/解码)样例
2. 使用提示:./sample_audio <索引>
3. 以下内容是索引对应的功能
4.  0) 音频从输入到输出 (话筒功能)
5.  1) 采集音频输入帧发送到编码通道,保存文件 (录音功能)
6.  2) 从文件读取音频流,解码然后发送到输出 (解码播放功能)
7.  3) 通过音频输入声音质量增强处理,然后输出音频 (声音质量增强处理功能)
8.  4) 采集音频输入到HDMI中音频输出 (HDMI设备播放音频功能)
9.  5) 音频输入到系统音输出 (话筒功能)
10.  6) 音频输入到外部重采样器

sample_region

 1 /data/sample/region # ./sample_region 
 2 Usage : ./sample_region <index> 
 3 index:
 4          0)VI OSDEX.
 5          1)VI COVEREX.
 6          2)VPSS OSDEX.
 7          3)VPSS COVEREX.
 8          4)VPSS COVER.
 9          5)VPSS MOSAIC.
10          6)VO OSDEX.
11          7)VO COEREX.
shell 说明:

sample_vdec(视频数据解码)

 1 /data/sample/vdec # ./sample_vdec 
 2 
 3 Invaild input!  For examples:
 4 
 5 /************************************/
 6 Usage : ./sample_vdec <index> <IntfSync >
 7 index:
 8         0:  VDEC(H265 PLAYBACK)-VPSS-VO
 9         1:  VDEC(H264 PLAYBACK)-VPSS-VO
10         2:  VDEC(JPEG PLAYBACK)-VPSS-VO
shell 说明:
1. 运行sample_vdec 视频解码样例,解码目录下的视频和图片文件。
3. 非法输入,使用示例如下:
6. 使用提示: ./sample_vdec <索引>
7. 参数<索引>:
8.  0) VDEC解码器输入(H265的编码格式视频)--->VPSS(视频处理)--->VO(视频输出)
9.  1) VDEC解码器输入(H264的编码格式视频)--->VPSS(视频处理)--->VO(视频输出)
10.  2) VDEC解码器输入(JPEG格式图片)--->VPSS(视频处理)--->VO(视频输出)

sample_awb_calibration(自动白光平衡)

 1 /data/sample/awb_online_calibration # ./sample_awb_calibration 
 2 Usage : ./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
 3 mode:
 4          0) Calculate Sample gain.
 5          1) Adjust Sample gain according to Golden Sample.
 6 intf1:
 7          The value of Rgain of Golden Sample.
 8 intf2:
 9          The value of Bgain of Golden Sample.
10 intf3:
11          The value of Alpha ranging from 0 to 1024 (The strength of adusting Sampe Gain will increase with the value of Alpha) .


shell 说明:

sample_venc(视频数据编码)

 1 /data/sample/venc # ./sample_venc 
 2 Usage : ./sample_venc [index] 
 3 index:
 4           0) H.265e + H264e.
 5           1) Lowdelay:H.265e.
 6           2) Qpmap:H.265e + H264e.
 7           3) IntraRefresh:H.265e + H264e.
 8           4) RoiBgFrameRate:H.265e + H.264e.
 9           5) DeBreathEffect:H.265e + H.264e.
10           6) svc-t :H.264.
11           7) Mjpeg +Jpeg.
shell 说明:
1. 运行sample_venc (录制) 视频编码样例,需要接摄像头
2. 使用方法: ./sample_venc [index]
3. 参数<索引>
4.  0) 录制h265编码视频 + h264编码视频
5.  1) 使用Lowdelay模式:录制h265编码视频
6.  2) 使用Qpmap模式:录制h265编码视频 + h264编码视频
7.  3) 使用IntraRefresh模式:录制h265编码视频 + h264编码视频
8.  4) 使用RoiBgFrameRate模式:录制h265编码视频 + h264编码视频
9.  5) 使用DeBreathEffect模式:录制h265编码视频 + h264编码视频
10.  6) 使用svc-t模式:录制h264编码视频
11.  7) Mjpeg(Mjpeg协议编码方式) + Jpeg(Jpeg的编码)

sample_dis(Digital Image Stabilization,数字防抖)

1 /data/sample/dis # ./sample_dis 
2 Usage : ./sample_dis <index>
3 index:
4          0)DIS-4DOF_GME.VI-VO VENC.
5          1)DIS-6DOF_GME.VI-VO VENC.
shell 说明:
1. 运行 sample_dis
2. 使用说明: ./sample_dis <index>
3. index:
4.  0) DIS-4DOF_GME(四自由度 GME 算法,不使用陀螺仪),输入-输出 同时H265格式录像(存储在当前)
5.  1) DIS-6DOF_GME(六自由度 GME 算法,不使用陀螺仪),输入-输出 同时H265格式录像(存储在当前)

sample_dis(Digital Image Stabilization,数字防抖)

1 /data/sample/snap # ./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 离线模式普通拍照

其他功能说明

nfs配置和网络

1,pc机安装nfs服务,安装前可以先学习下这个网站内容:https://blog.csdn.net/iamplane/article/details/53912176
pc机操作示例如下:
1 $ sudo apt-get install nfs-kernel-server
2 $ sudo apt-get install nfs-common​
3 $ sudo gedit /etc/exports #添加下面内容/home/nfs *(rw,sync,no_root_squash,no_subtree_check)
4 $ sudo /etc/init.d/rpcbind restart #重启rpcbind
5 $ sudo /etc/init.d/nfs-kernel-server restart #重启nfs服务
6 $ showmount -e #使用此命令后有”/home/nfs“则安装成功
2,设备debug串口链接到PC机上,串口参数是115200 8N1(详细见串口接口定义
在设备串口终端上,通过下面命令配置IP eth0:
1 ~ # ifconfig eth0 192.168.8.189
在设备串口终端,通过下面命令挂载PC机的/home/nfs目录到设备的/mnt/nfs目录(192.168.8.xx是PC机的IP,和设备eth0的IP处在同一网段即可):
1 ~ # mount -t nfs -o nolock -o tcp 192.168.8.xx:/home/nfs /mnt/nfs
2 ~ # cd /mnt/nfs
3 ~ # ls #查看PC机共享的内容
这样PC机共享出/home/nfs目录后,在设备的/mnt/nfs目录就可以访问PC机/home/nfs目录的内容。

设置RTC时间

查看当前时间
1 ~ # date
2 Mon Jan  8 00:00:01 UTC 2018
设置时间并保存到硬件
1 ~ # date -s "2019-1-17 11:38:45"                 #设置系统时间
2 ~ # hwclock -w                                   #将时间保存到硬件

USB口U盘挂载

将U盘插入USB口,会有很多提示信息,其中比较有用的标识是sda: sda1信息(第一个U盘,后面以此是sdb1,sdc1...),然后通过下面命令进行U盘挂载,进入/mnt/usb目录可以看到U盘内容。
1 ~ # mount -t vfat /dev/sda1 /mnt/usb #假设看到的提示信息是sda1
2 ~ # cd /mnt/usb
3 ~ # ls #查看U盘内容

TF口使用

将TF卡插入到设备TF卡槽内,重启系统,在终端会有mmc1: new high speed SD card at address 0001提示。使用下面命令进行挂载(mmcblk0是系统emmc使用,TF卡为mmcblk1),在 /mnt/mmc目录下可以看到TF卡里面的内容。
1 # mount -t vfat /dev/mmcblk1p1 /mnt/mmc
2 # cd /mnt/mmc
3 # ls #查看TF卡内容

COM口使用

一个COM232,一个COM485,一个debug调试串口,引脚定义详见串口接口定义
软件上COM232口对应的设备是/dev/ttyAMA2,COM485对应的设备是/dev/ttyAMA1,debug串口对应的设备是/dev/ttyS000。
调试串口默认参数是115200 8 N 1。