写点什么

JerryScript:物联网开发者的得力工具

  • 2021 年 12 月 15 日
  • 本文字数:1283 字

    阅读完需:约 4 分钟

​​摘要:本文档以 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 RAMFSLanguage --->[*] 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 stackswtmr systeminfo task uname watchHuawei LiteOS #
复制代码


 查看 jerry 命令的使用帮助信息:进入 shell, 输入 jerry -h。


Huawei LiteOS # jerry -hUsage: jerry [options]Options:-h, --help print this help-v, --version print tool and library versionFILE input JS fileHuawei LiteOS #运行hello.js文件Huawei LiteOS # jerry /ramfs/hello.jsHello, wlorld! I'm JerryScript.Huawei LiteOS #
复制代码


 jerryscript 目前适配接口有限,仅支持运行本地 js 文件,后续将持续适配更多接口以方便使用。


点击关注,第一时间了解华为云新鲜技术~

发布于: 1 小时前阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
JerryScript:物联网开发者的得力工具