自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式-老费,一个分享专业嵌入式知识的blog

专注于嵌入式软件系统性能优化

  • 博客(1570)
  • 资源 (4)
  • 收藏
  • 关注

原创 Linux camera驱动开发(ARM、FPGA、DDR共享总线)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        抛开arm soc不谈,处理图像的方法基本就是fpga,或者是fpga+mcu,或者是zynq这种fpga、ddr、arm可以一起访问的芯片。但是三种方法里面,最简单的还是zynq这种芯片,其他三种方式,各有各的问题。

2026-03-10 09:07:47 258

原创 Linux camera驱动开发(被低估的DMA处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        不管是soc,还是mcu、fpga,大部分系统都是采用master-slave的模式进行cpu数据处理的。这种模式虽然看上去比较简单,但是有一个致命的问题,那就是所有数据的搬运都是需要cpu来处理的。大部分时候,这种方式都是比较低效的。

2026-03-08 21:18:41 274

原创 Linux camera驱动开发(fpga与mcu/cpu/soc组合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        本身fpga用来处理图像是非常好的一个选择。但是fpga有一个缺点,就是它比较适合处理并发数据,不太适合业务比较复杂的场景。尤其是对于很多客户来说,他们都有自己的业务代码,这部分如果都用fpga来处理也是不合适的。那么,针对这种场景,一般是怎么处理呢?

2026-02-26 13:44:13 338

原创 Linux camera驱动开发(camera和飞控的结合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        传统的飞控,尤其是无人机,或者是四旋翼,挺多是一个玩具。正是由于dji的存在,让飞控和camera做了一个巧妙的结合,从而迸发出巨大的生命力。人类对飞行的向往是与生俱来的,而飞控+四旋翼的出现,帮助人们完成了这么一个梦想。所以我们学习camera的同时,可以更多地拓宽一下自己的眼界,比如camera+飞控,就是这么一种巧妙的结合。

2026-02-23 14:00:24 530

原创 Linux camera驱动开发(通过AI调试isp)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        作为camera出图后的第一个处理环节isp,本身其实是非常吃经验的。要做好isp,除了需要了解具体的soc平台工具之外,自身还需要对sensor比较了解。其次就是图像这部分,需要一点积累。先调什么,再调什么,这里面都有一点说道。并且,不同的参数之间,有的时候还会互相影响,这在无形之中增加了调试的难度。然后现在有了ai的加持,特别是gpt工具的存在,其实我们已经可以通过ai本身,来实

2026-02-21 17:26:57 415

原创 Linux camera驱动开发(特殊的cpu+fpga芯片)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        在soc前面添加一个fpga开发板,专门用来对接sensor。然后再用fpga对接soc,这不是一个新鲜的做法。只是现在有一种soc,它内部本身就集成了fpga,这样fpga和soc里的cpu本身就可以直接通过总线直接沟通,非常方便。

2026-02-19 06:57:58 520

原创 Linux camera驱动开发(几家soc厂家的isp调试文档)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        最早的时候,不同soc厂家都有自己的isp开发工具、开发文档和配置文件资料。这些资料,如果不是和厂家签订了nda协议,或者是购买了厂家的开发板,一般都不会提供给开发者个人的。随着现在soc厂家也开始慢慢做自己的生态,我们发现网上也可以找到一些isp调试资料了。这些信息,今天先简单总结下,方便后面查看使用。

2026-02-17 15:04:36 454

原创 Linux camera驱动开发(真正需要做的linux驱动开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        很多的soc厂家,在发布sdk的时候,就提供了很多的芯片驱动。这里面有推荐的ddr、norflash、nandflash、emmc、sdio wifi、eth phy等等。如果不是特殊的需求,基本上使用厂家推荐的芯片、模块,就可以做功能开发了。但是还有一些场景,是需要自己去主动适配驱动的,尤其是增加功能和降低成本的时候。

2026-02-16 10:56:33 722

原创 Linux camera驱动开发(图像后处理之IPP)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        图像除了正常的isp、编码、解码、npu处理、网络发送之外,还有一些后处理的工作也是可以用硬件完成。当然,这些需要soc厂家做额外的support,也不是每一个soc厂家都愿意这么做的。今天,正好可以看看图像后处理可以做哪些工作。

2026-02-15 10:35:04 809

原创 Linux Camera驱动开发(fpga vs soc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        不管是mipi camera,还是dvp camera,都可以通过fpga芯片,或者是soc芯片对它们进行数据处理。实际处理过程当中,两者有很多的相似点,也有很多的不同点。今天,正好有机会可以讨论下。

2026-02-15 07:28:50 972

原创 Linux Camera驱动开发(IPCam Soc驱动开发特点)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们聊过,树莓派的soc是怎么进行camera sensor驱动配置的。基本上它的camera驱动还是按照linux v4l2那一套处理的,比如说sensor代码放在什么地方,platform平台代码放在什么地方,这部分都是公开的,大家也都是可以看到源码的。但是ipcam soc的驱动,尤其是sensor驱动,可能和大家想的不一样。

2026-02-11 23:28:36 941

原创 Linux Camera驱动开发(常见sensor驱动开发的误区)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        关于摄像头,大家都知道很有用,但是如何开发camera,大家并不是很清楚。或者说,大家都知道sensor开发很有用,但是怎么配置、怎么学习,很多同学并不是很清楚,今天正好可以和大家一起讨论一下。

2026-02-10 12:08:39 326

原创 Linux Camera驱动开发(fpga + csi rx/csi tx)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        现实生活中,有很多的算法是soc isp没有实现的。而图像处理的时候,又需要有这些算法,并且客户也愿意承担额外的成本开支,这个时候应该怎么办呢?比较好的办法,就是在soc开发板前面加一个fpga开发板,fpga开发板的作用就是添加自己的算法,这样就可以同时兼顾fpga和soc的优点了。

2026-02-06 16:43:27 697

原创 Linux Camera驱动开发(用树莓派学习camera驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        现在是一个ai的时代,不管是图片,还是文字、语音,几乎所有的东西都要和ai沾上边。就拿图像来说,大家想的都是用gpu、npu、cpu从图像中来获取信息,但是怎么获取高质量的图片,大家却不是很关心。而这一点,其实是十分重要的。所以对图像感兴趣的同学,不妨多学学lense、sensor、驱动、isp这些,这样就会对图像有更深的认识。

2026-02-05 15:25:01 477

原创 Linux camera驱动开发(mipi、d/cphy、dsi和csi2)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        说到camera,除了i2c之外,还有一个概念有必要了解下,那就是mipi。当然不仅是mipi,还有d/cphy、dsi、csi。这些概念也有必要了解清楚,这样在后续的开发中才会游刃有余。需要注意的是,这里的mipi、d/cphy、dsi、csi2都是硬件实现,基本上软件知道怎么配置的即可。

2026-02-03 21:39:51 922

原创 Linux camera驱动开发(串行和解串)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        目前的camera大部分都是数字camera,而且是cmos camera。这也是用的最多的一种camera。camera的接口以mipi为主。这种接口的好处就是数据传输快,camera分辨率高、帧率高。但是缺点也是很明显的,那就是传不远。这样对于一些特定的场合,就不是很方便了,比如说汽车和医疗。这种情况下就出现了串行芯片和解串芯片,专门应用于这种长距离传输的场景。

2026-02-03 07:58:36 412

原创 Linux camera驱动开发(DVP接口的camera sensor)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        很多的sensor除了支持mipi接口之外,还支持dvp接口。实际运行过程当中,开启哪一种接口,就看i2c是如何配置sensor的。对于低分辨率的camera,dvp使用还是比较多的。但是如果分辨率比较高,例如4k 800w像素以上,那么用dvp就很吃力了,这个时候一般就是mipi接口。

2026-02-02 17:19:13 999

原创 Linux camera驱动开发(点亮新camera sensor)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        这里的sensor,大部分情况下都是指mipi接口的camera sensor。如果说mcu平台,还有很多的dvp sensor,那么soc平台下面则主要都是mipi接口的sensor。另外和mcu平台不同,很多的soc平台都有isp,所以哪怕sensor本身不带有isp功能,这都没有关系的。这也是soc平台和mcu平台很大的一个区别。今天就谈一谈如何点亮一个新的sensor。

2026-02-01 16:24:44 588

原创 Linux camera驱动开发(camera驱动代码的位置)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        既然是camera驱动,而且是linux系统,那么就要了解下如何找到和学习这些驱动代码。本身不同soc的sdk,最好从芯片代理商那里要。实在没有,就只能通过购买开发板的方式去进行处理了。通常情况下,这些代码是可以通过商家拿到的。只有少部分sdk,只能通过to b的方式获得,这种就只能走公对公了。

2026-01-29 22:22:42 565

原创 Linux camera驱动开发(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        我们要想看到这个世界,camera是最直接的方法。早前靠胶片相机、数码相机、单反,现在有了手机、运动相机之后,几乎可以很容易地通过camera感受到这个世界。另外,camera应用的地方也很多,比如工业、消费、汽车、医疗等等,它出现的地方远比大家想的要多得多。但是怎么驱动camera、怎么开发camera,很多人不了解,特别是在linux环境下面怎么开发camera。

2026-01-27 10:59:57 851

原创 Android开发(被忽视的camera-screen-算法应用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对于android来说,有一类应用其实被忽视掉了。那就是camera-screen-算法类的应用。这类应用有几个特点,一来sensor需要自己适配,二来屏幕大小各异,三来算法需要自己来进行进行配置。只要做好这三个部分,还是有很大市场的。

2026-01-24 09:24:48 450

原创 Android开发(题外话之虚拟机卡顿)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        我们平常开发嵌入式的时候,一种是keil居多,还有一种就是linux开发、或者是android开发。前者的话,基本安装一下keil软件即可,烧入和调试都是可以的。后者就是需要安装linux系统。目前用的比较多的linux系统,主要还是ubuntu。一来安装比较方便,二来下载软件比较方便。但是最近发现,virtualbox安装ubuntu的时候,如果是比较新的ubuntu,会比较卡顿。

2026-01-21 20:38:43 437

原创 Android开发(个人开发的几个方向)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        未来怎么样不好说,但是就当前而言,android开发还是不错的一个选择。只不过和之前相比较,android app开发的门槛越来越低。毕竟如果是简单的界面开发,或者是功能不复杂的纯软开发,用android studio做一个app还是不算太复杂的一个事情。但是仅仅会android开发,其实是一件危险的事情,尤其是只做增删改查的一些操作。那么除了一般的android app开发,还可以

2026-01-19 11:53:51 430

原创 Android开发(开发板的三种操作系统)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对51,或者是stm32来说,一般谈不上什么操作系统,基本代码都是while(1)+中断的方式完成的。只有soc,它的cpu的频率足够快,soc的多媒体处理资源足够多,才有操作系统的支持。当前,对于一般的开发板来说,主机厂都会提供三种操作系统供选择,一种是linux系统,一种是ubuntu系统、或者是debian系统,还有一种就是android系统开发。

2026-01-18 08:51:00 614

原创 Android开发(总结)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        目前市面关于嵌入式开发一般是分成这么几种,有51单片机开发,有mcu开发,还有linux开发,最后一种就是android开发。如果是android开发,又可以分成app开发和驱动开发两种。对于小公司来说,干的最多的就是app开发,只有在额外添加硬件的时候,才会涉及到驱动开发。

2026-01-17 22:12:07 479

原创 外壳3D结构设计(学习的方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        作为嵌入式开发的同学来说,最好能够自己学会做嵌入式的外壳。很多时候,我们看到的是一个外壳。但是对于用户来说,加上外壳的电路板,就是一个完整的产品。如果加上广告纸、使用手册、logo、合理的按键,几乎和产品无异。当然,大家都知道3d打印的好处,但怎么学习,很多人却并不了解。这里讲解一下,如何学3d设计。

2026-01-10 07:58:55 452

原创 外壳3D结构设计(学习Freecad)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        市面上3d软件很多,几乎所有软件都可以转成stl、obj格式。比如大家熟知的solidworks,一般用于机械设计;还有maya,用于游戏开发;以及fusion 360,这个用于3d打印比较多。这里面,既然大多数人都用fusion 360,为什么我们不用fusion 360呢?

2025-12-25 18:25:58 1114

原创 外壳3D结构设计(介绍)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         对于嵌入式开发的同学来说,平常对硬件和软件应该打交道比较多,对结构方面的知识可能不是很多。事实上,结构设计也是非常重要的一个环节。很多时候,大家都把结构设计等于3d设计,这么说虽然没什么毛病,但是不太严谨。因为,3d设计是一个通用范畴,比如游戏、工业设计、机械设计、美工等等,都会用到3d设计。所以,用3d设计做什么,其实更为重要。我们自己用3d软件,就是做外壳设计,相对要简单很多。

2025-12-25 07:55:49 391

原创 LVGL应用和部署(中文输入法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        lvgl由于其开源性和开放性,现在无论是mcu还是soc领域,用的是越来越多。不管是按键,还是触摸屏,都可以用来进行人机交互。只不过交互的时候,暂时只能是英文输入,如果是中文输入的话,就要想办法了。一次偶然的机会发现,在最新的lvgl 9.3版本上面已经集成了中文输入,正好可以试试。

2025-12-19 08:22:11 708

原创 LVGL应用和部署(几种人机交互的方式)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        只要是嵌入式设备,不管是stm32也好,或者是linux设备,总少不了人机交互。如果产品本身还是在开发的阶段,那么基本上采用串口开发的方式,就可以实现人机交互了。但是等到后期慢慢往产品方向转的时候,这个时候就不能采用串口通信了。毕竟,大部分客户都没有这方面的知识,只能想想其他的办法了。

2025-12-17 08:18:49 502

原创 LVGL应用和部署(多线程异步通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        在开发界面的时候,有一种情况是肯定会发生的,那就是异步通信。大家都知道,lvgl本身运行是独立运行的一个thread,但是linux下面一个程序不大可能只有一个thread。在这种情况下,其他线程如何给lvgl发消息,更新里面的状态呢?

2025-12-16 07:06:28 548

原创 LVGL应用和部署(快速开发LVGL的方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        目前位置,对于轻量的图形界面来说,lvgl几乎是最好的开发方式。一方面,lvgl非常轻量,启动速度很快,这一点比linux qt要好不少。另外一方面,和qt相比较,lvgl没有版权方面的风险,所以在目前出海的大背景下,lvgl开发的产品,涉及到出口,几乎不存在限制条件。最后,就是lvgl适配于多平台,不仅仅是linux,哪怕是mcu,即stm32之类的mcu,也可以拿lvgl来进行界

2025-12-16 06:41:43 642

原创 ISP基本原理和实现(AF引申出来的电机控制)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        图像处理中的3a算法,是大家都比较熟悉的部分。但是对于入门的camera来说,或者是大部分相机而言,af都是不需要调节的。所谓的af,那就是自动对焦,那就是修正镜头和camera sensor之间的距离。其他awb和ae,可以通过算法调整,也可以通过外部光源补充来解决,只有这个af麻烦一点,涉及到电机控制。正好借着这个topic,了解下电机控制。

2025-12-14 21:17:33 407

原创 ISP基本原理和实现(题外话之mongoose)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        最近正好有一个需求,需要在arm linux板子上起一个web server。本着轻巧的原则,在github上面找了一下,发现了mongoose这个软件。软件本身很小,就一个h文件,一个头文件,完全可以拿过来处理一下。如果只是配置类的处理,或者是stm32 mcu之类的软件,那么也可以使用这类库。

2025-12-13 16:29:58 431

原创 ISP基本原理和实现(AI-ISP的引入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        isp本身不是一个新方向,而且isp存在的时间也不短了。特别是2000年之后,随着手机开始携带camera之后,camera本身更是有了一个长足的发展。camera是越做越大、像素越来越高、个数也越来越多,这些都是看得到的进步和提高。但是camera放在手机上也有很多的局限,比如镜头不能太大、sensor不能占据空间太多、夜景模式比较差等等,这些都是camera处理的一些痛点。比如

2025-12-06 07:48:47 542

原创 ISP基本原理和实现(ISP的输入和输出)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        isp只是soc的一个部分。也就是说,最多isp只是soc一个重要的ip。因为除了isp之外,soc上面还有很多重要的ip,比如gpu,比如h264、h265编解码、比如音频编解码,再比如pcie、usb3、npu、cpu等等,这些部分也很重要。而且,这还没有包括软件开发的部分。所以,我们做好isp学习和调试的同时,有必要了解isp的输入、输出的部分是什么。

2025-12-05 08:42:54 614

原创 ISP基本原理和实现(添加自己的算法及测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        我们学习Infinite-ISP开源代码之外,除了想了解一下isp的基本原理,把代码编译出来之外,其实还可以自己编写一下算法。这样不仅对isp有一个更加深刻的认识,还能在实际项目中为自己所用。其实在实际产品中,固定的isp未必能满足客户的所有要求,那么此时用fpga对isp做增强处理,就是意料之中的事情了。在用fpga处理之前,就可以用python做一下简单的设计和预研即可。

2025-12-04 06:11:48 331

原创 ISP基本原理和实现(算法举例分析)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        isp本身就是一个流水线,流水线里面有很多的算法。每一个算法的输出,就是下一个算法的输入。这也是图像处理算法的一个基本特征。也正是由于这个特征,使得图像算法特别适合用硬件加速的形式来实现。今天就来简单分析下,开源程序Infinite-ISP里面,算法是怎么写的,

2025-12-04 05:53:21 766

原创 ISP基本原理和实现(isp中的反馈机制)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        整个isp的流水线还是比较好懂的。它的输入是sensor的bayer图像,这是由sensor基本结构决定的。它的输出是yuv,或者是rgb图像,也就是最终我们要想的结果。整个isp当中有很多的算法,每一个算法的输入,都是前面一个算法的输出,全部算法是采用pipeline机制完成的。也就是说,所有的算法都是并发执行的,不存在一个算法等另外一个算法的情形。但除此之外,isp还有一个特殊的

2025-12-03 08:27:12 951

原创 ISP基本原理和实现(代码流程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对于稍微大一点的soc公司来说,isp、h264和h265编解码、npu、pcie、usb这些重要的ip接口都是自己完成的。当然,如果不考虑成本的话,外购ip也是可以的。就拿isp来说,要做好它,首先算法团队需要设计好算法,这一步通常是用python、matlab实现,部分也会用c/c++实现。等到算法团队ok,数字前端团队就会拿过来修改成rtl代码,综合出来自己简单测试下。数字这边

2025-12-03 07:32:17 1167

rootfs.tar

rootfs

2023-05-25

arm9兼容软核代码

arm9兼容软核代码

2020-12-24

png图片读取、保存代码

这是一个完整的png图片读取项目,包括了pnglib、zlib和win32工程,大家可以单步调试验证png格式的基本功能。

2012-07-08

glibc1.09的源代码内容

这里是glibc早期的版本,对大家学习libc非常有帮助,希望大家积极下载、

2011-05-21

exceptional C++

这是关于c++非常好的一本书,相信对大家十分有用!

2009-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除