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文件,后續將持續適配更多接口以方便使用。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM