JerryScript:物联网开发者的得力工具
摘要:本文档以Linux开发环境及realview-pbx-a9开发板为例,简单介绍LiteOS上jerryscript命令的使用。
本文分享自华为云社区《Jerryscript—让开发者事半功倍》,作者:Lionlace。
物联网设备在CPU性能和内存空间方面皆存在严格受限,在使用V8引擎这类大型引擎时难免存在诸多不便。在此背景下,JerryScript引擎诞生了。JerryScript是由三星开发的一款炙手可热的轻量级引擎,其目的是让JavaScript开发者能够更好地构建物联网应用,它可以在RAM小于64KB和Flash小于200KB的设备上运行。
JerryScript的主要特征有:
- 完全符合ECMAScript 5.1标准;
- 为ARM Thumb-2编译时,二进制大小为160K;
- 针对低内存消耗进行了高度优化;
- 以C99编写,以实现最大的便携性;
- 快照支持将JavaScript源代码预编译为字节代码;
- 成熟的C API,易于嵌入应用程序。
目前LiteOS已适配的开发板中可以支持其运行的开发板为:realview-pbx-a9。
本文档以Linux开发环境及realview-pbx-a9开发板为例,简单介绍LiteOS上jerryscript命令的使用。
使能jerryscript
首先设置realview-pbx-a9的默认配置,在Linux系统的LiteOS源码根目录下,执行如下命令:
~/Huawei_LiteOS$ cp tools/build/config/realview-pbx-a9.config .config
执行如下命令打开LiteOS menuconfig菜单启用jerryscript
~/Huawei_LiteOS$ make menuconfig
按如下路径开启jerryscript组件及jerry命令
Components ---> FileSystem ---> [*] Enable RAMFS Language ---> [*] Enable Jerryscript
注:RAMFS为可选组件,如选择该组件,可生成一个/ramfs/hello.js示例文件,在LiteOS的shell中执行jerry /ramfs/hello.js命令可查看其运行结果, jerryscript组件依赖vfs,开启jerryscript组件后,vfs即自动开启。
保存退出,此时LiteOS会从github自动下载jerryscript源代码,关于在线组件的自动下载,请查阅在线组件下载流程。待下载完成后,执行如下命令编译LiteOS工程。
~/Huawei_LiteOS$ make clean;make -j
编译成功后将在out/realview-pbx-a9/lib目录下生成组件静态库文件libjerryscript.a,生成的系统镜像文件为Huawei_LiteOS.bin。
注:下载需要Linux主机可以访问互联网,并安装git。
jerry命令
查看jerry命令是否生效:
按上述方法使能jerryscript后,jerry命令会被编译进系统镜像文件中。使用串口工具,进入shell,输入help命令后,如果显示jerry命令,则表明已经生效。
Huawei LiteOS # help *******************shell commands:************************* date free help hwi jerry log memcheck stack swtmr systeminfo task uname watch Huawei LiteOS #
查看jerry命令的使用帮助信息:进入shell, 输入jerry -h。
Huawei LiteOS # jerry -h Usage: jerry [options] Options: -h, --help print this help -v, --version print tool and library version FILE input JS file Huawei LiteOS # 运行hello.js文件 Huawei LiteOS # jerry /ramfs/hello.js Hello, wlorld! I'm JerryScript. Huawei LiteOS #
jerryscript目前适配接口有限,仅支持运行本地js文件,后续将持续适配更多接口以方便使用。
相关文章
- 太强了,全面解析缓存应用经典问题
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph L)
- Shell脚本监控网站页面正常打开情况
- Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建
- VideoPipe可视化视频结构化框架更新总结(2022-12-9)
- VideoPipe可视化视频结构化框架新增功能详解(2022-11-4)
- VideoPipe可视化视频结构化框架开源了!
- VP视频结构化框架(2022/9/30更新)
- 生成型神经网络
- 如何写好一篇技术型文档?
- 肢体识别与应用
- 从Vehicle-ReId到AI换脸,应有尽有,解你所惑
- 图像Resize方式对深度学习模型效果的影响
- 目标检测框不稳定不连续?
- 视频结构化技术栈全解析
- 多目标跟踪全解析,全网最全
- 后端分析/前端分析/边缘分析
- [计算机视觉]非监督学习、AutoEncoder、AI换脸demo
- [计算机视觉]从零开始构建一个微软how-old.net服务/面部属性识别
- [计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测