本文分享自華為雲社區【Jerryscript—讓開發者事半功倍】,作者:Lionlace。
物聯網器材在CPU效能和記憶體空間方面皆存在嚴格受限,在使用V8引擎這類大型引擎時難免存在諸多不便。在此背景下,JerryScript引擎誕生了。JerryScript是由三星開發的一款炙手可熱的輕量級引擎,其目的是讓JavaScript開發者能夠更好地構建物聯網套用,它可以在RAM小於64KB和Flash小於200KB的器材上執行。
JerryScript的主要特征有:
目前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檔,後續將持續適配更多介面以方便使用。
點選關註,第一時間了解華為雲新鮮技術~