
海思平台开发
文章平均质量分 83
分享基于海思开发平台的经验,使读者快速入门海思平台开发。
工藤_新一
I am a coder
展开
-
项目实战:海思Hi3519AV100低分辨率作为图像处理,高分辨率作为图像加工输出方案
不想去成为一个伟大的程序员,只想成为一个具有良好习惯的优秀程序员。前言这个是在离职时那两天实现的,所以详细流程文档写在公司电脑上来了,忘记拷出来了,所以这里就稍微讲一下如何用海思进行比较好的图像处理操作。正文因为我们这个项目对接第三方的图像算法进行检测,我们这边需要获取图像的低分辨率图像作为它们图像检测处理的输入,然后根据检测结果进行图像的渲染输出。一种方法是采用openc...原创 2020-03-21 09:02:28 · 4503 阅读 · 2 评论 -
项目实战:海思Hi3519AV100利用硬件加速图像格式转换
海思VI、VPSS支持的输出图像格式有限,如果有其它图像格式需求的话需要获取视频数据流将其进行图像格式转换,海思提供了很多硬件加速模块,关于图像格式转换的话可以用到IVE硬件加速模块。一、获取视频流 在海思提供的sample例程中是采用模块绑定的形式进行图像的输出,例如VI绑定VPSS、VPSS绑定VO自动进行视频获取输出,可以尽可能在VPSS优化图像后再获取...原创 2020-02-03 10:41:05 · 3314 阅读 · 2 评论 -
项目实战:海思音频开发
本文旨在简单减少如何在海思平台上进行音频开发,目的是方便后续研发人员在海思平台进行音频开发,加快开发以及维护进度。一、驱动部分 很多应用程序播放音频调用的是mplayer,mplayer调用alsa这个linux的驱动框架,关于alsa就不介绍内容比较多,总之alsa会掉用于底层的audio codec设备驱动,由于海思没有提供这些驱动所以移植alsa后运行会...原创 2020-02-03 10:32:04 · 2914 阅读 · 0 评论 -
项目实战:模拟mplayer实现
现在音频实现很多调用的mplayer,它的底层也是调用ALSA驱动框架,但是海思平台没有提供底层的驱动实现,当然可以自己编写驱动实现,不过如果是简单的关于控制音频的功能,可以尝试模拟mplayer播放音频方式的程序,这里就简单介绍一下实现的过程。一、裁剪sample_audio.c可以从下图看出sample_audio.c包含着不同功能的示例,将不需要的功能全部裁剪掉,只保...原创 2020-02-03 10:28:44 · 572 阅读 · 1 评论 -
项目实战:海思Hifb开发
本文主要描述编写Hifb应用程序启动fb0使其能够正常显示图形界面,下文以正常显示QT界面为例。一、修改sample_hifb.cHi3519AV100的SDK提供的sample_hifb.c中包含太多不要的功能,我们只保留标准模式就好。修改SAMPLE_HIFB_StandardMode函数只启动图层0。然后将分辨率改为800*600,原本例程...原创 2020-02-03 10:20:55 · 3014 阅读 · 0 评论 -
项目实战:海思平台移植QT4.85
本文旨在说明QT4.85在海思平台上的移植,方便后面读者在海思平台上移植QT提供参考。一、tslib移植1.tslib-1.16下载:https://github.com/kergoth/tslib/releases/download/1.16/tslib-1.16.tar.bz22.解压 tslib.3.创建安装目录在/opt目录下创建tslib文件夹存放生...原创 2020-02-03 10:13:02 · 1209 阅读 · 1 评论 -
海思驱动开发:海思平台移植MCP2515
海思Hi3519AV100驱动采用设备树方式代替硬件编码,本文主要描述在移植MCP2515时遇到的问题,作为后续移植参考。一、设备树配置由于开发板上没有可用的SPI,所以采用GPIO模拟。Hi3519av100.dtsi中GPIO的设备树配置如下:相应的产品型号dts配置如下: 要注意的晶振时钟配置...原创 2020-02-03 09:35:27 · 2400 阅读 · 0 评论 -
海思驱动开发:海思平台IO驱动移植
海思采用设备树描述初始化驱动,本文编写基于IO应用的led驱动移植海思平台所做改动,作为后续移植参考。一、基于IO应用的led驱动编译 直接编译linux内核旧版本的基于IO引用的led驱动源文件发现编译不过,这是因为海思编译器检测到函数指针与指向函数不匹配造成的,修改相应函数的参数以及返回值后编译就可以通过。 编译通过后运行发现probe没...原创 2020-02-03 09:25:17 · 1671 阅读 · 0 评论 -
解析sample例程学习官方API:解析Audio Sample例程
在audio中存放音频相关的例程。在解析源码前最好先了解《HiMPP V4.0 媒体处理软件开发参考》中的音频部分。 一如既往先看该例程的功能,可以明显看出例程演示了AI直接输出到AO或经过编码器再输出到AO,或从音频文件获取数据流解码并输出,也有音质增加等等。main函数中初始操作还是一样的对参数的判断、定义好信号处理函数以及对MMP系统进行初始化。...原创 2020-02-02 23:00:49 · 3078 阅读 · 1 评论 -
解析sample例程学习官方API:解析HiFB Sample例程
一、HIFB简介 Hisilicon Framebuffer(以下简称 HiFB)是海思数字媒体处理平台提供的管理图像叠加层的模块,它基于 Linux Framebuffer 实现,在提供 Linux Framebuffer 基本功能的基础上,还扩展了一些图形层控制功能,如层间 Alpha、设置原点等。HIFB体系架构图如下所示:二、源码解析在解析源码前当然...原创 2020-02-02 22:34:37 · 1715 阅读 · 0 评论 -
解析sample例程学习官方API:解析VIO Sample例程
先从比较常用的VIO Sample进行解析。进入VIO模块可以看到,VIO的main函数文件。 进入文件后首先看下VIO实现的功能,可以看到VIO示例的功能还是挺多的,并且支持HDMI与BT1120这两种输出接口,下面一个一个功能进行说明。首先判断传给执行程序传入的参数个数是否正确,不正确则打印使用说明。 上面设置了相应信号处理函数,SI...原创 2020-02-02 21:03:31 · 7632 阅读 · 2 评论 -
解析sample例程学习官方API:MPP例程总体分析
在学习海思MPP的过程,我的方式是先从广度入门再往深度研究,总体架构可能如下,根据需要用到的场景将其中涉及的模块了解清楚,例如图1的场景,可能从sample中拿来修修改改就可以满足需求,也有存在不满足需求的情况,例如图像质量问题,这个时候你就可能需要了解ISP如何调节图像质量,甚至需要开发自定义的3A库等,VI的pipe与通道,VPSS的相关功能等等,甚至可能海思的VI、VPSS、VO...原创 2020-02-02 19:57:40 · 1587 阅读 · 0 评论 -
全面认识海思SDK:sample的编译与测试
编译: 海思SDK中Sample例程的makefile已经搭建好,直接make就可以了。 或者只编译相应的模块测试: 将编译好的sample例程拷贝到开发板上,可能会运行失败,一般有两个原因,一个是因为缺少海思提供的动态库,另一个是因为海思的驱动没有加载。 缺少的海思动态库可以从lib中拷贝到开发板。...原创 2020-02-01 13:59:41 · 4404 阅读 · 6 评论 -
全面认识海思SDK:环境搭建编译烧写uboot、kernel、rootfs
编译: 在SDK的osdv目录下的readme_cn.txt中描述了如何编译相应产品型号的uboot、kernel、rootfs。 参照文档进行编译即可。 需要注意的一点是相应文件夹的备份,可以从makefile中看到编译时会删除文件夹。烧写: 烧写会利用到海思的HiTool软件,具体的可以参考《HiTool工具平台 使用指...原创 2020-02-01 13:55:42 · 5262 阅读 · 1 评论 -
全面认识海思SDK:SDK整体介绍
SDK的安装使用以及整个结构的介绍《Hi3519AV100 SDK 安装及升级使用说明》中介绍的很清楚。 可以从目录中看出SDK的整体介绍看完该文档基本就清楚了。...原创 2020-02-01 13:34:20 · 5333 阅读 · 0 评论 -
全面认识海思SDK:思芯片资料内容结构
在拿到海思芯片资料时,首先看一下《Hi3519AV100R001 交付件清单》,里面描述了整个海思芯片资料的内容结构。 文档的内容如下: 了解芯片资料的大致结构后,可以开始海思SDK的学习。...原创 2020-02-01 13:31:35 · 1848 阅读 · 0 评论 -
全面认识海思SDK:Hi3519AV100方案系统架构介绍
这段时间除了学习了Hi3519AV100也学习了Hi3798MV200,后者的应用场景为机顶盒,相对于Hi3519AV100功能简单,而且学习的内容点也少,不像Hi3519AV100资料多的吓人,光看手册就花了好多时间。 具体的内容《Hi3519AV100 4K Smart IP Camera SoC 产品简介》 中里面讲的很清楚,要先了解Hi3519AV100的产品定位...原创 2020-02-01 12:55:55 · 8437 阅读 · 0 评论 -
海思平台开发实战--前言
因为项目需求研究了一段时间海思Hi3519AV100平台,包括整个环境的搭建、添加像Spi-Can这样简单的驱动、音频视频的开发、QT移植过程配置Hifb的问题以及整个sample例程的解析,在研究过程中踩了很多坑,有些问题查资料还比较耗时。 学习过程中看到网上有一些高收费海思媒体平台开发的视频,不可否认这些视频比较完善,能够让读者对海思媒体平台开发这个技术体系有一些了解,...原创 2020-02-01 12:40:25 · 1212 阅读 · 3 评论