自定义博客皮肤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

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

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

原创 vivado hls的应用(题外话之安全关键系统设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        就软件本身来说,医疗软件、航空软件、轨交软件、汽车软件这些可以看成是一样要求严格的软件。这些软件很多时候就跑在mcu上面,并不跑linux,甚至很多时候就运行rtos,或者是while(1)代码,那么这些软件和我们通常看到的消费软件有什么区别呢?

2026-04-03 06:55:32 221

原创 vivado hls的应用(hls需要verilog基础)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        hls的开发虽然比较方便,但是本质上hls转成一个ip,还是需要c翻译成verilog的。所以从这个角度上来说,c语言就是一个中介。只是因为用c语言的人比较多,所以hls选择了c/c++作为开发的基础语言。就像android开发的话,选择java是一个道理。        verilog说简单也简单,主要是和c的思维不太一样,它的驱动就是clk,起始点就是reset。

2026-03-29 08:40:39 312

原创 vivado hls的应用(ps端的dma)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        对于数据量比较大的场景,一般就是用pl写dma,外部的ip都是通过dma,或者vdma,直接把数据通过hp0接口送给zynq上的ddr。而除了pl端的dma之外,其实ps端也是有dma的。如果是一般接口,类似于iic、spi、uart、can这些,其实都非常适合用ps端的dma接口。

2026-03-23 21:09:36 221

原创 vivado hls的应用(axis接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面的文章说了常用的两种接口,一种是axi-lite接口,这种接口最为常见。还有一种接口是maxi接口,这种接口一般用于ddr访问。事实上除了这两种接口之外,还有一种接口,那就是axis接口。这是一种数据流接口,用的最多的地方,就是图像处理。

2026-03-23 08:05:48 329

原创 vivado hls的应用(带ddr读取的ip)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们也写了两个ip,一个是直接显示led的,另外一个是带axi总线。某种意义上说,这已经是大部分场景下ip的使用方法。但那只是满足非接口类ip需求,算法类ip的话,就还需要了一部分内容,那就是如何从ddr读取数据。

2026-03-22 18:41:25 437

原创 vivado hls的应用(第一个axi接口的ip)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        前面我们也用hls设计了一个ip。这个ip有两个输出信号,目的就是为了实现两个led的亮灭。整个ip是独立的ip,不受cpu的控制。这样的话,几乎系统加载之后,ip就可以自己独立工作了。但是缺点也是存在的,那就是不受控。所以今天,我们编写另外一个ip,那就是带总线接口的ip。这样就可以利用cpu对ip进行编程处理。

2026-03-22 06:48:57 265

原创 vivado hls的应用(第一个c文件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        vivado里面编写ip,就两种写法。一种是用verilog进行编写。还有一种,就是用c、cpp进行编写。两种方法编写之后,就可以把ip集成到block design里面,变成一个整体框架的一部分。这就是vivado整个设计的目的。

2026-03-21 21:56:44 361

原创 vivado hls的应用(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        我们都知道,在xlinx的fpga上面,如果需要做硬编码,有两种方式,一种是verilog,一种是hls。两种都是xilinx支持的编码方式。在这两种方式当中,hls虽然是用c或者是c++编写,最终也是要变成verilog,部署在block design之中的。目前hls已经非常好用,但是还是有很多人怀疑hls,那么对于一般的场景,verilog和hls应该怎么使用呢?

2026-03-21 02:11:24 245

原创 Linux camera驱动开发(vivado hls不能导出ip的问题)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】        之前电脑上安装的是vivado 2018.3,也是用它开发的zynq的相关软件。安装的时间比较早,应该是2020年的时候,也用它开发过vivado hls软件。当时的时候,c编写的hls是可以综合的,ip是可以导出来的。但是今天再次使用的时候,发现ip没有办法导出来了。

2026-03-15 11:41:18 94

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

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

2026-03-10 09:07:47 425

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

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

2026-03-08 21:18:41 322

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

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

2026-02-26 13:44:13 364

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

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

2026-02-23 14:00:24 563

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

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

2026-02-21 17:26:57 450

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

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

2026-02-19 06:57:58 547

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

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

2026-02-17 15:04:36 480

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

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

2026-02-16 10:56:33 803

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

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

2026-02-15 10:35:04 857

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

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

2026-02-15 07:28:50 1004

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

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

2026-02-11 23:28:36 982

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

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

2026-02-10 12:08:39 362

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

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

2026-02-06 16:43:27 721

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

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

2026-02-05 15:25:01 516

原创 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 1038

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

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

2026-02-03 07:58:36 451

原创 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 1033

原创 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 625

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

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

2026-01-29 22:22:42 602

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

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

2026-01-27 10:59:57 896

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

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

2026-01-24 09:24:48 460

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

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

2026-01-21 20:38:43 476

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

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

2026-01-19 11:53:51 455

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

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

2026-01-18 08:51:00 635

原创 Android开发(总结)

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

2026-01-17 22:12:07 494

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

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

2026-01-10 07:58:55 469

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

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

2025-12-25 18:25:58 1172

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

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

2025-12-25 07:55:49 415

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

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

2025-12-19 08:22:11 834

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

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

2025-12-17 08:18:49 527

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

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

2025-12-16 07:06:28 594

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关注的人

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