• 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文件,后续将持续适配更多接口以方便使用。

     

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

  • 相关阅读:
    iis添加证书
    重谈主键和索引
    关于心跳包的方案探究
    flutter android keystore
    flutter photo_view的改造
    dart 命名规范
    dart 公共变量
    flutter 交互提示方式
    flutter container image FittedBox AspectRatio
    聊聊flutter的UI布局
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/15691914.html
Copyright © 2020-2023  润新知