當前位置: 華文星空 > 知識

JerryScript:物聯網開發者的得力工具

2021-12-15知識
摘要: 本文件以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檔,後續將持續適配更多介面以方便使用。

    點選關註,第一時間了解華為雲新鮮技術~