CN117411906A - 一种嵌入QuickJS引擎的RTOS的实现方法及系统 - Google Patents
一种嵌入QuickJS引擎的RTOS的实现方法及系统 Download PDFInfo
- Publication number
- CN117411906A CN117411906A CN202311357670.4A CN202311357670A CN117411906A CN 117411906 A CN117411906 A CN 117411906A CN 202311357670 A CN202311357670 A CN 202311357670A CN 117411906 A CN117411906 A CN 117411906A
- Authority
- CN
- China
- Prior art keywords
- javascript
- quickjs
- engine
- rtos
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000006870 function Effects 0.000 claims abstract description 71
- 238000013515 script Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000013461 design Methods 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 4
- 230000018109 developmental process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种嵌入QuickJS引擎的RTOS的实现方法及系统,包括:将C语言业务功能代码转换为等效的JavaScript业务功能代码,并将JavaScript脚本上传到云服务器;将QuickJS引擎嵌入到RTOS系统,RTOS设备端从云服务器获取JavaScript脚本,下载到本地保存;设备端使用QuickJS引擎对JavaScript脚本进行解析,实现业务功能的处理。本发明在RTOS中嵌入QuickJS引擎,将不同的业务逻辑封装在独立的JavaScript文件中,业务需求改变时,只需要修改相应文件中的代码即可实现功能的改变,不需要修改和重新编译整个应用程序,提升开发效率和代码质量。
Description
技术领域
本发明涉及软件开发技术领域,具体的说,是一种嵌入QuickJS引擎的RTOS的实现方法及系统。
背景技术
目前物联网嵌入式RTOS(全称FreeRTOS,是一个实时操作系统,它是一个轻量级的内核,适用于嵌入式系统和物联网设备)系统开发,业内几乎都采用C语言开发的方式,如果软件功能有更改或者修复了BUG,需要重新编译固件,固件功能包括了OTA升级,配网,串口通信、数据上报等很多通用功能,由于这些功能重新打包,测试人员为了保证产品质量,需要对这些功能进行重新验证测试,浪费了测试人力。同时开发人员因为一点小的功能修改也需要进行烧录和调试,影响了开发效率。
发明内容
本发明的目的在于提供一种RTOS中基于QuickJS的解析器设计方法,用于解决现有技术中目前RTOS系统开发使用C语言开发,软件功能有更改或者修复了BUG,需要重新编译固件、重新测试,开发效率较低的问题。
本发明通过下述技术方案解决上述问题:
一种嵌入QuickJS引擎的RTOS的实现方法,包括:
步骤S10、将C语言业务功能代码转换为等效的JavaScript业务功能代码,并将JavaScript脚本上传到云服务器;
步骤S20、将QuickJS引擎嵌入到RTOS系统,RTOS设备端从云服务器获取JavaScript脚本,下载到本地保存;设备端使用QuickJS引擎对JavaScript脚本进行解析,实现业务功能的处理。
进一步地,所述步骤S10具体包括:
步骤S11、将原始的C语言业务功能代码转换为等效的JavaScript代码;
步骤S12、将原始的C语言代码依赖的硬件接口适配到JavaScript代码中;
步骤S13、调整转换后的JavaScript代码的结构和设计,使适应JavaScript的特点和约束,将设计完成的JavaScript脚本上传到云服务器。
进一步地,调整转换后的JavaScript代码的结构和设计完成后,进行JavaScript代码的测试和验证,确保JavaScript代码在RTOS环境中正常工作,并与原始的C语言代码具有相同的功能和性能。
进一步地,设备端通过使用QuickJS引擎对JavaScript脚本进行解析的方法包括:
QuickJS引擎首先将JavaScript代码分解为一系列的词法单元,使用状态机来识别这些词法单元,生成一个有序的Token列表;
QuickJS引擎将Token列表作为输入,采用递归下降分析方法,按照JavaScript的语法规则构建抽象语法树AST;
QuickJS引擎进行语义分析,验证语法的正确性,并执行静态类型检查;
QuickJS引擎将AST转换为字节码;
QuickJS解释器通过执行字节码运行JavaScript代码。
一种嵌入QuickJS引擎的RTOS的实现系统,包括:
云服务器,用于存储C语言转换后的JavaScript脚本文件,以及用于配置JavaScript脚本文件与产品类型之间的匹配关系;
RTOS设备,包括升级下载服务、fatfs文件系统、QuickJS引擎、业务功能模块和基础功能模块,其中:
升级下载服务,用于RTOS获取JavaScript脚本模块上存储的对应JavaScript脚本文件,检查和升级JavaScript脚本文件,并存储于fatfs文件系统;
QuickJS引擎:解析和执行脚本文件中的JavaScript代码;
业务功能模块,包括脚本解析和执行单元、事件处理单元、定时器单元、文件系统操作单元、网络请求单元、数据库访问单元和执行操作系统命令单元;
基础功能模块,用于提供执行JavaScript代码功能、提供JavaScript数据类型、运算符和控制语句的支持功能、提供标准库函数以及支持与C语言的互操作。
本发明与现有技术相比,具有以下优点及有益效果:
本发明在RTOS中嵌入更轻量级的QuickJS解析引擎,将C语言业务代码转为QuickJS解析的JavaScript代码,将不同的业务逻辑封装在独立的JavaScript文件中。当业务需求发生改变时,只需要修改相应文件中的代码即可实现功能的改变,而不需要修改和重新编译整个应用程序,可以提高代码的可读性、可移植性、扩展性和性能,从而提升开发效率和代码质量。
附图说明
图1为本发明的系统框图;
图2为QuickJS引擎解析原理图;
图3为RTOS的工作流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图3所示,一种嵌入QuickJS引擎的RTOS的实现方法,包括:
步骤S10、将C语言业务功能代码转换为等效的JavaScript业务功能代码,并将JavaScript脚本上传到云服务器;具体包括:
步骤S11、将原始的C语言业务功能代码转换为等效的JavaScript代码;这可以手动进行,将C语言代码中的语法和结构转换为相应的JavaScript代码。也可以考虑使用一些转换工具或脚本来辅助完成这个任务;
步骤S12、如果原始的C语言代码依赖于与硬件相关的接口(例如GPIO(引脚)控制、中断处理等),则需要将原始的C语言代码依赖的硬件接口适配到JavaScript代码中,可以通过编写相应的JavaScript扩展或使用QuickJS提供的系统调用接口来完成这个任务;
步骤S13、调整转换后的JavaScript代码的结构和设计,使适应JavaScript的特点和约束,进行JavaScript代码的测试和验证,确保JavaScript代码在RTOS环境中正常工作,并与原始的C语言代码具有相同的功能和性能。将设计完成的JavaScript脚本上传到云服务器;
将RTOS系统中原先已C语言实现的业务功能代码改写成JavaScript脚本语言实现的业务功能,需要考虑C语言与JavaScript语言的语法差异、数据类型差异、库函数差异、并发问题等。具体来说,可以按照以下步骤将C语言代码改写成JavaScript脚本:阅读并理解C语言代码的逻辑和功能;将C语言中的变量和数据类型转化为JavaScript中的对应类型;考虑C语言代码中的控制结构(如循环、条件语句)在JavaScript中的对应实现;找到JavaScript中相应的库函数,或者根据需要自己编写相应的函数;注意处理并发问题,可以使用JavaScript中的异步编程模式(如Promise、async/await)来处理并发任务;逐行或逐块地将C语言代码改写成JavaScript脚本,并进行测试和调试;
JavaScript脚本文件根据业务功能类型来命名,如串口业务脚本文件uart.js、网络请求业务脚本http.js、mqtt业务脚本mqtt.js等。将这些脚本文件打包成zip压缩文件格式上传到云端服务器,云端服务器后台配置脚本zip文件与设备类型的匹配关系,某类设备智能获取到与之对应的JavaScript脚本文件;
步骤S20、将QuickJS引擎嵌入到RTOS系统,RTOS设备端从云服务器获取JavaScript脚本,下载到本地保存;设备端使用QuickJS引擎对JavaScript脚本进行解析,实现业务功能的处理。
RTOS集成QuickJS引擎,QuickJS是一个小巧的、可嵌入的JavaScript引擎,具有良好的性能和低内存消耗。集成Quickjs解析引擎可以使RTOS具备处理JavaScript脚本的能力,从而实现对脚本语言的解析和执行。
在集成QuickJS引擎时,需要设计一组接口,将RTOS的功能与Quickjs引擎进行连接。这些接口一般包括脚本加载、脚本执行、变量传递和函数调用等功能。接口的设计需要考虑到RTOS的特性和限制,确保在实时应用程序中能够稳定和高效地使用解析引擎。在集成QuickJS引擎时,需要进行一些适配工作,将QuickJS引擎的内存管理函数替换为RTOS的内存管理函数,以确保在RTOS中能够有效地管理内存。
RTOS初始化后,获取和更新JavaScript脚本文件,下载所述的zip压缩文件后,进行解压,将解压文件根据文件名称保存到设备fatfs文件系统中;
设备端在执行相关业务功能前,首先对QuickJS引擎进行初始化操作,来创建JavaScript对象,设备端可以使用QuickJS引擎创建JavaScript对象,从而在JavaScript环境中使用这些对象。
QuickJS引擎调用JavaScript函数:设备端可以使用Quickjs调用JavaScript函数,以实现设备端与JavaScript代码之间的交互。注册JavaScript函数:设备端可以将自身的函数注册到Quickjs中,使得JavaScript代码可以调用这些函数。处理JavaScript的回调函数:设备端使用Quickjs处理JavaScript代码中的回调函数,以实现异步操作的处理。读取和设置JavaScript对象的属性:设备端使用Quickjs读取和设置JavaScript对象的属性,以实现对JavaScript对象的操作。
校验和执行JavaScript代码:设备端使用QuickJS对JavaScript代码进行校验,以确保代码的正确性,并执行校验通过的代码。JavaScript代码的执行能够实现C语言执行相同的功能。
使用QuickJS进行业务开发时,可以将不同的业务逻辑封装在独立的JavaScript文件中。当业务需求发生改变时,只需要修改相应文件中的代码即可实现功能的改变,而不需要修改和重新编译整个应用程序。这种方式具有灵活性和可维护性,因为开发者可以专注于JavaScript代码的编写和修改,而不需要关注整个应用程序的结构和编译过程。同时,QuickJS具有快速的启动时间和小巧的体积,使其非常适合嵌入到资源有限的设备或应用程序中使用。这意味着可以将QuickJS作为一个独立的模块集成到现有的应用程序中,以满足业务需求的变化。
实施例2:
在实施例1的基础上,如图2所示,设备端通过使用QuickJS引擎对JavaScript脚本进行解析的方法包括:
词法分析:QuickJS引擎首先将JavaScript代码分解为一系列的词法单元(token),如标识符、关键字、操作符、字符串等。它使用状态机来识别这些词法单元,生成一个有序的Token列表;token是词法分析器生成的一组标记。词法分析器会根据源代码的字符流划分成一个个的token,每个token代表着源代码中的一个独立的语法单位,例如关键字、标识符、运算符、数字、字符串等。这些token在编译和解析阶段被用于构建语法树或执行相应的操作。
语法分析:QuickJS引擎将Token列表作为输入,采用递归下降分析方法,按照JavaScript的语法规则构建抽象语法树AST;语法分析器遵循JavaScript的语法规则,将Token序列转换为与JavaScript语法等价的抽象语法树。
图2中IR是将源代码转换成的一种中间形式,用于在编译器的各个阶段进行优化和处理。QuickJS解析过程中的IR阶段将源代码转换为一种高级抽象形式,使编译器能够更方便地对代码进行分析和优化。IR通常是一种类似于抽象语法树(AST)的形式,但更加抽象和简化,可以更容易地进行各种编译器优化。IR阶段通常在词法分析和语法分析之后,语义分析之前进行。
语义分析:在语法分析的基础上,QuickJS进行语义分析,验证语法的正确性,并执行一些静态类型检查。这一步包括识别变量和函数的声明、解析作用域规则、判断变量是否已定义等;
字节码生成:QuickJS引擎将AST转换为字节码;字节码是一种介于源代码和机器码之间的低级指令集,可以被解释器或即时编译器执行。字节码生成过程中,QuickJS会进行一些优化,例如常量折叠、变量内存位置分配等。
解释执行:QuickJS解释器通过执行字节码运行JavaScript代码。解释器逐条解释字节码指令,并执行相应的操作,如赋值、运算、函数调用等。
实施例3:
如图1所示,一种嵌入QuickJS引擎的RTOS的实现系统,包括:
云服务器,用于存储C语言转换后的JavaScript脚本文件,脚本文件存储为.zip的格式,一个zip压缩文件中可存在多个JavaScript脚本文件,以及用于配置JavaScript脚本文件与产品类型之间的匹配关系;在云服务器后台可配置脚本文件与产品类型之间的匹配关系,即某类产品只能获取到与之对应的脚本文件;
RTOS设备,包括升级下载服务、fatfs文件系统、QuickJS引擎、业务功能模块和基础功能模块,其中:
升级下载服务,用于RTOS获取JavaScript脚本模块上存储的对应JavaScript脚本文件,检查和升级JavaScript脚本文件,并存储于fatfs文件系统(RTOS系统的一种存储介质);
QuickJS引擎:解析和执行脚本文件中的JavaScript代码;
业务功能模块,包括脚本解析和执行单元(解析和执行JavaScript脚本文件,包括处理语法错误、运行时错误等)、事件处理单元(包括绑定事件监听器、触发事件、事件传递等)、定时器单元(设置定时执行某段JavaScript代码)、文件系统操作单元(进行文件的读写操作)、网络请求单元(HTTP请求、WebSocket连接等)、数据库访问单元和执行操作系统命令单元;
基础功能模块,用于提供执行JavaScript代码功能、提供JavaScript数据类型、运算符和控制语句的支持功能、提供标准库函数以及支持与C语言的互操作(可以将C函数暴露给JavaScript使用,也可以在C代码中调用JavaScript函数)。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (5)
1.一种嵌入QuickJS引擎的RTOS的实现方法,其特征在于,包括:
步骤S10、将C语言业务功能代码转换为等效的JavaScript业务功能代码,并将JavaScript脚本上传到云服务器;
步骤S20、将QuickJS引擎嵌入到RTOS系统,RTOS设备端从云服务器获取JavaScript脚本,下载到本地保存;设备端使用QuickJS引擎对JavaScript脚本进行解析,实现业务功能的处理。
2.根据权利要求1所述的一种嵌入QuickJS引擎的RTOS的实现方法,其特征在于,所述步骤S10具体包括:
步骤S11、将原始的C语言业务功能代码转换为等效的JavaScript代码;
步骤S12、将原始的C语言代码依赖的硬件接口适配到JavaScript代码中,
步骤S13、调整转换后的JavaScript代码的结构和设计,使适应JavaScript的特点和约束,将设计完成的JavaScript脚本上传到云服务器。
3.根据权利要求2所述的一种嵌入QuickJS引擎的RTOS的实现方法,其特征在于,调整转换后的JavaScript代码的结构和设计完成后,进行JavaScript代码的测试和验证,确保JavaScript代码在RTOS环境中正常工作,并与原始的C语言代码具有相同的功能和性能。
4.根据权利要求1所述的一种嵌入QuickJS引擎的RTOS的实现方法,其特征在于,设备端通过使用QuickJS引擎对JavaScript脚本进行解析的方法包括:
QuickJS引擎首先将JavaScript代码分解为一系列的词法单元,使用状态机来识别这些词法单元,生成一个有序的Token列表;
QuickJS引擎将Token列表作为输入,采用递归下降分析方法,按照JavaScript的语法规则构建抽象语法树AST;
QuickJS引擎进行语义分析,验证语法的正确性,并执行静态类型检查;
QuickJS引擎将AST转换为字节码;
QuickJS解释器通过执行字节码运行JavaScript代码。
5.一种嵌入QuickJS引擎的RTOS的实现系统,其特征在于,包括:
云服务器,用于存储C语言转换后的JavaScript脚本文件,以及用于配置JavaScript脚本文件与产品类型之间的匹配关系;
RTOS设备,包括升级下载服务、fatfs文件系统、QuickJS引擎、业务功能模块和基础功能模块,其中:
升级下载服务,用于RTOS获取JavaScript脚本模块上存储的对应JavaScript脚本文件,检查和升级JavaScript脚本文件,并存储于fatfs文件系统;
QuickJS引擎:解析和执行脚本文件中的JavaScript代码;
业务功能模块,包括脚本解析和执行单元、事件处理单元、定时器单元、文件系统操作单元、网络请求单元、数据库访问单元和执行操作系统命令单元;
基础功能模块,用于提供执行JavaScript代码功能、提供JavaScript数据类型、运算符和控制语句的支持功能、提供标准库函数以及支持与C语言的互操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311357670.4A CN117411906A (zh) | 2023-10-19 | 2023-10-19 | 一种嵌入QuickJS引擎的RTOS的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311357670.4A CN117411906A (zh) | 2023-10-19 | 2023-10-19 | 一种嵌入QuickJS引擎的RTOS的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117411906A true CN117411906A (zh) | 2024-01-16 |
Family
ID=89499413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311357670.4A Pending CN117411906A (zh) | 2023-10-19 | 2023-10-19 | 一种嵌入QuickJS引擎的RTOS的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411906A (zh) |
-
2023
- 2023-10-19 CN CN202311357670.4A patent/CN117411906A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7334219B2 (en) | Method and system for object level software testing | |
US5651111A (en) | Method and apparatus for producing a software test system using complementary code to resolve external dependencies | |
US7937692B2 (en) | Methods and systems for complete static analysis of software for building a system | |
US8707263B2 (en) | Using a DSL for calling APIS to test software | |
US7155381B2 (en) | Module for developing wireless device applications using an integrated emulator | |
US20070011669A1 (en) | Software migration | |
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
EP3147783B1 (en) | Automatic determination of compiler configuration | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
US9965257B2 (en) | Automatic configuration of project system from project capabilities | |
CN111880801A (zh) | 应用程序动态化方法、装置、电子设备 | |
CN115543781A (zh) | 汽车软件模型自动化验证的方法及交互系统 | |
US20190212990A1 (en) | Framework for generating adapters in an integrated development environment | |
US10839124B1 (en) | Interactive compilation of software to a hardware language to satisfy formal verification constraints | |
EP2626784A1 (en) | Method and apparatus for automated MATLAB interfacing | |
CN111259042A (zh) | 一种动态查询方法及系统 | |
US9710360B2 (en) | Optimizing error parsing in an integrated development environment | |
CN117411906A (zh) | 一种嵌入QuickJS引擎的RTOS的实现方法及系统 | |
CN115756424A (zh) | 一种生成mvp代码的方法、装置及设备 | |
CN113778451B (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
CN115344268A (zh) | 一种多平台嵌入式开发环境编译方法及装置 | |
CN114968186A (zh) | 一种面向通用神经网络张量处理器的统一编程方法 | |
CN114047923A (zh) | 错误代码定位方法、装置、存储介质以及电子设备 | |
Gioachin et al. | Dynamic high-level scripting in parallel applications | |
CA2566025C (en) | Type validation for applications incorporating a weakly-typed language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |