ZJS開發環境增加多個功能模塊,助力工程師加快產品設計
物聯網設備種類越來越多,用戶接受度越來越高,設備廠商一直試圖找到一款簡單并能應用于未來物聯網開發板的開發環境,從而縮短設備開發周期。目前來看,Zephyr操作系統可用C語言編程,但是編寫程序需要大量的專業知識儲備,而JavaScript接口可以讓工程師免去大量復雜的基于原生語言的編程工作。因此,英特爾將JavaScript引入了Zephyr操作系統,定名為ZJS開發環境。對比基于V8的Node.js需要太大的內存,ZJS開發環境更適用于內存較小的系統。當用戶使用該工具編寫應用程序時,ZJS開發環境可以向工程師提供Node.js API和JavaScript API子集,以及使用它們構建應用程序的工具,其中包括傳感器、執行器和通信器。對于那些已經掌握JavaScript技能的開發人員,ZJS開發環境簡單易學,可以快速建立原型。
ZJS再度升級, V0.3功能更加完善
隨著Zephyr和JavaScript的不斷更新,為提供更完善的功能,ZJS也在進行相應的升級。今年4月,ZJS 團隊在Github上發布了ZJS的0.3版本,該版本基于穩定的Zephyr 1.7和***的JerryScript版本進行開發,采用newlib技術實現動態分配內存。為了更好地滿足開發者需求,添加了新的功能模塊,包括OCF模塊、UDP數據傳輸模塊、文件系統模塊、芯片溫度檢測模塊;控制臺模塊增加了新的對外接口:time、timeEnd和 assert;在ashell模式下和Web IDE配合使用,可以支持WebUSB,還能更好的清除運行過的腳本文件,避免常駐。
新版本對部分開發板的支持內容也做了升級,在K64F的開發板上支持I2C數據傳輸,在Arduino 101的引導程序中增加動態分配x86/arc的存儲空間;在開發方面,為標準參數定義宏處理,添加ZVAL宏變量去完成jerry_value_t自動清理機制,使用持續集成工具Travis來加速合并和緩存;在測試方面,為常用測試行為添加Assert.js模塊。
針對SDK 0.9推出解決方案,使用內存要充足
ZJS開發環境的優勢是JavaScript 使用者可以在不同的環境下編程,如PC、云端、移動端和物聯網設備上,這些代碼可以重用,從而提高工作效率,然而JavaScript引擎會消耗一部分系統RAM和ROM,因此在資源嚴重受限的設備上就減少了留給應用程序的存儲空間。關于SDK0.9的使用,Zephyr創建了一套解決方案。開發者需要注意的是,***不要在debug模式下使用SDK 0.9創建工程,同時如果開發者想使用SDK 0.9去創建ashell/ide工程,還須使用“ROM = 250”。如果無法達到這個要求,建議開發者繼續使用SDK 0.8.2。
同時該版本還定義標準的錯誤類型,改善了創建流程,例如簡單的ashell/ide標簽、修復在MAC上的創建過程。更多細節可以通過API documentation和 ashell documentation來進一步了解。
關于Zephyr項目
Zephyr 項目是一款小型且可擴展的操作系統,尤其適用于資源受限的系統,可支持多種架構;該系統高度開源,對于開發人員社區完全開放,開發人員可根據需要對該系統進行二次開發,以支持***硬件、工具和設備驅動程序;該系統高度模塊化平臺,可輕松集成任何架構的第三方庫和嵌入式設備。