- 博客(62)
- 资源 (19)
- 收藏
- 关注
原创 devmem源码解读
因为开发视频流驱动程序,发现在驱动里面加入读写硬件模块的寄存器,然后通过log输出,或者通过proc和sysfs的文件节点输出,如果链路一长,每个模块都要增加这样的输出,工作量还是比较大的,而且随时都要修改。在网上发现linux上有基于mmap的 devmem这样的工具文章的介绍(如下),使用这样的方式来访问,不用增加如何代码实现直接操作寄存器,还是比较方便的。实际源码在output/build/busybox-xxxx/miscutils/devmem.c,列举如下。
2024-11-29 15:05:20
837
原创 V4L2 sub-devices 翻译
如果sub-device实现了下游pad,subdev驱动可以设置v4l2_subdev_pad_ops的link_validate字段,来提供自身link的validation功能。如果link_validate op没有设置,默认的v4l2_subdev_link_validate_default将被使用。如果需要集成media框架,你必须通过media_entity_pads_init初始化嵌入到v4l2_subdev结构中的 media_entity`结构,如果这个entity 有pad。
2024-11-07 19:07:03
552
原创 HI3516DV500 相机部分架构初探
MIPI Rx 支持 MIPI D-PHY、LVDS(Low-Voltage Differential Signal)、HiSPi(HighSpeed Serial Pixel Interface)等串行视频信号输入,串行视频接口可以提供更高的传。⚫ 单路最多支持 4-Lane LVDS/ sub-LVDS /HiSPi 接口,最大支持 1.5Gbps/Lane。该芯片最高支持 2 路 sensor。输入,支持最高 5M@30fps 的 ISP 图像处理能力,支持 2F WDR、多级降噪、六轴防。
2024-10-13 10:30:59
1530
原创 展锐平台的手机camera 系统isptool 架构
展锐平台的isptool 主要用于支持展锐各代isp 芯片的各效果模块快速tuning和参数打包。具体需要:一、工具段能在线实时预览到调试sensor经过isp 处理后的图像,也就是各模块的参数在当下实时生效,通过工具能在PC 上在线观看到效果二、工具能进行拍照,生成过程中不同格式的图片,包括raw图,yuv图,jpeg图三种格式。其中jpeg 图中的exif 暂存了tuning效果模块的参数。
2024-09-23 11:24:10
980
原创 展锐平台的手机camera 系统开发过程
展锐公司有自己的isp 图像处理引擎,从2012 年底就开始在智能手机上部署应用。最初的时候就几个人做一款isp的从hal 到kernel 驱动的完整软件系统,分工不是很明确,基本是谁擅长哪些就搞哪些,除了架构和编码实现之外,另外还要解决各种客户问题,验证芯片等等,工作量非常之大。后续随着分工的精细,部门的扩展,各种模块分层迭代和维护越来越明确和专业。
2024-09-19 12:49:13
1462
原创 展锐平台手机camera 软硬件架构
曾经在紫光展锐做过几年的camera驱动,经历过从2013 年最初的几人团队,每人到独当一面,负责很多的模块,到后面的逐步的精细化,设计部门按照内核驱动,hal驱动,tuning效果,3A,效果算法等展开,专注于某一层面的模块或者算法的反复迭代。虽然离开展锐已经数年,对其中软硬件开发过程中的映像还是比较深刻,对开发的规范执行和架构和feature实现的优化选择尤为感慨,这里做个对当时情景的分享回顾,让大家对手机里面的camera架构有个了解。以上是当时camera系统的软硬件大致架构。
2024-09-18 19:06:04
2399
原创 一款裸眼3d的双目视觉深度处理芯片
接上一篇博客 [一款人脸识别的芯片内部],继续分享下我接触到的双目立体视觉芯片 (https://blog.youkuaiyun.com/wuxiwang/article/details/141825257?
2024-09-04 14:43:06
1125
原创 车载系统bsp 开发的现状特点之自我认识
车载bsp 目前的主要是按照智能座舱的实际需求,将供应商提供的各种标准部件集成起来,最终呈现出各种OS 系统下特定的设备操作节点,方便各种解决方案的上层应用实现。这样实际的工作,一方面是跟踪关注供应商提供的部件和相应的系统接口运行,将对方的各种问题提前甄别并得到反馈修正,另一方面还要自查车机内部的链路各步,做出稳定高效的适配。这样不仅对技术实现上存在一定的要求,还要对各供应商提供的部件的性能稳定性等也需要做良好的测试和确认,不然相互之间叠加起来的问题排查就会非常的复杂,不容易区分识别。
2024-09-01 21:10:27
666
原创 USB 3.0、USB 3.1到底什么区别?彻底明白
因为要适应不同的设备种类,在USB Type-C出现前,光从接口形态上来区分,USB 2.0标准的接口就有USB Type-A,USB Type-B,miniUSB Type-B、microUSB Type-A以及microUSB Type-B五种(已经被淘汰的不计在内),而在USB 3.0时代还新出现了USB 3.0 Type-A、USB 3.0 Type-B和microUSB 3.0 Type-B。1、USB 3.0接口通常为蓝色,一定会有5个以上的触点,而USB 2.0接口的触点不会超过5个;
2024-08-13 10:10:47
2564
原创 usb 接插件和线
最近发现需要用到usb3.0 的调试线,用来调试OS 和驱动,特别将usb 这部分的插口和线的知识整体下。usb 线对应插口的编号。
2024-08-08 11:17:52
519
转载 底层软件 | 为了学习设备树,我写了5w字笔记
由于一个SoC可能对应多个设备(一个SoC可以对应多个产品和电路板),这些.dts文件势必须包含许多共同的部分,Linux内核为了简化,**把SoC公用的部分或者多个设备共同的部分一般提炼为.dtsi,**类似于C语言的头文件。(我要解析的就是.dtsi文件)其他的设备对应的.dts就包括这个.dtsi。这个和我写bp那里有点相似的思维,果然include包含世界。
2024-07-19 15:52:46
143
原创 安卓自带camera hal3 实例README.md翻译
安卓自带camera hal3 实例README.md翻译最近,遇到一个这样的问题,临时了解下这个驱动实现架构和特点,翻译如下。
2024-07-16 15:40:08
1468
原创 安卓gdb 建立链接
adbshell gdbserver :1234 testdcam --sensor 0 --workmode 0 --args preview-size=1024x600,picture-size=640x480, --time 10adb forwardtcp:1234 tcp:1234 //设置adb的转发./prebuilts/gcc/linux-x86/arm
2024-07-03 20:50:49
403
1
原创 I2C bus,adaptor,client 在sysfs 的路径定位
表明client 实体对应的device节点在adapter的目录下,命名由 strscpy(client->name, info->type, sizeof(client->name));结合 .name = “i2c”, retval = bus_register(&i2c_bus_type);这表明命名是 “i2c”,通过bus_register注册到bus 总线目录下。
2024-07-03 12:01:34
361
原创 i2c 设备节点的访问和不同方式实现
最近碰到实际应用案例中有通过module_i2c_driver 注册实际i2c 总线驱动的,再通过struct i2c_driver的.id_table 成员指向的struct i2c_device_id 对象表格来创建i2c_client;还有通过 i2c_new_client_device 注册板上信息struct i2c_board_info 实例来创建i2c_client的。但是这类创建出来的设备再应用层使用的时候,出现通信数据不对的情形。为了更好的梳理这两类访问方法的过程,将源码实现做个具体
2024-07-02 10:40:34
979
原创 车载系统的 加减串器应用示意
比如摄像头模块,一个完整的摄像头是由下面几个模块组成,前端是摄像头的sensor模块,通过MIPI CSI 的连线经过MIPI RX 这个controller,然后送入原始的图像信号到ISP 这个部件进行图像效果的处理,处理完毕的每帧图像然后经过MIPI TX 这个部件,最终送入到串行器,实现抗干扰距离更远的长距离传输。车载系统上使用加减串器来实现camera, lcd屏等 图像数据的远距离传输,将原先在短距离传输视频信号的mipi csi,dsi 等的TX,RX中间,插入加减串器,实现长距离的可靠传输。
2024-04-24 13:56:11
626
原创 车载摄像头 开发的现状和对比
自从去年被芯片企业裁员,然后加入吉利集团车企亿咖通之后,一直在从事车载摄像头驱动这方面的工作,在点亮了几款摄像头以后,深有感触,做一个目前工作的认识总结,也给行业从业者一个观察切入的视角。
2024-03-20 09:37:46
616
转载 MIPI协议之DPHY、CPHY区别 (转载)
CPHY接口等效电路图CPHY物理链路(A/B/C线)上传输的是不同的电平,通过A-B,B-C,C-A的电平运算,恢复出+x,-x,+y,-y,+z,-z六种不同的线态,通过前后线态的旋转方向,相位和极性恢复出编码符号,再通过连续7组符号解码出16bit的数据,整个过程见下图。DPHY是源同步系统,有专门的同步时钟通道,但是CPHY没有同步时钟,时钟是嵌入到数据中的。显然的,实现嵌入时钟的目的是为了增加带宽,肯定会涉及到编码,物理层的结构必然是完全不同,单从线路上看,CPHY是一个A/B/C三线系统。
2023-11-02 18:47:28
1915
原创 从杨志失误落草想到的
水浒传众多人物悲剧的背后,很多失败的因素值得探究。作为个人,最失败的典型莫过于杨志了。杨志有光辉耀眼的祖上,是三代将门之后,五侯杨令公之孙。按道理应该具备智勇双全,符合孙子兵法为将标准,“将者,智、信、仁、勇、严也。”。做事应该周全,谋事稳妥,治军宽猛。然而我们看到的是杨志两次大的人生失败,从没有看到自身有任何的变化和认识。一味埋怨外部原因,天不厚我,老天对我不公。第一次是太尉府派十制史去太湖运花石纲,只有他这一队人翻车,在黄河里翻船,其他九队人安然无恙。这可以被理解是运气不好,《水浒传》没有详细描述
2022-04-03 18:15:26
780
转载 欢迎使用优快云-markdown编辑器
Trace32使用之基本语句和关键字首先介绍一下Trace32脚本概貌:**Trace32提供了强大的脚本控制功能,可以做到所有的GUI的工作,还包括GUI无法完成的工作。 正因为其脚本提供的功能过于强大,导致很多功能在Trace32软件上你找不到,这部分得用脚本来驱动使用。更多的trace32使用请参考http://www.jtag1000.com/ Trace32使用的脚本类似于pascal
2017-11-17 11:26:57
385
转载 任正非:不要在微信里消耗你的人生和青春
时间:2016年11月06日 05:35 减少无益的朋友圈,不要在微信里消耗了你的人生和青春。你们的青春是要变得更加美好,而不是无益的去消耗。我曾问身边的一个人有多少个朋友圈,他说“200个”,维护这200个朋友圈的时候,就在非战略机会点上消耗了战略竞争力量,进步就慢了。 这是任正非在2015年项目管理论坛上的讲话,标题为《将军是打出来的》。讲话全文如下: 一、将军是打出来的。
2017-09-30 15:11:45
769
2
转载 从展讯感悟中国IC企业瓶颈
2011-06-27 13:49:02 来源:《集成电路应用》 引言:市场运营和管理水平已经成为制约中国IC设计公司成长的瓶颈,更深层的原因则是CEO的定位及所倡导的企业文化。 作者:陈大同博士(展讯通信联合创始人、董事和前CTO&华山资本投资公司创始合伙人) 三年前也就是2007年末的IC设计分会年会上,大家讨论寒冬来了以后中国IC设计产业的出路问题。当时我讲了四点现象:一是在硅谷及世界
2017-09-30 15:02:38
653
原创 Android c/c++ 应用向linux 平台迁移运行
最简单的方案尝试1 将安卓的 c/c++ 应用及其依赖so编译出来, cp到 buildroot 生成的target 目录下的 /bin 和/lib 下2 将安卓的 linker 这个运行解释器cp 到target 目录下的 /binhttp://www.linuxidc.com/Linux/2014-03/97499.htmhttp://blog.c
2015-07-15 10:59:23
1405
1
转载 ION基本概念介绍和原理分析
转载前的话:ION将内核态形形色色的内存分配纳入统一的管理接口之中,更重要的设计意图是为内存在不同用户态进程之间传递和访问提供了支持。每个ion_buffer与一个struct file关联,其handle纳入进程file desc空间而不是/dev/ion设备内单独的handle空间,方便之处如下:每个buffer一个handle,便于更灵活地细粒度地控制每个buffer的使用周期;
2015-07-06 10:40:44
1995
转载 Linux 内核内存泄露工具使用
1. 内核添加内存泄漏功能选项 kernel memory leak detector kernel debugging memory leak debugging Compile kernel with debug info 通过make menuconfig 进入配置选项界面进入kernel hacking -->
2015-06-04 16:20:35
4156
原创 建立 安卓下的gdb 环境 解决问题一览
最近要 调试一个 camera 相关的工具,原先已经在 linux 下已经跑通运行,估计以后会随着项目的架构变化迁移到安卓,提前移植编译好,使用adb shell 尝试没有跑通,想采用gdb 来详细观察下。 但是在 设备端输入adbshell gdbserver :1234 testdcam --sensor 0 --workmode 0 --args previe
2015-02-04 15:58:09
4790
转载 从google 代码仓库repo sync Android4.0 源代码
下载源代码树:首先,安装Repo按照如下步骤安装,初始化,配置Repo新建立一个bin目录,并加到环境变量:$ mkdir ~/bin$ PATH=~/bin:$PATH下载Repo脚本和修改权限为可执行:$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/rep
2015-01-06 12:00:13
944
转载 Android Camera porting(HAL层移植)
这篇文章来自kandroid,在android源码中Development/pdk/下也能找到,最近在做android camera 模块实现,正好看到这篇,虽然写的比较简洁,大部分还是挺有用,所以记在这里交流参考。Android 相机简要:编译libcamera.so库时序框图接口Android 相机子系统将“顶层camera应用程序”与应用程序框架层及用户空间各类库(med
2015-01-06 11:58:49
1010
转载 使用ident来格式化你的c程序
本站网友提到Linux小工具indent,试用了一下,果然很好用,现总结一下,期望能给读者带来帮助。 下载和安装: 1.对 Linux(Fedora)用户来说,最简单的安装方式是"yum install indent" 2. Windows 用户可从http://gnuwin32.sourceforge.net/packages/indent.htm下载。 用法:
2014-09-26 16:19:27
913
转载 Shell Perl Python 脚本语言介绍
一. Shell 文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。 shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell sc
2014-02-27 16:52:47
1535
转载 幽默风趣的 电子工程 专辑文章
http://ee.ofweek.com/2014-02/ART-8460-2801-28778919.html 揭秘“中国芯”展讯转身回国内幕:资本操作?揭秘“中国芯”展讯转身回国内幕:资本操作? 2014-02-20 00:01:00OFweek电子工程网我要分享 腾讯微博QQ空间QQ好友 新浪微博 本地收藏|评论|投稿
2014-02-26 20:46:57
1224
转载 绝好 的消息,中国当自强,男儿当奋斗
http://news.xinhuanet.com/info/2014-01/27/c_133077023.htm 展讯通信2013营收将超10亿美元 暗示或回归A股 2014年01月27日 09:29:26 来源:新华网分享到:2 新华网上海1月26日电(郑钧天、周磊)记者26日从展讯通信有限公司获悉,该公司2013年销售收入预计将超过10亿
2014-02-26 20:30:36
1136
原创 nand multiple plane 块映射
最近,搞了个nand driver 要提供multiplane 的none rbpin 功能,搞得可以说七窍生烟 。 首先,公司没有这方面使用先例,有也是带rb pin的。 而且啥文档都没有,又是要自己找人问;另外只有自己看code ,总算在反复调试和对照 nand da
2011-09-05 16:42:49
1761
转载 固态硬盘—国内视频行业的暂时救星?
http://blog.chinaunix.net/space.php?uid=20752346&do=blog&id=59327 【题记】它们是互联网近几年的弄潮儿;它们是变革与创新的代表;它们是各种风投青睐的投资对象;它们改变着人们的生活习惯;它们引领着一个行业的发展
2011-08-29 14:39:51
943
转载 从2010 IDF 看英特尔固态硬盘现状及策略
http://blog.chinaunix.net/space.php?uid=20752346&do=blog&cuid=2217307 上周,2010 英特尔春季信息技术峰会(Intel Developer Forum,简称IDF)在京召开。作为服务器领域的大拿,
2011-08-29 14:38:56
1050
转载 gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer .
http://blog.youkuaiyun.com/lanmanck/article/details/5776173 少优化->多优化:O0 -->> O1 -->> O2 -->> O3-O0表示没有优化,-O1为缺省值,-O3优化级别最高英文解析:`-O ' `-O1 '
2011-07-18 14:21:34
11741
1
转载 初为项目经理
<br />这一天终于来到了:你从一个一线开发人员被提拔为项目经理。也许你一直在期盼,也许你心里还忐忑不安,也许这是你的职业发展选择,也许你只是不情愿的答应老板“试一下”。不管哪种情况,可能你并没有项目和人员管理及领导的教育背景或者培训经历。<br /> 领导和管理(这两者是不同的)远非简单的与Dilbert的老板背道而驰(译者注:Dilbert 是一个漫画人物,以“拥有”一个“白痴老板”而著称)。当你计划如何做好项目管理时,考虑采取以下列出的行动。也许你想做的事情很多,但下面的这些建议会 帮助
2011-05-19 10:12:00
1127
转载 UBI文件系统
在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(Unsorted Block Images)。这里简单介绍下UBI文件系统加入的原因,及使用方法。我也是刚接触到这个文件系统,可能有理解不对的地方,也请指正。 一、产生的背景 FLASH具有的“先擦除再写入”、坏块、“有限的读写次数”等特性,目前管理FLAS
2011-05-19 10:08:00
4777
转载 超详细全面透析: 漫步在后SLC时代
<br />转自 http://www.itime.cn/Article/mp3/test/11189.shtm<br /> <br />iTime.cn 文: 11011<br /><br />前言:<br /> 不知不觉中,SLC和MLC已经成为了大家谈论的热门话题。不信?在google里面搜索一下 SLC空格MLC,排在前面的都是大家耳熟能详的热门IT门户网站的热门连接。要知道在google上输入英文专业词汇一般都是好几页也见不到中文的。<br /><br /> 虽说,急流中应勇退,但是
2011-04-19 10:09:00
995
linux 多国语言 unicode码表 和 扩展ascll 自动生成工具
2010-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人