海思3516A开发板调试整理(二)专栏

我们手头上这块开发板使用的是索尼的IMX178LQJSensor,那么完成以上的工作之后就进入了针对这款sensor的修改调试工作了。

SDK中针对sensor的驱动有以下几个依赖文件:1).load3516a:这里主要是3516pinmux中几个跟sensor有关的寄存器,可修改。2).sensor_i2c.ko/sensor_spi.ko:这两个文件二选一使用,主要是提供了和sensor通信的支持,需要根据sensor的通信方式进行进行有选择性地加载,加载操作在load3516a中。这两个ko的源码位于$(SDK_PATH)\mpp\extdrv下,可修改。3).libsns_xxx.a/libsns_xxx.so:这两个文件二选一使用,主要提供了sensor图像输出的配置接口,需要在应用层序中进行调用,使用静态库还是动态库方式都是可以的,如以imx178的sensor为例,对应的库文件分别为libsns_imx178.a和libsns_imx178.so,其源码位于$(SDK_PATH)\mpp\component\isp\sensor下,可修改。以上几个文件是配置sensor时有可能需要进行配置的地方。目前,总部那边使用的ov4689的sensor,在demo板上使用的驱动在SDK020基础上无需做任何修改。

第一步通信方式一般sensor的通信方式有SPI或I2C两种方式,至于IMX178LQJ的sensor通信方式,卖家提供给我的信息是使用SPI通信,但是从海思提供的配置和代码来看,是使用I2C的方式进行通信的,那么这里就出现了分歧,那么就获取官方信息吧,千方百计地找卖家要了一份IMX178的datasheet,一查,有如下描述:

Imagedataoutput(LowvoltageserialLVDSoutput)Communicationport(IICinterface)

那么这就很明显了,通信方式是I2C通信,图像输出使用LVDS,那么再看load3516a中的配置,在insert_sns函数中imx178的分支配置了寄存器0x200f0050和0x200f0054分别设置为i2c0_scl和i2c0_sda,然后再看ko的加载,在函数insert_ko中有加载了sensor_i2c.ko,所以这些配置无误。下面,对sensor的工作时钟进行配置。

第二步时钟配置对于sensor的输入时钟,在datasheet中介绍有如下几种工作模式:54MHzor27MHz/74.25MHzor37.125MHz,在$(SDK_PATH)\mpp\component\isp\sensor\readme_cn.txt文档中有针对sensor输入时钟的配置方法,其描述如下:

卖家提供的信息是需要配置成27M输入时钟,我经过测试发现在SDK030下,配置成25M时钟,sensor配置为1080p@60fps下出CVBS视频暂时没有问题,配置成27M时钟也没有问题,也就是说从目前的测试情况,两种工作模式都可以。至于是否会有其他方面问题,需要进一步验证。

第三步图像输出Sensor图像输出的配置是在应用程序中调用SAMPLE_COMM_ISP_Init函数中注册实现,使用SDK030的默认配置即可。

每一种sensor在SDK里面都提供了默认的H3A参数,这些H3A参数保存在$(SDK_PATH)\mpp\component\isp\sensor\$(SENSRO_TYPE)\$(SENSOR_NAME)_cfg.ini文件中,如果需要使用配置文件的方式进行如下两步操作:1、将$(SDK_PATH)\mpp\Makefile.param中”exportISP_INI_CONFIG=n”改为”exportISP_INI_CONFIG=y”,并进入到$(SDK_PATH)\mpp\component\isp\sensor重新编译sensor的库文件,并将库文件更新到应用程序中。2、在文件系统中,在和应用层序同一级目录下新建configs文件夹,并将$(SENSOR_NAME)_cfg.ini拷贝到该文件夹中。

但是这种方式还没用起来,在链接lib_iniparser.a的时候提示有函数找不到,应该是libc库版本的问题,所以暂时把这个问题放下了,直接使用代码中的默认参数来进行配置。

遗留问题

第一步差异说到海思Hi3516方案中的VIO系统,即视频输入输出系统,必定要将在线模式和离线模式分开,而在线模式和离线模式之间的差异是比较多的。首先还是先了解一下系统VIO的流程

视频VIO的基本流程是从VI->VPSS->VO,而从VPSS到VO的这个过程,又可以分为bypass和非bypass两种模式。再来说一说online模式和offline模式之间的区别:

第二步online模式开启online模式的方法前面已经介绍了,在使用load3516a的时候不添加–offline操作即可,它的区别在于运行sysctl_hi3516a.sh脚本的时候对几个寄存器的配置有所区别。首先我运行./sample_vio00来调试online模式来进行调试,输入是将VI和VPSS绑定,输出将VPSS和CVBS绑定,sensor进来1080p图像,后端输出CVBSNTSC模式或者PAL模式标清视频,两种输出模式均能正常输出视频,但是出现如下的问题:在VI通道端抓图错误,错误码提示操作不支持HI_MPI_VI_SetFrameDepth和HI_MPI_VI_GetFrame接口均提示操作不支持,错误码为0xa0108008。仔细查看文档,发现文档里面说了,确实是在线模式不支持这样获取VI图像信息,那么怎么进行在线模式的前端抓图呢?这里做一个遗留。

在VO通道抓图错误,可以获取到帧数据,但是保存的图像不对。文档中提供了三个接口:

第三步offline模式Offline模式由于使用DDR来缓存VI输入,是可以使用HI_MPI_VI_SetFrameDepth和HI_MPI_VI_GetFrame接口来进行VI端视频输入补帧的。

第一步PQTool工具调试PQTool在线图像调试工具是海思提供的一款基于网络连接的在PC端进行设备图像效果调试的软件,其软件运行依赖于设备端的ittb_control的已用程序,在海思提供的030版本的SDK中可以找到PQTools_V3.7.3.zip和Hi3516A_PQ_V1.0.3.0.tgz两个压缩包,分别对应PC端的PQTool工具和设备端的ittb_control工具,这两个工具使用方法可以参考文档《图像质量调试工具使用指南.pdf》。需要注意的事,设备端的ittb_control工具有一些依赖的动态库,几乎说有的库都放在同级目录下的libs目录下面,但是有几个标准库存在一些不匹配的问题,比如我在调试的时候出现libpthread.so.0库不匹配的问题,程序运行出现断错误,所以找到合适的libpthread.so.0库之后放在ittb的libs目录下即可。

第二步ISP、3A和SensorISP库是海思SDK提供的封装库,这部分内容未开源,只提供了一些注册接口和调用接口,3A库除了可以使用海思提供的库之外还可以使用自行开发的库,sensor需要向3A和ISP都提供注册函数

以上注册关系需要在运行ISP之前完成所有函数的注册。注册完之后在程序运行时调用HI_MPI_ISP_Run启动ISP线程。所以,在我们开发和使用自己的3A库的时候,按照海思提供的方案是需要按上面几幅图的流程来建立ISP、3A和Sensor之间的调用关系,同时,需要自行实现回调函数。

第三步统计信息海思方案自带的3A库有lib_hiae.a、lib_hiawb.a和lib_hiaf.a,针对这三个库,应用程序分别用HI_MPI_AE_Register、HI_MPI_AWB_Register和HI_MPI_AF_Register针对这三个库分别使用”hisi_ae_lib”、”hisi_awb_lib”和”hisi_af_lib”进行3A库注册,同时,SDK针对自带的3A库提供了很多设置和获取信息的接口。接口HI_MPI_ISP_GetStatistics用来获取ISP统计信息,统计信息结果保存到ISP_STATISTICS_S结构体中,该结构体包含了以下统计信息:AE统计信息有:

AWB统计信息有:

3A算法并不需要显式地去配置ISP寄存器,只需将需要配置的ISP寄存器值写到ISP_AE_RESULT_S、ISP_AWB_RESULT_S、ISP_AF_RESULT_S结构体中即可;也不需要显式地去读取ISP寄存器,只需从ISP_AE_INFO_S、ISP_AWB_INFO_S、ISP_AF_INFO_S结构体中读取即可。

以上这些接口和结构体的使用方式是在同进程内获取ISP和3A统计信息的方式,与之对应的,海思SDK提供了从基址为0x205A0000开始的多组寄存器来保存这些响应的数据信息,以便外部程序获取ISP统计信息,0x0~0xFFFF对应ISP的硬件寄存器,0x10000~0x1FFFF对应ISPfirmware的外部寄存器。0x20000~0x2FFFF对应AE的外部寄存器,其中分成了16份,海思AE用了0x20000~0x21FFF。0x30000~0x3FFFF对应AWB的外部寄存器,0x40000~0x4FFFF对应AF的外部寄存器,同样的也分成了16份。

这些外部寄存器使用HI_MPI_ISP_MemInit接口来进行初始化,使用接口HI_MPI_ISP_SetRegister来设置这些寄存器的值,设置之后可以在其他进程中获取这些寄存器的值。至于这些外部寄存器,海思未做限制,完全由应用程序操作处理。不过使用时需要避免内存地址被占用,海思提供了大概1300多组ISP的硬件寄存器(硬件寄存器详细信息查看文档《Hi3516A/Hi3516D专业型HDIPCameraSoc用户指南》第11章ISP部分),这些硬件中有的已经不在0x0~0xFFFF的地址空间之内了,而从芯片地址空间的映射关系来看,0x205C_00000x205C_FFFF的地址空间用于VDP寄存器使用来使用。

THE END
1.sci论文发表时间是指哪个时间?文章纸质录用科学引文索引1.SCI论文的发表时间,就是指论文在SCI期刊官网上线发表的时间,也就是online的时间,也就是我们通常所说的发表见刊的时间。 2.SCI期刊没有纸质期刊。SCI期刊基本都没有纸质刊物的,都是在SCI期刊官网上线文章。如果你想要纸质刊物,可以下载购买档期的杂志,然后打印出来。 https://www.163.com/dy/article/JJFI9K7J05560WZ3.html
2.社工分享关于社会工作师备考——线上学习的优势!1、进行问题讨论的时候,大家集思广益,会有更多、更好的解决思路和方案。 2、学员之间的相互帮助与协作会大大开阔大家的视野,拓宽知识结构。 【涨知识】2025年社会工作师考试会改革吗?点击查看详情! 【涨知识】2025年社工考试会增加面试吗?点击看解https://mp.weixin.qq.com/s?__biz=MzUyMjQ0NjY4OA==&mid=2247500585&idx=1&sn=2af83a10e6b1581e3e50f8d400714878&chksm=f8f21dde7c5f54f364987976b76409fbc418a48e93eb35e3ec0fc14392a46f114aa9c6f834d5&scene=27
3.offline和online区别一切看上去是那么前程似锦,一 +3 3106 模拟人生吧 六一_123 模拟人生4一点开就弹这个怎么办我之前用的是1.84的破解版,昨天在贴吧看到一个一个可以很方便升级版本的工具,升级完之后就这样了然后我点start online就会弹出另一个界面让我注册ea账号什么的,start offline就一直没反应 分享73 onlinecommunication吧 jemihttps://tieba.baidu.com/mo/q/hybrid/search?keyword=offline%E5%92%8Conline%E5%8C%BA%E5%88%AB
4.offpolicy的关系与区别强化学习onlineoffline关系与区别: Model-Based和Model-Free是关于如何对环境建模和学习的方法。Model-Based建立模型,Model-Free直接学习策略或价值函数。 Online和Offline是关于数据收集和学习的时机。Online是在与环境互动时学习,Offline是在与环境互动之前或之后学习。 On-Policy和Off-Policy是关于策略评估和改进的方式。On-Policy学习改进当https://blog.csdn.net/qq_43585760/article/details/133557729
5.hi3516a中online与offline有什么区别?hi3516a 中 online 与 offline 有什么区别 ?[复制链接] VI 和VPSS 的协作模式分为以下2 种(模式切换由load 脚本参数控制,对应sys 模块参数vi_vpss_online): VI/VPSS 离线模式是指VI 进行时序解析后将图像数据写出到DDR,VPSS 从DDR 中载入VI 采集的数据进行图像处理,是传统Hi3518/Hi3520D 等芯片的VI/VPSS https://bbs.eeworld.com.cn/thread-476331-1-1.html
6.万字专栏总结离线强化学习(OfflineRL)总结(原理数据集Offline RL 可以被定义为 data-driven 形式的强化学习问题,即在智能体(policy函数?)不和环境交互的情况下,来从获取的轨迹中学习经验知识,达到使目标最大化,其和Online的区别如图所示: 图片来源自:Offline Reinforcement Learning 后来Sergey在论文中归纳如下图所示: https://cloud.tencent.com/developer/article/2119884
7.请问什么叫做offlineshopping和onlineshoppingofflineshopping和onlineshopping的区别是什么呢? 坛友互助群 扫码加入各岗位、行业、专业交流群 offline shopping和online shopping的区别是什么呢? 扫码或添加微信号:坛友素质互助 「经管之家」APP:经管人学习、答疑、交友,就上经管之家! 免流量费下载资料---在经管之家app可以下载论坛上的所有资源,并且不额https://bbs.pinggu.org/jg/huiji_huijiku_1153420_1.html
8.机器学习中在线学习批量学习迁移学习主动学习的区别七、在线学习与离线学习offline learning and online learning. In offline learning, the whole training data must be available at the time of model training. Only when training is completed can the model be used for predicting. In contrast, online algorithms process data sequentially. They produce ahttp://eetrend.com/node/100016949
9.offlinedrop和offline区别创新互联归档模式下的offline 演示 可以看到在归档模式下,offline drop和offline的效果是一样的,都是将数据文件至于recover状态,如果需要online则先进行recover,之后数据文件状态会变为fline状态,dba可以手动online。 切换数据库到非归档模式 用test03.dbf数据文件做测试 http://chengdu.cdxwcx.cn/article/cddids.html
10.onlineandofflineonline形— 联机形 · 在线的形 · 网上经营的形 so and so— offline形— 网下形 查看更多用例?查看其他译文 使用DeepL翻译器,即刻翻译文本和文档 随打随译 世界领先的质量 拖放文件 立刻翻译 ? 外部资源(未审查的) (f) To continue to developitsonline and offlinetraining tools http://cn.linguee.com/%E8%8B%B1%E8%AF%AD-%E4%B8%AD%E6%96%87/%E7%BF%BB%E8%AD%AF/online+and+offline.html
11.O2O的概念:O2O即OnlineToOffline,是指将线下的商务机会与O2O的概念:O2O即Online To Offline,是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台,也就是消费者去现实世界的商品或服务商那里完成消费,让互联网成为线下教育的前台。 A. 正确 B. 错误 题目标签:互联网消费者交易如何将EXCEL生成题库手机刷题 https://www.shuashuati.com/ti/dfa3bdd4701040268a2657ffd8938ef3.html?fm=bdbds81f8c0ea780ca804f1a68072ab9b5866
12.一个一万亿的市场,什么是O2O(onlinetooffline):Online2Offline模式一个一万亿的市场,什么是O2O(online to offline):Online2Offline模式(线上到线下,简称O2O)O2O模式的核心很简单,就是把线上的消费者带到现实的商店中去——在线支付购买线下的商品和服务,再到线下去享受服务。所以在O2O这个领域中很可能会出现一家比百度和 淘宝市值还要高的互联网公司。网页链接 https://xueqiu.com/6509399045/25000383
13.b2bb2cc2co2o区别是什么?分别的意思是?卖家线上售卖-买家线下门店提货/换货(Online to Offline,O2O)。对电商行业来说,O2O是B2C的一种升级,扩展了用户在线下参与消费的场景,对企业卖家提出了“存在线下实体、线上线下一体化”等更高的要求。 二、b2b b2c c2c o2o区别是什么? b2b、b2c、c2c、o2o总结为三种区别为:性质不同、行为不同、优势不同。 https://www.lishaowei.cn/4509.html
14.oto与o2o的区别真的存在吗?这是什么模式各位商家在互联网与新零售的刺激之下,都希望可以将自己门店开到网上去,让互联网用户可以到自己的站内进行消费,o2o模式是现阶段较为火热的平台类型,但人们对这方面的了解并不多,就会对oto与o2o的区别产生疑惑,不知道它们有什么差异。 “OTO”是“Online To Offline”的缩写,即“线上到线下”,将线下商务与互联网技https://www.92hi.com/yunying/show_3342.html
15.跨境电商o2o名词解释4)online to offline toonline是线上交易或营销到线下消费体验再到线上消费体验 2、通过举例说区别。 1)O2O,比如:保险直购O2O,苏宁易购O2O,大众点评O2O等 2)C2C是consumer to consumer就是个人对个人的,比如淘宝的小店铺。 3)B2C是business to consumer是商家对个人,这个就很多了卓越、当当、京东等等都是。B2C、https://www.cifnews.com/article/63771