<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HELLO]]></title><description><![CDATA[2017]]></description><link>https://blog.youkuaiyun.com/jhting</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jhting]]></copyright><item><title><![CDATA[【SV823】芯片产品开发：内存优化实战方案]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/166848264</link><guid>https://blog.youkuaiyun.com/jhting/article/details/166848264</guid><author>jhting</author><pubDate>Tue, 29 Sep 2026 19:29:43 +0800</pubDate><description><![CDATA[本文针对SV823平台5W人脸大名单识别需求，从视频处理、UI选型、名单图片优化及应用内存管控四方面提出系统性内存优化方案。通过双目摄像头通道绑定、VBUF精准调优、ei_mem冗余预留，实现视频模块轻量化；选用LVGL框架降低UI内存占用；云端前置压缩与本地差异化处理缓解名单图片压力；应用层拆分非核心进程，保障174MB可用内存下系统稳定运行。实测总内存占用74MB，ION分配82MB，预留8MB冗余，有效解决卡顿与溢出问题，支撑长期高负载人脸识别任务。]]></description><category></category></item><item><title><![CDATA[【Linphone】Ubuntu20.04 编译 Linphone5.2 Android SDK 适配RK3326硬解码完整教程（避坑版）]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/166792882</link><guid>https://blog.youkuaiyun.com/jhting/article/details/166792882</guid><author>jhting</author><pubDate>Mon, 28 Sep 2026 18:37:21 +0800</pubDate><description><![CDATA[本文详述在Ubuntu 20.04下编译Linphone 5.2.0 Android SDK适配RK3326硬解码的完整流程，重点解决NDK版本兼容、子模块拉取失败、Gradle下载超时等问题。通过固定JDK11、NDK 21.4.7075529及Gradle 7.0.2，手动添加RK3326等芯片至硬解白名单，并关闭文档与测试模块，成功实现H264硬件解码，输出可用aar包，适用于瑞芯微嵌入式对讲开发。]]></description><category></category></item><item><title><![CDATA[【SV823】芯片产品开发之SDK编译与配置]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/166792774</link><guid>https://blog.youkuaiyun.com/jhting/article/details/166792774</guid><author>jhting</author><pubDate>Mon, 28 Sep 2026 18:31:08 +0800</pubDate><description><![CDATA[本文简要介绍SV823芯片SDK编译与配置流程，包括通过FAE获取SDK、配置存储类型（EMMC/NAND）、传感器及功能选项，自定义产品配置文件并设置TARGET_DEVICE等关键参数。编译需执行source envsetup.sh后使用lunch选择配置，通过make all编译，结果位于system/mdp/build/glibc。内核DTS和defconfig文件位于指定目录，支持单独编译。U-Boot需独立编译。详细操作参考SDK文档。]]></description><category></category></item><item><title><![CDATA[LVGL - RV1109 LVGL UI刷新效率优化-02]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/133407256</link><guid>https://blog.youkuaiyun.com/jhting/article/details/133407256</guid><author>jhting</author><pubDate>Wed, 24 Jul 2024 22:56:10 +0800</pubDate><description><![CDATA[使用另一个线程来commit，这样只要在另一个线程中，如是UI线程有调用lvgl_drm_flush 这个后，发送一个消息通知刷新线程drm commit操即可！CPU占用率上,不过明显的上升了，使用单线程方式时，CPU占用率在只在5%上下，使用多线程方式时，CPU平均在15%左右，连续操作甚至50%以上！在跑lv_demo_widgets这个示例时，第二个tab页的 Analytics 界面，能看到仪表盘的每一秒的跳动了，之前的代码是直接跳秒的。因为一直没有真正的应用在产品中，所以也就放下了！]]></description><category></category></item><item><title><![CDATA[LVGL - RV1109 LVGL UI开发-01]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/122890975</link><guid>https://blog.youkuaiyun.com/jhting/article/details/122890975</guid><author>jhting</author><pubDate>Wed, 24 Jul 2024 22:55:56 +0800</pubDate><description><![CDATA[RV1109 LVGL UI开发
前面在使用RK的RV1109平台用于产品中，使用的是QT做的UI，主要是继承原来海思平台的产品，随着分辨率的提高，UI响应也慢了不少！试着在RV1109上使用LVGL看看效果如何。
RV1109使用的是DRM的框架，在LVGL里已经有了DRM的一个实现，在720x 1280的分辨率下，跑起来效果体验很不好！在跑LVGL里的demo lv_demo_benchmark,平均只有可怜的4FPS，在海思平台上跑1920x1080的分辨率，没有任何TDE加速情况下，平均都跑到15F]]></description><category></category></item><item><title><![CDATA[简单几步构建设企业流媒体服务器]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/139279094</link><guid>https://blog.youkuaiyun.com/jhting/article/details/139279094</guid><author>jhting</author><pubDate>Tue, 28 May 2024 21:55:37 +0800</pubDate><description><![CDATA[在企业应用中，涉及到视频服务时，直接的应用要求即是视频的实时查看！如果使用各大平台的流媒体服务，对于针对设备的视频服务，如IPC的各种应用场景，在这个卷的时代，单台设备利润很低的终端，投入还是比较大的！其实对于90%以上的企业来说，设备的量比没有哪么大，其实简单的购买一台ECS云服务器，在上面架设一台开源稳定的视频流媒体服务器即可！在使用各大平台的视频流媒体服务，还各种限制，价格贵不说，延时还大，想延时小就得多花钱！]]></description><category></category></item><item><title><![CDATA[PUPANVR-LVGL UI主菜单及设置窗体框架(9)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/133691152</link><guid>https://blog.youkuaiyun.com/jhting/article/details/133691152</guid><author>jhting</author><pubDate>Sun, 08 Oct 2023 22:10:25 +0800</pubDate><description><![CDATA[在设计UI时，竟量把数据、控制、显示，分开，即MVC的一个模式吧！使用MVC这样的模式思想，会让代码简洁不少，逻辑也很清析！]]></description><category></category></item><item><title><![CDATA[Linphone3.5.2 ARM RV1109音视频对讲开发记录]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/132924856</link><guid>https://blog.youkuaiyun.com/jhting/article/details/132924856</guid><author>jhting</author><pubDate>Sat, 16 Sep 2023 21:04:54 +0800</pubDate><description><![CDATA[我的主板是RV1109，人脸平板产品，做为社区的门口、门栋机！需要呼叫室内分机或物业电话机!在Linphone中有实现音视频的标准的处理，但往往在嵌入式平台上处理音视频上又是不标准的!各个厂家的方式又不标准，比如很多嵌入式平台上默认上就不支持ALSA，视频也没有走V4L2的框架，编解码都有自己的SDK实现这时就需要自己实现Linphone低层的一些音视频处理设备!如在这个平台上即是自己实现的音视频处理逻辑!在枚举类中:typedef enum MSFilterId,定义我们自己的音频及视频ID。]]></description><category></category></item><item><title><![CDATA[各种UI库使用总结]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/132788657</link><guid>https://blog.youkuaiyun.com/jhting/article/details/132788657</guid><author>jhting</author><pubDate>Sun, 10 Sep 2023 10:43:11 +0800</pubDate><description><![CDATA[工作了这么年，使用了一些UI库，简单的总结一下，UI库也是五花八门，根据自己的产品，应用场景吧，没有绝对合适的，各有各的应用场景吧！]]></description><category></category></item><item><title><![CDATA[RV1109 人脸识别开发]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/130611243</link><guid>https://blog.youkuaiyun.com/jhting/article/details/130611243</guid><author>jhting</author><pubDate>Wed, 10 May 2023 22:20:35 +0800</pubDate><description><![CDATA[本文档主要介绍了在基于RV1109/RV1126 SOC芯上的人脸识别开发实现的架构设计，开发实现过程，主要用的方式方法!这里主要介绍RV1109上使用SDK里的RKMEDIA里的接口应用加以说明!

介绍如何使用RKMEDIA中的VI,RGA,如何通过DRM来显示视频内容！]]></description><category></category></item><item><title><![CDATA[RK3568用户自定义开机画面功能]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/130403747</link><guid>https://blog.youkuaiyun.com/jhting/article/details/130403747</guid><author>jhting</author><pubDate>Thu, 27 Apr 2023 12:06:39 +0800</pubDate><description><![CDATA[在RK方案中，用户的uboot,kernel开机画面都是同dts,kernel一起入在一个boot.img文件中的，在嵌入式产品中，如果面对全包升级时，dts,kernel,图片文件等资源文件是一同升级的!在一些应用产品的应用场景上，如客户要求的开机画面自定义，即比较难满足要求!]]></description><category></category></item><item><title><![CDATA[PUPANVR-Linux LVGL Framebuffer截屏保存为PNG图片(8)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/123171749</link><guid>https://blog.youkuaiyun.com/jhting/article/details/123171749</guid><author>jhting</author><pubDate>Sun, 27 Feb 2022 22:15:22 +0800</pubDate><description><![CDATA[Framebuffer截屏保存为PNG图片
产品做说明书，或开发过程中有时的沟通，常有截屏的需求！一般的UI开发库中也有这个基本的功能，截屏功能！
其实比较简单，把FrameBuffer中的内存拷出来，写到PNG图片即可！
调试时，把RGB的顺序搞反了，保存的图片，色彩总是不对，见下面代码的for代码，libpng中有一个接口设置RGB顺序了: png_set_bgr 。
在不同的平台获取的数据可能不同，需要根据实际情况调整! 这里UI也是32位的RGBA,Framebuffer也是设置成为32的RGBA方]]></description><category></category></item><item><title><![CDATA[PUPANVR-UI主界面视频预览开发(7)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/122572476</link><guid>https://blog.youkuaiyun.com/jhting/article/details/122572476</guid><author>jhting</author><pubDate>Wed, 19 Jan 2022 01:35:45 +0800</pubDate><description><![CDATA[PUPUA NVR UI开发
UI的选择
本来原来考虑到用的MINIGUI的，但看到那种古老的控件风格，想做现代点可能贴图就搞得不胜其烦了，并且其开源的方式也不太友好！
再看了下各种UI库,看了下LVGL的库的例子，虽然一直没有怎么了解过，但瞬间就爱了！
好吧就用LVGL了！
移植
谈不上什么移值了，framebuffer已经足够简单了，在海思平台上，可以具体见上一往篇Hi3536C上使用的介绍.
单进程还是多线程
我在想是否需要把UI做成一个独立的进程，有点纠集，如果写成一个独立的进程吧，在UI上同后台录]]></description><category></category></item><item><title><![CDATA[LVGL8.1 Hi3536C平台使用]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/122503089</link><guid>https://blog.youkuaiyun.com/jhting/article/details/122503089</guid><author>jhting</author><pubDate>Fri, 14 Jan 2022 21:57:30 +0800</pubDate><description><![CDATA[LVGL8.1 Hi3536C平台使用LVGL8.1 Hi3536C平台使用为什么使用LVGLLVGL相关网站官网Github代码使用版本下载相应的源码LVGLLV_DRIVERSLV_PORTlv_demos编译LVGL在海思Hi3536c中运行LVGL添加鼠标支持优缺点
LVGL8.1 Hi3536C平台使用
为什么使用LVGL
在嵌入式平台上当前还是挺多UI的库可选择，有开源的、闭源的，收费的完全免费的！自己用过的有emWIN,MiniGUI,QT，也有自己实现过的一套UI库。比较早了解了一下LVGL]]></description><category></category></item><item><title><![CDATA[PUPANVR-一些工具类对像(6)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121757009</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121757009</guid><author>jhting</author><pubDate>Mon, 06 Dec 2021 21:46:22 +0800</pubDate><description><![CDATA[VThreadBase

这是一个线程抽像类，方便简单的线程使用。

TMutex

一个互斥对像；

TMutexLocker

互斥对像的一个方便使用的工具对像，使用过QT的都知道哈哈！

TServiceBase

一个服务类对像，是一个线程从VThreadBase继承，为什么要做这个呢？主要是把系统中的各个功能线程看成是一个服务，在基类里统一注册到一个管理类里，这个服务类实现一些通用的约定的服务接口，这样在服务管理类里统一获取各个服务的状态及对其监...]]></description><category></category></item><item><title><![CDATA[PUPANVR-Record主要业务对像(5)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121756358</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121756358</guid><author>jhting</author><pubDate>Mon, 06 Dec 2021 21:17:27 +0800</pubDate><description><![CDATA[产品中，根据NVR录相机的配置中的习惯，有通道的概念，在配置录相时，把接入的相机定义为一个接入的通道，相机绑定到一个通道上，所以抽像一个通道的对像(TVideoChannel)，同时对于这个接入的设备有可能是一个摄像机，也有可能只是一路视频流，或一个回放视频的通道，那这时源就是一个录相文件。所以这里再抽像出一个TVideoSource的对像,使用多态实现视频源有:摄像机源、MP4源等。对于通道在系统里，如果配置好后，一般就会处于打开操作的状态，生命周期一般一直保持着，如录相操作，对于视频的回...]]></description><category></category></item><item><title><![CDATA[PUPANVR-软硬件板端开发环境配置（４）]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121737975</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121737975</guid><author>jhting</author><pubDate>Mon, 06 Dec 2021 00:10:39 +0800</pubDate><description><![CDATA[直接在硬件上跑编译程序时报C,C++库的版本不对的警告信息，看来是编译器的版本和当前板端系统上的不一致导致的，需要更新一下rootfs,使用编译器对应的BSP包：Hi3536C V100R001C02SPC040，编译一下rootfs，为了方便开发，使用jffs2的文件系统.

分区配置:

mem=300M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(k...]]></description><category></category></item><item><title><![CDATA[PUPANVR-建立开发环境及日记、一些基本工具功能添加(3)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121708882</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121708882</guid><author>jhting</author><pubDate>Fri, 03 Dec 2021 23:11:22 +0800</pubDate><description><![CDATA[开发环境配置

编译环境系统

ubuntu-20.04.2.0-desktop

硬件：

主控：Hi3536C;

FLASH: 16MB SPI Nor FLASH;

DDR: 512MB



BSP版本：

Hi3536C V100R001C02SPC040

日记管理

工程目录中的log目录。

先把日记打印功能添加上，方便调试。之前比较多的项目中使用了glog这个库，感觉也挺好用的，用的功能比较简单，这里就用这个库吧。

嵌入式系统中一般存储都很有限，这里先...]]></description><category></category></item><item><title><![CDATA[PUPANVR-创建工程及管理脚本(2)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121621653</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121621653</guid><author>jhting</author><pubDate>Mon, 29 Nov 2021 22:52:11 +0800</pubDate><description><![CDATA[介绍

PUPANVR是一款开源的嵌入式NVR系统，旨在创建一款多平台，易用，稳定的NVR系统。

NVR工程说明

工程的配置，编译是参考Live555开源的方式写的，主要体现在根目录下的config文件夹. 不过一些脚本是从其他芯片厂家的BSP里有拿进来用，如海思安防芯片里的一些脚本。 注意环境是用的bash调试使用的，其他的环境没有测试和使用过。

目录说明

├── app 主应用源代码目录

├── config 不同型号产品配置目录

├── doc 文档目录

├── hardware 不同硬]]></description><category></category></item><item><title><![CDATA[PUPANVR-一个开源的嵌入式NVR系统(1)]]></title><link>https://blog.youkuaiyun.com/jhting/article/details/121621565</link><guid>https://blog.youkuaiyun.com/jhting/article/details/121621565</guid><author>jhting</author><pubDate>Mon, 29 Nov 2021 22:39:37 +0800</pubDate><description><![CDATA[# PUPANVR

　计划实现一个开源的ＮＶＲ系统，统一的上层应用，分离硬件低层的实现，做到不同硬件的抽像实现！

　当前在刚刚开始啊！！！

###　介绍

PUPANVR是一款开源的嵌入式NVR系统，旨在创建一款多平台，易用，稳定的NVR系统。

###　地址

https://gitee.com/jhting/pupanvr.git


...]]></description><category></category></item></channel></rss>