Document
拖动滑块完成拼图
个人中心

预订订单
商城订单
发布专利 发布成果 人才入驻 发布商标 发布需求

请提出您的宝贵建议,有机会获取IP积分或其他奖励

投诉建议

在线咨询

联系我们

龙图腾公众号
专利交易 商标交易 积分商城 国际服务 IP管家助手 科技果 科技人才 会员权益 需求市场 关于龙图腾 更多
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 山东威尔数据股份有限公司孙晓悦获国家专利权

山东威尔数据股份有限公司孙晓悦获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网获悉山东威尔数据股份有限公司申请的专利基于QuickJS-NG和LVGL的低成本嵌入式软件开发方法、程序产品及运行方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN121029171B

龙图腾网通过国家知识产权局官网在2026-03-24发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202511553021.0,技术领域涉及:G06F8/38;该发明授权基于QuickJS-NG和LVGL的低成本嵌入式软件开发方法、程序产品及运行方法是由孙晓悦;王冠男设计研发完成,并于2025-10-29向国家知识产权局提交的专利申请。

基于QuickJS-NG和LVGL的低成本嵌入式软件开发方法、程序产品及运行方法在说明书摘要公布了:本发明公开了一种基于QuickJS‑NG和LVGL的低成本嵌入式软件开发方法、程序产品及运行方法,涉及嵌入式系统软件开发技术领域。该开发方法通过构建C语言层与JavaScript层之间的双向通信机制,实现界面与业务逻辑的彻底解耦;基于EEZ设计器建立UI信息绑定机制和组件树共享,实现多机型UI适配与基于类的组件生命周期管理;同时集成路由机制与焦点控制机制。对应的程序产品包括基于该方法开发的计算机程序。本发明还提供了该程序产品的运行方法。本发明在不修改QuickJS‑NG与LVGL源码的前提下,实现了高效、低成本的嵌入式GUI开发,具备良好的可维护性、多机型适配能力与交互体验。

本发明授权基于QuickJS-NG和LVGL的低成本嵌入式软件开发方法、程序产品及运行方法在权利要求书中公布了:1.一种基于QuickJS-NG和LVGL的低成本嵌入式软件开发方法,其特征在于,包括: 步骤一,构建C语言层与JavaScript层之间的双向通信机制;C语言层用于运行LVGL实现用户界面功能,JavaScript层用于运行QuickJS-NG引擎; 所述双向通信机制包括三个子机制:LVGL向QuickJS-NG发送事件的第一通信子机制、QuickJS-NG向LVGL发送指令的第二通信子机制、以及JavaScript异步调用C语言函数的第三通信子机制; 第一通信子机制的实现方式为:在C语言层创建全局事件消息队列,用于接收来自LVGL的UI事件以及外部事件;JavaScript层基于QuickJS-NG运行主线程,并创建Worker子线程,Worker子线程中循环调用C函数,以阻塞的方式等待全局事件消息队列中的消息;Worker子线程获取消息后发送给主线程进行处理; 第二通信子机制的实现方式为:当JavaScript层需要控制LVGL进行UI渲染或更新操作时,采用同步阻塞调用机制向LVGL发送指令; 具体过程如下: JavaScript层首先基于要发送的指令创建一个消息对象que_obj,该消息对象包含一个进程间共享的信号量sem和一个用于存储返回值的字符串ret_str;将消息对象que_obj加入到LVGL的UI线程消息队列中;然后在JavaScript主线程调用sem_wait函数,在消息对象que_obj的信号量sem上进入阻塞等待状态; LVGL图形库通过其固有的定时器机制,按预设时间间隔调用lv_timer_handler函数,检查并处理UI线程消息队列,从中取出消息对象que_obj后,LVGL在UI线程中执行该消息所请求的具体操作;操作执行完毕后,将结果数据填入该消息对象que_obj的字符串ret_str中,并调用sem_post函数释放与该消息对象关联的信号量sem; JavaScript主线程监测到信号量sem被释放后脱离阻塞状态,随后从该消息对象que_obj的字符串ret_str中读取LVGL返回的操作结果,并继续执行后续逻辑; 第三通信子机制的实现方式为:JavaScript层维护一个全局的映射字典waitAckList和一个递增的唯一ID生成器waitAckCurId;当JavaScript层需要通过异步调用C语言函数处理耗时任务时,JavaScript层创建一个新的Promise对象,并在Promise对象的构造函数中将当前Promise对象用于处理成功结果的resolve回调函数和用于处理失败结果的reject回调函数与当前Promise对象的唯一ID关联、存入waitAckList字典,然后调用C语言函数并将此唯一ID和操作参数传入该C语言函数;此C语言函数立即启动一个新的工作线程来执行实际的耗时操作,然后C语言函数自身立即返回,从而使得JavaScript线程不会被阻塞;当Promise对象的构造函数执行完毕,将创建的Promise对象立即返回给调用者,此后JavaScript层的主线程继续执行其他任务,而C语言的工作线程在后台并行处理耗时操作;当C语言工作线程完成其任务后,它将结果数据和之前传入的唯一ID封装为执行结果消息,通过第一通信子机制的全局事件消息队列发送给JavaScript层;JavaScript层的主线程通过第一通信子机制获得该执行结果消息,然后根据执行结果消息中的唯一ID从waitAckList字典中找出对应的resolve回调函数和reject回调函数,再依据执行结果选择执行resolve回调函数或reject回调函数,从而改变Promise对象的状态,完成整个异步调用流程; 步骤二,基于EEZ设计器设计窗体,并建立UI信息绑定机制,实现C语言层和JavaScript层的组件信息共享; 步骤三,搭建多机型UI适配策略,实现机型对应组件的自动加载; 步骤四,在JavaScript层实现基于类的组件生命周期管理,为组件建立一套标准化的生命周期模型,使开发者能够以面向对象的方式组织业务逻辑,并在组件的不同状态下执行对应的代码; 步骤五,实现UI事件与JavaScript回调函数的绑定机制,实现JavaScript层对UI事件的响应; 步骤六、建立路由机制,实现页面即窗体间的跳转功能与状态管理功能。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人山东威尔数据股份有限公司,其通讯地址为:264003 山东省烟台市莱山区瑞达路8号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

以上内容由龙图腾AI智能生成。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。