- 博客(1342)
- 资源 (4)
- 收藏
- 关注
原创 Linux上位机开发实践(技术到产品、方案的转变)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 纯粹的软件技术,还算是比较好学的。但是怎么把技术转变成产品、方案销售出去,这是我们需要进一步考虑的方向。目前国内的一个现实情况,就是大家默认软件是不需要付费的,就应该是免费的。但是如果软件借助于硬件,或者把软件和一堆设备做成方案,这就是有价值的。所以,基于这样的现实,我们有必要考虑一下,怎么把软件技术做成产品或者方案卖出去。
2025-04-03 07:37:52
530
原创 Linux上位机开发实践(从用板子到自己做板子)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 既然是嵌入式开发,除了开发软件之外,硬件的使用也是非常重要的。一般来说,刚开始的时候,我们习惯于使用现成的板子,俗称开发板。等到比较熟悉之后,我们就开始想办法做自己的板子。做板子通常也不是一蹴而就的。起初,最好是用别人的核心板,自己做底板。等到有一点实力之后,就可以考虑自己做soc板子,但还是建议使用那种内嵌ddr的板子,这样风险小一点。等到这一切都ok之后,就可以考虑自己做核心板了
2025-04-02 07:29:42
713
原创 Linux上位机开发实践(超越MPP去开发产品)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于芯片厂商来说,肯定希望客户的应用和自己的芯片绑定地越紧密越好。甚至于,他们自己成为客户的独家供应商。但是对于嵌入式开发的厂家来说,通常都会希望自己至少有两家以上的soc供应商可以选择,这样才不会被某一家捆绑住。毕竟,一旦自己的供应商是可以替换和选择的话,那么在后续的议价环节,会占据很大的优势。那么从嵌入式Linux上位机开发的而角度来说,怎么做才能实现这一目标呢?
2025-04-01 06:30:35
613
原创 Linux上位机开发实践(从MPP平台到产品)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于mpp平台来说,现在很多soc芯片厂商都会提供类似的功能。或许不叫这个名字,但是功能方面却是类似的。这些基本功能一般都会包括vi(视频输入)、vo(视频输出)、isp(图像处理)、venc(图像&视频编码)、vdec(视频解码)、npu(智能模块)、ai(音频输入)、ao(音频输出)、aenc(音频编码)、adec(音频解码)。这些功能肯定是需要提前把驱动移植好的
2025-03-31 05:20:15
532
原创 Linux上位机开发实践(MPP平台的核心构成)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 芯片行业是一个赢者通吃的行业。也就是说细分领域的前两名,相比较后来者而言,拥有很多无可比拟的优势。以安防市场的soc来说,曾经的海思基本上主导了国内安防soc的半壁江山。只是后来因为制裁的原因,让渡出来的市场,迅速被后来者占领。这些后来者为了兼容之前开发者的习惯,也快速复制了海思的软件开发模式,mpp就是其中的一个环节。 所谓的mpp,就是media process
2025-03-28 06:57:23
1077
原创 Linux上位机开发实践(AI模型的使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学想用AI,也就是所谓的人工智能,但是不清楚怎么用,或者从哪里去用。目前来说,AI的应用主要有三个领域,一个是图像,一个是声音,还有一个是自然语言。年初比较火的DeepSeek,属于自然语言领域。这是常规的分法。那对于我们一般的开发人员来说,应该如何使用AI呢,或者怎么把AI做成产品,卖给客户呢?这里面有几种方法供大家参考。当然,目前来说,我们还是聚焦在图像领域,其他领域也是类
2025-03-27 06:36:58
556
原创 Linux上位机开发实践(开源框架和开源算法)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 做嵌入式软件开发,如果软件本身比较简单,只是图形界面显示,那么相关的开发工作并不难。最主要的内容也就是数据通讯和协议分析,这类软件一般涉及不到开源方案。此时需要做的,就是做一个软件界面,设计一个交互逻辑,拿到对方的协议数据,做一个展示、分析或者记录即可。这方面,即使没有现成的软件模板,写起来也不会很复杂。 还有一类软件,开发工作较多,涉及到界面、算法、通信、保存和运
2025-03-26 21:54:13
626
原创 Linux上位机开发实践(积极使用SoC厂家的SDK)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有不少同学认为如果不涉及驱动的话,linux开发就是把ubuntu linux的软件port到嵌入式开发板子上。这种想法其实有很大的片面性。如果是纯业务开发,嵌入式linux开发确实和一般的x86 ubuntu linux开发差异不大。但是回到嵌入式linux上面,除了外设硬件接口之外,还有很多加速ip可以使用、很多计算资源可以使用,甚至是一个soc里面再跑一个mcu rtos做运动
2025-03-26 06:39:47
919
原创 Linux上位机开发实践(访问IPCam设备)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有一些时候,嵌入式板子可能自己没有摄像头,但是它需要访问别的摄像头。这个时候很容易想到的方案就是网络访问。目前市面上的ipcam很多,也很容易买到,今天可以简单了解下什么是ipcam,ipcam的用途,以及我们可以用ipcam做什么。
2025-03-25 07:10:10
509
原创 Linux上位机开发实践(camera显示、截图和保存)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于camera应用来说,最基础的应用不多,主要就三个,分别是显示、截图和保存。不管是消费、工业和医疗,最早camera都是作为一个辅助设备存在的。大家想象一下,在民用领域,是不是也是这样。以最常见的车载行车记录仪为例,是不是也是这三个功能。当然,为了成本考虑,甚至显示都可以没有,比如可以通过一个wifi芯片来显示和设置。
2025-03-24 06:06:03
436
原创 Linux上位机开发实战(编写API库)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 我们自己编写linux上位机软件的时候,尽量都是通过框架+库的形式来开发。这就是所谓的低耦合,高内聚。相似的功能、模块和算法,都可以做成一个静态库,或者是动态库。实际操作中,客户一般喜欢设计为动态库。因为相比较动态库而言,静态库需要重新编译,比较麻烦。而动态库,即使有bug,直接替换dll、so文件即可。
2025-03-23 09:18:10
648
原创 Linux上位机开发实战(能用的开发板计算资源)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 大家所能想到的嵌入式上位机开发,如果是linux,同时涉及到嵌入式的话,一般都会认为是把pc linux的软件port到板子上,就是嵌入式开发。狭义的说,软件+外设开发就是嵌入式开发的全部。这种想法其实是错误的。嵌入式平台上面,除了cpu之外,其实还有很多的计算资源可以使用。嵌入式开发板并不是只有cpu可以处理数据,其他很多的硬加速都可以。 所以大家说的嵌入式开发
2025-03-22 10:01:45
379
原创 Linux上位机开发实战(camera视频读取)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 关于linux camera,一般都是认为是mipi camera,或者是usb camera。当然不管是哪一种,底层的逻辑都是v4l2,这一点大家都一样。只不过如果使用mipi camera,不仅要适配i2c驱动、mipi驱动、isp驱动,而且相关的协议手册、驱动代码,soc芯片厂家也未必提供的,这一点就比较麻烦。相比较而言,usb camera容易很多,sensor侧的i2c、
2025-03-20 06:39:54
501
原创 Linux上位机开发实战(采样软件开发)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有一种设备其实用的很多,并且和我们的生活密切相关。那就是采样设备。这种采样设备可能是一直采样,如果是这种,那么使用mcu来开发是比较合适的。当然如果是需要后期做一些数据分析,比如pid标定,这种情况的话,用Linux来开发是比较合适的。
2025-03-19 10:18:45
323
原创 Linux上位机开发实战(基本图像处理)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux平台上面,有很多场景是需要处理图像。图像本身自带了很多信息,不仅仅是拿来拍照、录视频。我们可以从图像里面,提取很多的有用信息,比如说人脸识别、二维码识别、ocr识别。今天,我们可以从图像显示开始,然后转到视频、以及信息提取上面。
2025-03-18 10:51:53
487
原创 Linux上位机开发实战(前、后台分离)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 qt本身功能还是非常丰富的。在windows平台上面,除了常规控件之外,大家还可以通过view-scene-item的方式绘制EDA,通过vtk第三方库绘制三维空间,通过QtSql访问database,本身的使用十分方便。不过在linux上面,大多数时候,板子是需要和mcu、或者外部接口通信的,这种情况下,前台一般负责更新界面,后台一般负责数据收发和处理,各有各的分工。
2025-03-17 07:33:18
769
原创 Linux上位机开发实战(常见的外部硬件接口)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 如果说windows处理文件数据、数据库比较多,那么linux上位机处理的数据更多来自于硬件本身。既然是嵌入式,那么它周边就会存在很多的接口,而且这些接口也会分成输入、输出。输入的接口比如说,有按键、有usb、有触摸屏、有各种硬件协议;输出接口则有gpio输出、有屏幕、有pwm、以及各种各样的硬件协议。 前面我们谈到了qt,那么基本默认linux自带了屏幕驱动/de
2025-03-16 07:40:13
393
原创 Linux上位机开发实战(控件的学习)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 上位机的学习,很多人都是从控件开始学习的。我们知道,一个app界面上面有很多的控件,比如说菜单、工具栏、状态栏、label、edit、button、radio button、combobox等等。这些功能除了显示之外,还有很多的事件响应需要我们去处理。这种情况下怎么学习控件,就值得聊一下了。
2025-03-15 11:31:30
442
原创 Linux上位机开发实战(定时器)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 定时器是非常好的一个工具。有了定时器,很多时候我们甚至可以不需要多线程、多进程这些功能。对性能要求不高的应用,比如财务类、仓库类的、工具类的、监控类的一些应用,直接用定时器就可以完成大部分操作。通过定时去检测异常和搜索任务,就可以实现整个工具链的自动化运行。今天我们通过一个简单的倒计时软件,来学习一下如何使用定时器,后面就可以直接做项目。通过项目来学习控件内容了。
2025-03-14 09:43:37
392
原创 Linux上位机开发实战(按钮响应)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 大部分GUI库都会有一个基础功能,那就是怎么把button和回调函数bind在一起。在qt里面,这部分是通过槽函数来实现的。主要的操作方法肯定是这样的,首先用qt designer画出两个控件。其实创建两个槽函数,也就是两个回调函数。最后通过connect函数,把控件和回调函数bind在一起。这样,当我们点击button的时候,就可以进入到这个回调函数里面。
2025-03-13 17:33:56
424
原创 Linux上位机开发实战(qt编译之谜)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学都喜欢用IDE,也能理解。因为不管是visual studio qt插件,还是qt creator其实都帮我们做了很多额外的工作。这里面最重要的部分,就是利用uic、moc和rcc命令帮我们生成了额外的h文件、moc cpp文件、qrc cpp文件。换句话说,这些操作对我们来说都是透明的。但只要我们了解清楚了里面的原理,就会发现其实就是那么回事。
2025-03-12 09:03:18
1140
原创 Linux上位机开发实战(x86和arm自由切换)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们说过,qt本身支持windows系统,也支持linux系统。不仅如此,qt除了支持传统的x86 cpu之外,还支持arm、aarch64 cpu。这样的话,就有很多、很多的好处,我们一一道来。
2025-03-11 10:52:36
836
原创 Linux上位机开发实战(第一个程序)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 准备好了硬件,下面就可以开始软件开发了。前面说过,不使用VirtualBox虚拟机进行软件开发,而是直接使用开发板来处理。那么应该怎么来处理呢?肯定是首先安装Qt开发包,借助于Qt开发包来进行开发。
2025-03-10 11:02:09
432
原创 Linux上位机开发实战(硬件准备)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 我们准备linux上位机开发,大概率还是嵌入式上位机开发,那么这个时候最好还是买一个嵌入式板子。虽然用虚拟机+ubuntu的方式也能开发,但是个人非常建议买一个真实的板子来开发。开发的体验是完全不一样的。等到自己编写的软件可以在开发板上面跑起来的时候,自己也会有很大的成就感,这是x86 linux虚拟机所不具备的。
2025-03-09 13:24:12
393
原创 Linux上位机开发实战(开篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 传统的上位机开发,一般都是默认pc软件开发。既然是pc软件,一般来说都是基于windows平台开发。开放的框架,无非是wpf、qt、mfc这三种。但是事实上,很多嵌入式的平添,也需要进行界面开发。如果是单片机、类似于stm32这种,大多数都是用ucGUI或者是lvgl。而linux平台呢,非常建议大家用qt进行开发。
2025-03-08 14:57:29
827
原创 基于海思soc的智能产品开发(芯片sdk和linux开发关系)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 随着国产化芯片的推进,在soc领域,越来越多的项目使用国产soc芯片。这些soc芯片,通常来说运行的os不是linux,就是android。如果是android,自不必多少,一般厂家都有对应的demo board,开发商改动的不多。但是对于linux来说,我们每一个开发者需要了解下,厂家给的sdk和linux开发本身是什么关系?
2025-03-05 09:19:34
434
原创 基于海思soc的智能产品开发(usb hid设备的访问)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 usb是数据访问一种常见的接口。如果是u盘,一般就别识别为usb storage;如果是usb camera,一般就是用uvc接口去进行访问。当然,两者都不是的话,可以通过libusb来进行访问,这样也是可以的。不过,在用usb访问之前,一般就是会用zadig软件,给具体的设备安装一个驱动,这样后续就可以用libusb进行访问了。 除此之外,还有一种办法,就是usb
2025-03-03 09:18:25
400
原创 基于海思soc的智能产品开发(上位机的适配和测试)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和嵌入式设备相比较,上位机一般运行在pc上面。pc可以安装windows系统,也可以安装linux系统。特别是如果底层实现不了的功能,或者由于性能原因,在底层不方便实现的功能,都可以放到上位机去进行处理。那编写上位机的时候,我们需要注意些什么,
2025-02-28 16:59:32
449
原创 基于海思soc的智能产品开发(图像处理的几种需求)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于一个嵌入式设备来说,如果上面有一个camera,那么就可以与很多的用途。简单的用途就是拍照,比拍照更多一点的就是视频。视频本身可以看成是多个图片之间的集合。采集好了图像,或者视频,是通过网络送出去和别人分享,还是说从图像中提取信息,这里面又会分成很多的专业。所以,我们简单归纳一下,图像本身可以分成这几个方向,
2025-02-17 15:33:56
674
原创 基于海思soc的智能产品开发(2025嵌入式开发怎么推进)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很快,新的一年就要开始了。大部分公司,都会在初八开始上班,迎来自己2025年的第一个工作日。对于大部分人来说,2024年并不是美好。没有就业的,羡慕在职的;在职的,羡慕公司发展好的、年终奖多的;公司发展好的,羡慕身于风口行业的公司。那么对于嵌入式开发的自己,应该如何去面对这一情况呢?
2025-02-03 14:55:52
790
原创 基于海思soc的智能产品开发(嵌入式软件工程师的硬件开发)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 就目前的国情来说,纯软件开发一般集中于特定的领域。对于一般的软件,客户对于付费还是不太情愿的。或者换句话来说,大家对于看不见、摸不着的软件,大家基本上默认它就是免费的。所以,如果我们需要把产品卖给客户,最好给软件搭配一个硬件,这是比较务实的做法。毕竟,大家对于能看得见的东西,付费还是可以接受的。那么这个时候,对于嵌入式软件开发的同学来说,应该怎么做?
2025-01-24 08:18:59
479
原创 基于海思soc的智能产品开发(ddr芯片的使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 早期ddr的使用是非常麻烦的一件事情。而目前来说,这种情况正在改变,一方面soc厂家会推荐一些常用的ddr芯片给客户,这样客户自己就可以灵活进行选择和使用,毕竟是厂家验证过的。另外一方面,还有一些soc会自带ddr,小的有32MB,大的有64MB,甚至是128MB,一般情况下也是够用的。这里的B是byte,不是bit。
2025-01-22 17:53:12
1199
原创 基于海思soc的智能产品开发(软件编程获取图像)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于摄像头图像,前面我们说过,怎么在soc板子上对摄像头进行驱动处理。一般来说就是mipi/dvp驱动,或者就是uvc驱动这两种方法。当然,这些都是驱动的实现部分。对于上层用户来说,又应该怎么获取camera图像呢?毕竟,对于大部分应用app开发来说,它们获取图像只是使用,并不需要对图像底层的细节有过多的了解。
2025-01-22 09:54:17
493
原创 基于海思soc的智能产品开发(isp的原理和应用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们说了很多的驱动,大部分这些驱动对是有着对应的硬件接口。实时上,还有一种驱动,它是对算法进行配置,这些配置包括了算法运行的各种参数、数据的起始地址、数据的目的地址等等。等到这些参数都ok了之后,就可以trigger硬件去完成了。完成之后,再以一种中断的形式report给软件,继续下一次图片的处理。isp就是这样一种硬件算法的集合。 截图中的ae是自动曝光,aw
2025-01-20 22:00:10
1304
原创 基于海思soc的智能产品开发(视频的后续开发)
【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】前面我们讨论了camera,也讨论了屏幕驱动,这些都是基础的部分。关键是,我们拿到了这些视频数据之后,是否还需要做一些后面的工作。难道,拿到这些视频数据之后,仅仅是为了lcd显示一下,是否有必要保存下来、送出去,或者是从视频中提一些信息呢。
2025-01-20 10:56:29
1205
原创 基于海思soc的智能产品开发(高、中、低soc、以及和fpga的搭配)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 市场上关于图像、音频的soc其实非常多,这里面有高、中、低档,开发方式也不相同。之所以会这样,有价格的因素,也有市场的因素,更有面向人群的差异,本身无所谓对与错,本身都是竞争的需要。今天正好有时间,就简单总结一下。
2025-01-18 13:38:22
1185
2
原创 基于海思soc的智能产品开发(mipi接口的camera)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面说过soc的camera有两种,一种是usb camera,一种是mipi/dvp的camera。作为usb的camera,其实出来的图像已经是isp tunning好的,而mipi/dvp的camera,本身支持点亮了sensor,把raw picture从sensor拿过来了而已。
2025-01-17 14:00:07
729
原创 基于海思soc的智能产品开发(hdmi接口)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 hdmi可能是我们平常用的最多的视频输出接口,毕竟大部分人使用台式机的时候,对应的显示器就是hdmi接口。和之前vga接口相比较,hdmi输出更快,分辨率更高,也不挑屏幕尺寸,这一点对于公共场所的屏幕显示尤为重要。我们都知道,现在的显示屏越做越大,很多的屏幕都达到了100寸,这个时候用hdmi就非常方便。类似于很多广告机,这个时候用mipi就不方便了。
2025-01-14 09:31:38
403
原创 基于海思soc的智能产品开发(mipi屏幕)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于便携式式设备,一般想屏幕大一点,毕竟这个时候有一个可触控的mipi屏幕还是非常方便的。之前自己做开发的时候,总想着可以通过ssh、telnet或者借助于上位机解决人机交互的问题,现实是生活中大部分人对计算机并不精通,大家会使用电子产品,最直观的方式还是屏幕交互的方式。 如果说RGB比较适合小屏幕,或者是低分辨率的屏幕,那么对于高分辨率、高画质的屏幕来说,mipi
2025-01-12 10:46:53
498
原创 基于海思soc的智能产品开发(mipi屏幕 vs RGB屏幕)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于linux soc来说,如果是4寸以下小屏幕,一般用spi屏幕、或者是iic屏幕比较多。但是一旦涉及到大尺寸屏幕,特别是移动设备、车载设备、或者是医疗设备的话,这个时候用的比较多的就是mipi屏幕或者是RGB屏幕。HDMI虽然也用,但是因为需要一个额外的显示器,总没有自带屏幕的设备那样方便。当然,双屏幕就更好了。那我们今天就来聊一聊mipi屏幕和RGB屏幕。
2025-01-10 08:24:11
1058
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人