簡易檢索 / 詳目顯示

研究生: 黎東權
Lai, Tong Kun
論文名稱: 支援互動執行與程式呼叫協定轉換的韌體結構
Firmware Architecture Enabling Interactive Programming and Calling Convention Translation
指導教授: 周百祥
Chou, Pai H.
口試委員: 周志遠
Jerry Chou
蔡明哲
Ming-Jer Tsai
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2014
畢業學年度: 102
語文別: 英文
論文頁數: 92
中文關鍵詞: 無線感測平台呼叫慣例互動執行
外文關鍵詞: wireless sensor, calling convention, interactive execution
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 整合通訊收發器的微處理器(MCU)需要使用符合通訊標準的通訊協定堆疊(Protocol Stack)來進行通訊。為保護智慧財產權,通訊晶片的製造廠商會以二進制庫(Binary Library)的方式提供通訊協定堆疊給開發者使用,讓開發者只要使用預定的編譯器並且鏈結二進制庫就能進行開發。可是,由於廠商所採取的保護措施,即使目標裝置使用相同的指令集(Instruction-set),開發者還是要放棄慣用的編譯器,而被迫改用預定的編譯器來進行開發。因為編譯器之間會有不同的呼叫慣例(Calling Convention)、目的檔(Object File)格式和支援執行環境的結構擴充(Architecture Extentions),增加混合編譯器(Mixing Compiler)在開發上的困難度。另外一個使用編譯器進行開發的問題是,程式都在目標裝置上批次(Batch)執行,使開發者很難在目標裝置上互動地測試簡單的程式片斷。

    我們在現有的韌體架構上插入兩個軟體層來解決上述的問題。編譯器綁定層(Compiler Binding Layer)從編譯階段(Compile-time)和執行階段(Run-time)兩方面來銜接不同編譯器之間的呼叫慣例規則。互動執行層(Interactive Execution Layer)讓開發者可以動態地把待測試的程式碼載入至SRAM上執行。因為系統影映檔必須使用預定的編譯器來產生,所以我們會在系統影映檔中加入預先設計的副程式碼,使得開發者不必使用預定的編譯器,而可以自由選用編譯器來進行程式開發,同時又能享有通訊協定堆疊(Bluetooth Low Energy, Zigbee)和其他單晶片RF+MCU平台的好處。


    Microcontroller units (MCU) with integrated communication transceivers usually require protocol stack support to be compliant with standards. Many manufacturers provide royalty-free stacks in the form binary images linkable by specific compilers as an effective way to support developers while protecting the stack code as intellectual property from being used in competitors' products. Unfortunately, the use of designated compilers prevents the developers from choosing their own compilers, even if they target the same instruction-set architecture. What prevents the mixing of compilers include differences in the calling convention across compilers, format of the object files, and runtime support for various architecture extensions. Another issue with compiler-based programming approach is that the code must be executed in batch, making it difficult to interactively experiment with simple code fragments.

    To address these problems, we propose two layers to be inserted into the existing firmware architecture. The compiler binding layer (CBL) resolves the differences in calling conventions by using a mix of compile-time and run-time techniques. The interactive execution layer (IEL) enables the user to execute disposable code
    fragments that are dynamically loaded into SRAM during runtime. By distributing an image built with the designated compiler and the proper stub code, we enable developers to be completely independent of the designated compiler and to use their own compiler exclusively to develop their own user code while still being able to take advantage of the proprietary protocol stack such as Bluetooth Low Energy,
    ZigBee, and others that target single-chip RF+MCU platforms.

    1 Introduction 2 Related Work 3 Background: 4 System Overview 5 Implementation 6 Evaluation 7 Conclusions and Future Work 8 Appendix

    [1] ANT - Official Website. http://www.thisisant.com/.
    [2] Bluetooth - Official Website. http://www.bluetooth.com/.
    [3] IAR - IAR Embedded Workbench. http://iar.com/.
    [4] SDCC - Small Device C Compiler. http://sdcc.sourceforge.net.
    [5] Z-Wave - Official Website. http://www.z-wave.com/.
    [6] Zigbee - Official Website. http://www.zigbee.org/.
    [7] HSUEH, C.-H., TU, Y.-H., LI, Y.-C., AND CHOU, P. EcoExec: An interactive execution framework for ultra-compact wireless sensor nodes. In Sensor Mesh and Ad Hoc Communications and Networks (SECON), 2010 7th Annual IEEE Communications Society Conference on (june 2010), pp. 1 –9.
    [8] LIFTON, J., SEETHARAM, D., SLTZER, M., AND PARADISO, J. Bertha: The OS for Pushpin computers.
    [9] STEVE VINOSKI, IONA TECHNOLOGIES, I. Corba: Integrating diverse applications within distributed heterogeneous environments. 46–55.
    [10] T.P BAKER, D. Ada bindings for c interfaces: Lessons learned from the florist implementation

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE