帳號:guest(3.135.208.201)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):謝明翰
作者(外文):Hsieh, Ming-Han
論文名稱(中文):支援物聯網處理器之集成開發環境與函式庫
論文名稱(外文):The Integrated Development Environment and Library Support for an IoT Processor
指導教授(中文):李政崑
指導教授(外文):Lee, Jenq-Kuen
口試委員(中文):陳鵬升
洪明郁
口試委員(外文):Chen, Peng-Sheng
Hung, Ming-Yu
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系所
學號:104062632
出版年(民國):106
畢業學年度:105
語文別:英文
論文頁數:37
中文關鍵詞:物聯網Eclipse外掛C 函式庫
外文關鍵詞:IoTEclipseplug-inC library
相關次數:
  • 推薦推薦:0
  • 點閱點閱:118
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
  近來,物聯網發展迅速,已被應用到各領域中。利用網際網路、無線傳輸等各式通訊方式,串聯所有能行使獨立功能的物體,實現互聯互通的網路狀態。處理器在物聯網技術裡扮演著不可或缺的腳色。在這篇論文中,我們支援的Midas處理器有以下特性:
一. 8位元和16位元精簡指令集
二. 32個8位元或16個16位元通用暫存器
三. 64位元組的資料記憶體和4096位元組的程式記憶體
  為了輔助Midas處理器的程式開發,我們實作了一組Eclipse插件。我們  藉由附加外掛的方式在Eclipse中增加了必要的功能。這些功能包含了創建、管理、建置以及除錯Midas專案。
  另外,為了使用C語言函式,我們在工具鏈中增加了C函式庫。受限於記憶體大小,我們選擇精簡版的C函式庫,Baselibc,當作我們的函式庫支援。我們從其中挑選常用的C functions,包含字元轉換、字串處理、亂數、排序演算法及簡易版printf。
  藉由添加上述對Midas處理器的支援,我們改善了程式開發的方便性及效率。最後,我們展示實作完成的集成開發環境執行以及C函式庫功能的實測結果。
  Recently, Internet of Things (IoT) develops rapidly and has been applied to various fields. It connects all devices that can execute independent functions to realize the communication network. In IoT technology, the processor plays an indispensable role. In this thesis, we support the Midas processor that has the following characteristics:
˙ 8-bit and 16-bit RISC-like instructions
˙ 32 x 8-bit or 16 x 16-bit general purpose registers
˙ 64 bytes data memory and 4096 bytes program memory
  In order to assist program development on the Midas processor, we implement a set of Eclipse plug-ins. We add necessary functions by attaching our plug-ins to Eclipse IDE. These necessary functions include project creation, management, building project, and debugging.
  In addition, we expand a C library in the toolchain so that it can use C functions. Because of memory size limitation, we take a simplified version C library, Baselibc, as our library support. We choose some commonly-used C functions from it, including character conversion, string processing, random number, sorting algorithms, and simple printf.
  By joining the support above for the Midas processor, we improve the convenience and efficiency of program development process. Finally, we show the verification results of our IDE implementation as well as the of C library functions.
Abstract i
Contents iii
List of Figures v
1 Introduction 1
1.1 Motivation ........................................... 1
1.2 Thesis Overview ...................................... 2
2 Background 5
2.1 Eclipse IDE .......................................... 5
2.2 C/C++ Development Toolkit ............................ 7
2.3 GDB MI ............................................... 8
2.4 C Standard Library ................................... 9
3 Design Issues 11
3.1 Implementation of Midas IDE .......................... 11
3.1.1 Project Creation Flow .............................. 12
3.1.2 Building Project Flow .............................. 15
3.1.3 Debugging Flow and Tools ........................... 18
3.2 C Library Support .................................... 23
4 Verification Results 25
5 Conclusion 34
5.1 Summary .............................................. 34
5.2 Future Work .......................................... 35
[1] McKinsey, “Unlocking the potential of the Internet of Things“, http://www.mckinsey.com/business-functions/digital-mckinsey/our-insights/the-internet-of-things-the-value-of-digitizing-the-physical-world, 2015

[2] Ericsson, “Ericsson Mobility Report November 2016”, https://www.ericsson.com/assets/local/mobility-report/documents/2016/ericsson-mobility-report-november-2016.pdf, 2016

[3] TEKsystems, “State of the Internet of Things: Wide Impact Anticipated Yet Initiatives Stall”, https://www.teksystems.com/en/resources/news-press/2016/state-of-the-internet-of-things, 2016

[4] Petteri Aimonen, “Baselibc”, https://github.com/PetteriAimonen/Baselibc, 2017

[5] David Gallardo, “Getting started with the Eclipse Platform”, https://www.ibm.com/developerworks/library/os-ecov/, 2002

[6] Eclipse Foundation, “Eclipse CDT (C/C++ Development Tooling)”, https://www.eclipse.org/cdt/, 2017

[7] GNU, “The GDB/MI Interface”, https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html, 2017

[8] National Instruments, “ANSI C Library Overview”, http://zone.ni.com/reference/en-XX/help/370051V-01/cvi/libref/cviansi_c_library/, 2012

[9] Jim Amsden, “Your First Plug-in”, https://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html, 2003

[10] Eclipse Foundation, “New Project Wizard”, http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-37.htm, 2017

[11] Eclipse Foundation, “Editors and views”, https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2FgettingStarted%2Fqs-02b.htm, 2017

[12] Sourceware Bugzilla, “disassemble command attempts to disassemble SRAM rather than program memory”, https://sourceware.org/bugzilla/show_bug.cgi?id=13519, 2017
(此全文未開放授權)
電子全文
中英文摘要
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *