“EMB-7542”的版本间的差异
来自ARM Wiki
Tangdapeng(讨论 | 贡献) (→Demo使用) |
Tangdapeng(讨论 | 贡献) (→sample_awb_calibration(自动白光平衡)) |
||
第254行: | 第254行: | ||
::10. 2) VDEC解码器输入(JPEG格式图片)--->VPSS(视频处理)--->VO(视频输出) | ::10. 2) VDEC解码器输入(JPEG格式图片)--->VPSS(视频处理)--->VO(视频输出) | ||
− | ==== | + | ====sample_awb_calibration(自动白光平衡测量)==== |
:<syntaxhighlight lang="bash" line> | :<syntaxhighlight lang="bash" line> | ||
第274行: | 第274行: | ||
:shell 说明: | :shell 说明: | ||
+ | ::1. 运行 sample_awb_calibration | ||
+ | ::2. 使用方法:./sample_awb_calibration <mode> <intf1> <intf2> <intf3> | ||
+ | ::3. <mode> | ||
+ | ::4. 0) 计算例子中的增益 | ||
+ | ::5. 1) 根据标准例子来校正例子中的增益 | ||
+ | ::6. intf1: | ||
+ | ::7. 标准例子中的深红色区域的锐化增益控制值 | ||
+ | ::8. intf2: | ||
+ | ::9. 标准例子中的深蓝色区域的锐化增益控制值 | ||
+ | ::10. intf3: | ||
+ | ::11. 0~1024范围的初始值(采样数据的增益强度会随着初始值的值增加而增加) | ||
====sample_venc(视频数据编码)==== | ====sample_venc(视频数据编码)==== |
2019年7月30日 (二) 14:37的版本
目录
- 1 介绍
- 2 资源特性
- 3 接口布局和尺寸
- 4 下载
- 5 烧录方法
- 6 Demo使用
- 6.1 sample_audio(音频相关)
- 6.2 sample_vio(视频输入输出)
- 6.3 sample_region(视频图片层叠)
- 6.4 sample_vdec(视频数据解码)
- 6.5 sample_awb_calibration(自动白光平衡测量)
- 6.6 sample_venc(视频数据编码)
- 6.7 sample_dis(Digital Image Stabilization,数字防抖)
- 6.8 sample_snap(拍照)
- 6.9 sample_vgs(Video Graphics Sub-System,视频图形子系统)
- 6.10 sample_hifb(基于Linux FB 基本功能扩展了一些图形层控制功能)
- 6.11 sample_ive_main(智能加速引擎)
- 6.12 sample_nnie_main(神经网络硬件加速单元测试)
- 6.13 sample_traffic_capture(抓拍)
- 7 其他功能说明
介绍
- 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
接口布局和尺寸
接口概览
接口引脚定义
传感器接口转接板定义
机械尺寸
下载
- 系统烧录工具下载
- 系统镜像文件下载
- Sample文件下载
- Sample源码下载
- 交叉编译工具下载
烧录方法
HiTool 烧录方法
适用场景
- 适用于一键烧写所有程序镜像到单板flash 上的场景、单板已有 boot 可按地址烧写其他程序镜像到单板 flash 上的场景,以及在空板上只烧写 boot 到单板 flash 上的场景。
- 本文只介绍 <eMMC烧录>方法。
环境部署
- HiBurn 工具烧写的环境准备如下:
- 步骤 1. PC 与单板之间连接好串口、网线,且因工具烧写需要涉及到与 bootrom 交互,故单板硬件上 bootrom_sel 需要设置为 1,从 bootrom 启动。
- 步骤 2. 下载HiTool http://norcord.com:8070/f/22a02da68ade4d84b1ad/ 把HiTool-BVT-5.0.46.zip 拷贝到 PC 上(PC 要求安装 Win7、XP 操作系统)的某个本地硬盘。
eMMC烧录
适用场景
- 适用场景如下:只适用于 eMMC 烧写,不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
烧写步骤
- 具体烧写步骤如下:
- 步骤 1. 切换到“烧写 eMMC”页签,如图 5-1 所示。
- 步骤 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_vio(视频输入输出)
1 /data/sample/vio/smp # ./sample_vio 2 Usage : ./sample_vio <index> 3 index: 4 0)VI (Online) - VPSS(Online) - VO. 5 1)WDR(Offline)- VPSS(Offline) - VO. LDC+DIS+SPREAD. 6 2)Resolute Ratio Switch. 7 3)GDC - VPSS LowDelay. 8 4)Double WDR Pipe. 9 5)FPN Calibrate & Correction. 10 6)WDR Switch. 11 7)90/180/270/0/free Rotate. 12 8)UserPic. 13 14 Hi3516DV300/Hi3559V200/Hi3556V200) vo HDMI output. 15 Hi3516CV500) vo BT1120 output. 16 If you have any questions, please look at readme.txt!
- shell 说明:
- 1. 运行 sample_vio
- 2. 使用方法:./sample_vio <index>
- 3. index:
- 4. 0) 输入(Online)--> 视频处理(Online) -->输出
- 5. 1) 宽动态输入(Offline)--> 视频处理(Offline) -->输出 镜头畸变校正和旋转
- 6. 2) Resolute Ratio Switch.
- 7. 3) GDC - 视频处理(低延时)
- 8. 4) Double WDR Pipe.
- 9. 5) FPN校准和校正
- 10. 6) WDR Switch
- 11. 7) 90度/180度/270度/0度/自由角度旋转
- 12. 8) UserPic
- 14. Hi3516DV300/Hi3559V200/Hi3556V200) 从HDMI输出
- 15. Hi3516CV500) 从BT1120输出
- 16. 如有疑问请查看readme.txt!
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 说明:
- 1. 运行 sample_region
- 2. 使用方法:./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) VI OSDEX.
- 11. 7) VO COEREX.
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 说明:
- 1. 运行 sample_awb_calibration
- 2. 使用方法:./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
- 3. <mode>
- 4. 0) 计算例子中的增益
- 5. 1) 根据标准例子来校正例子中的增益
- 6. intf1:
- 7. 标准例子中的深红色区域的锐化增益控制值
- 8. intf2:
- 9. 标准例子中的深蓝色区域的锐化增益控制值
- 10. intf3:
- 11. 0~1024范围的初始值(采样数据的增益强度会随着初始值的值增加而增加)
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_snap(拍照)
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 离线模式普通拍照
sample_vgs(Video Graphics Sub-System,视频图形子系统)
1 /data/sample/vgs # ./sample_vgs 2 3 /*****************************************/ 4 Usage: ./sample_vgs <index> 5 index: 6 0) FILE -> VGS(Scale) -> FILE. 7 1) FILE -> VGS(Cover+OSD) -> FILE. 8 2) FILE -> VGS(DrawLine) -> FILE. 9 3) FILE -> VGS(Rotate) -> FILE. 10 /*****************************************/
- shell 说明:
- 1. 运行 sample_vgs
- 2. 使用说明:./sample_vgs <index>
- 3. index:
- 4. 0) FILE-->视频图像子系统(Scale)-->FILE
- 5. 1) FILE-->视频图像子系统(Cover+OSD)-->FILE
- 6. 2) FILE-->视频图像子系统(DrawLine)-->FILE
- 7. 3) FILE-->视频图像子系统(Rotate)-->FILE
sample_hifb(基于Linux FB 基本功能扩展了一些图形层控制功能)
1 /data/sample/hifb # ./sample_hifb 2 Usage : ./sample_hifb <index> 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
- shell 说明:
- 1. 运行 sample_hifb
- 2. 使用说明:./sample_hifb <index>
- 5. <index>
- 6. 请选择以下您想运行的情况之一
- 7. 0: ARGB8888像素格式(标准模式)
- 8. 1: ARGB1555像素格式双缓存模式
- 9. 2: ARGB1555像素格式单缓存模式
- 10. 3: ARGB1555像素格式无缓存模式
- 11. 4: ARGB1555像素格式带压缩的单缓存模式
- 12. 5: ARGB8888像素格式带压缩的单缓存模式
sample_ive_main(智能加速引擎)
1 /data/sample/svp/ive # ./sample_ive_main 2 Usage : ./sample_ive_main <index> [complete] [encode] [vo] 3 index: 4 0)Occlusion detected.(VI->VPSS->IVE->VO_HDMI). 5 1)Motion detected.(VI->VPSS->IVE->VGS->VO_HDMI). 6 2)Canny,<complete>:0, part canny;1,complete canny.(FILE->IVE->FILE). 7 3)Gmm2.(FILE->IVE->FILE). 8 4)MemoryTest.(FILE->IVE->FILE). 9 5)Sobel.(FILE->IVE->FILE). 10 6)St Lk.(FILE->IVE->FILE). 11 7)Kcf track.(VI->VPSS->IVE->VO_HDMI). 12 8)PerspTrans.(FILE->IVE->FILE).
- shell 说明:
- 1. 运行 sample_ive_main
- 2. 使用说明: ./sample_ive_main <index>
- 3. index:
- 4. 0) 遮挡检测
- 5. 1) 运动检测
- 6. 2) 边缘检测
- 7. 3) 高斯模型Gmm
- 8. 4) 内存测试
- 9. 5) Sobel算子分割
- 10. 6) St和LK光流法
- 11. 7) 高速跟踪
- 12. 8) PerspTrans
sample_nnie_main(神经网络硬件加速单元测试)
1 /data/sample/svp/nnie # ./sample_nnie_main 2 Usage : ./sample_nnie_main <index> 3 index: 4 0) RFCN(VI->VPSS->NNIE->VGS->VO). 5 1) Segnet(Read File). 6 2) FasterRcnnAlexnet(Read File). 7 3) FasterRcnnDoubleRoiPooling(Read File). 8 4) Cnn(Read File). 9 5) SSD(Read File). 10 6) Yolov1(Read File). 11 7) Yolov2(Read File). 12 8) LSTM(Read File). 13 9) Pvanet(Read File). 14 a) Rfcn(Read File).
- shell 说明:
- 1. 运行 sample_nnie_main
- 2. 使用说明: ./sample_nnie_main <index>
- 3. index:
- 4. 0) RFCN模型,从摄像头采集图像标定人形。
- 5. 1) 可训练的图像分割Segnet
- 6. 2) 深度学习的目标检测Alexnet
- 7. 3) 深度学习的目标检测DoubleRoiPooling
- 8. 4) 神经网络Cnn
- 9. 5) 可训练的SSD模型处理
- 10. 6) 神经网格模型Yolov1
- 11. 7) 神经网格模型Yolov2
- 12. 8) LSTM模型
- 13. 9) 目标检测Pvanet算法
- 14. a) 目标检测Rfcn算法
sample_traffic_capture(抓拍)
1 /data/sample/traffic_capture # ./sample_traffic_capture 2 Usage : ./sample_traffic_capture <index> 3 index: 4 0)sample of traffic picture capture .
- shell 说明:
- 1. 运行 sample_traffic_capture
- 2. 使用说明: ./sample_traffic_capture <index>
- 3. index:
- 4. 0) 交通图片抓拍示例
其他功能说明
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。