透過您的圖書館登入
IP:13.59.243.194
  • 學位論文

微型嵌入式平台上之韌體更新及腳本化執行框架

A Scriptable Execution and Reprogramming Framework for Resource-Constrained Embedded Platforms

指導教授 : 周百祥

摘要


本論文提出了EcoExec+,支援微型嵌入式平台上遠端韌體更新及互動執行的框架。EcoExec+採用主從式的網路架構( client-server architecture )。使用者透過系統提供之API於資源豐富的客戶端(resource-rich client)對無線感測平台進行遠端程序調用( Remote Procedure Call, RPC),存取無線感測平台的資訊及服務、控制並執行其系統及應用程式。動態物件導向程式語言(如Python)的支援將平台視為本機端物件(local data objects)進行存取,更有助於無線感測平台透過EcoExec+開發環境進行應用開發。 EcoExec+於伺服器端提出腳本為基礎( script-based )的架構來記錄平台執行程序,並於有限記憶體下支援遠端程序調用服務、工作管理( Job Control )等。透過客戶端以互動方式進行程序之修改,客戶端參數、回傳值的型態編組及反編組( type marshaling /demarshaling )與程式管理端即時的編譯及遠端韌體更新機制,大量減少伺服器裝置上資源使用的同時,於無線感測平台上完成動態開發環境之實踐。 值得注意的是,EcoExec+同時高度模組化了客戶端與伺服器端的架構,使得系統具力;(3)容易移植到其他編輯程序( compiler )及指令集架構( instruction-set architecture )。本論文於實驗中不僅將既有應用與EcoExec+之互動模式整合,並完成系統層面之開發,如溝通介面之切換與分層網路之建置,驗證了本論文所提出之框架大幅度的減少測試、開發無線感測平台所需耗費的時間及成本,也讓微型嵌入式裝置不再因有限的資源而侷限其開發應用。

關鍵字

無線感測網路

並列摘要


EcoExec+ is a framework for interactive programming of resource-constrained wireless sensor nodes. It provides an application programming interface (API) for making remote procedure calls (RPC) to a node from a resource-rich client such as a host PC or a mobile device. When used in conjunction with a dynamic language such as Python, it makes a friendly and powerful development environment by enabling nodes to be accessed just like local data objects. EcoExec+ handles all type marshaling and demarshaling of the parameters and return values on the client side. Optionally, just-in-time compilation and remote firmware patching before the invocation can also be done by either the same host PC or a separate server. The runtime-support code on the node handles RPC service, job control, and code patching functions. The contributions of EcoExec+ over its predecessor, EcoExec, is the significantly enhanced modular organization on both the client and server sides, enabling it to be configured to a variety of communication interfaces, to co-exist with existing runtime systems, and be easily portable to other compilers or instruction-set architectures. Case studies confirm that Eco-Exec+ enables development of nontrivial applications with significantly reduced effort, thanks to the interactive programming and type marshaling support.

參考文獻


[1] Python Programming Language – Official Website. http://www.python.org.
[2] SDCC - Small Device C Compiler. http://sdcc.sourceforge.net.
[5] DAWSON-HAGGERTY, S., JIANG, X., TOLLE, G., ORTIZ, J., AND CULLER, D. sMAP: a simple measurement and actuation profile for physical information. In Proceedings of the 8th
[9] JEONG, J., KIM, S., AND BROAD, A. Network reprogramming. No. 12.
[10] KOSHY, J., AND PANDEY, R. Remote incremental linking for energy-efficient reprogramming

延伸閱讀