驚喜來襲—?dú)g迎“網(wǎng)絡(luò)設(shè)備開放社區(qū)”加入數(shù)通大家庭!
1076
2022-05-30
物聯(lián)網(wǎng)設(shè)備在CPU性能和內(nèi)存空間方面皆存在嚴(yán)格受限,在使用V8引擎這類大型引擎時(shí)難免存在諸多不便。在此背景下,JerryScript引擎誕生了。JerryScript是由三星開發(fā)的一款炙手可熱的輕量級引擎,其目的是讓JavaScript開發(fā)者能夠更好地構(gòu)建物聯(lián)網(wǎng)應(yīng)用,它可以在RAM小于64KB和Flash小于200KB的設(shè)備上運(yùn)行。
JerryScript的主要特征有:
完全符合ECMAScript 5.1標(biāo)準(zhǔn);
為ARM Thumb-2編譯時(shí),二進(jìn)制大小為160K;
針對低內(nèi)存消耗進(jìn)行了高度優(yōu)化;
以C99編寫,以實(shí)現(xiàn)最大的便攜性;
快照支持將JavaScript源代碼預(yù)編譯為字節(jié)代碼;
成熟的C API,易于嵌入應(yīng)用程序。
目前LiteOS已適配的開發(fā)板中可以支持其運(yùn)行的開發(fā)板為:realview-pbx-a9。
本文檔以Linux開發(fā)環(huán)境及realview-pbx-a9開發(fā)板為例,簡單介紹LiteOS上jerryscript命令的使用。
使能jerryscript
首先設(shè)置realview-pbx-a9的默認(rèn)配置,在Linux系統(tǒng)的LiteOS源碼根目錄下,執(zhí)行如下命令:
~/Huawei_LiteOS$ cp tools/build/config/realview-pbx-a9.config .config
執(zhí)行如下命令打開LiteOS menuconfig菜單啟用jerryscript
~/Huawei_LiteOS$ make menuconfig
按如下路徑開啟jerryscript組件及jerry命令
Components ---> FileSystem ---> [*] Enable RAMFS Language ---> [*] Enable Jerryscript
注:RAMFS為可選組件,如選擇該組件,可生成一個(gè)/ramfs/hello.js示例文件,在LiteOS的shell中執(zhí)行jerry /ramfs/hello.js命令可查看其運(yùn)行結(jié)果, jerryscript組件依賴vfs,開啟jerryscript組件后,vfs即自動開啟。
保存退出,此時(shí)LiteOS會從github自動下載jerryscript源代碼,關(guān)于在線組件的自動下載,請查閱在線組件下載流程。待下載完成后,執(zhí)行如下命令編譯LiteOS工程。
~/Huawei_LiteOS$ make clean;make -j
編譯成功后將在out/realview-pbx-a9/lib目錄下生成組件靜態(tài)庫文件libjerryscript.a,生成的系統(tǒng)鏡像文件為Huawei_LiteOS.bin。
注:下載需要Linux主機(jī)可以訪問互聯(lián)網(wǎng),并安裝git。
jerry命令
查看jerry命令是否生效:
按上述方法使能jerryscript后,jerry命令會被編譯進(jìn)系統(tǒng)鏡像文件中。使用串口工具,進(jìn)入shell,輸入help命令后,如果顯示jerry命令,則表明已經(jīng)生效。
Huawei LiteOS # help *******************shell commands:************************* date free help hwi jerry log memcheck stack swtmr systeminfo task uname watch Huawei LiteOS #
查看jerry命令的使用幫助信息:進(jìn)入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 # 運(yùn)行hello.js文件 Huawei LiteOS # jerry /ramfs/hello.js Hello, wlorld! I'm JerryScript. Huawei LiteOS #
jerryscript目前適配接口有限,僅支持運(yùn)行本地js文件,后續(xù)將持續(xù)適配更多接口以方便使用。
結(jié)語
未來我們還會持續(xù)新增更多組件、開發(fā)板、架構(gòu)、特性等。
感謝您的閱讀,有任何問題、建議,都可以留言給我們,讓我們一起進(jìn)步:
https://gitee.com/LiteOS/LiteOS/issues。
為了更容易找到“LiteOS”代碼倉,建議訪問https://gitee.com/LiteOS/LiteOS,關(guān)注“ Watch”、“Star”、并“Fork”到自己賬號下,如圖所示。
-end-
IoT 輕量級操作系統(tǒng) LiteOS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。