A Component-Based Software Development Platform for Rapid Prototyping of Embedded Software

A Component-Based Software Development Platform for Rapid Prototyping of Embedded Software

A Component-Based Software Development Platform for Rapid Prototyping of Embedded Software Advisor: Prof. Jun Wu Student: Chong-Fa Hsu A thesis submitted to the Department of Computer Science and Information Engineering of the National Pingtung Institute of Commerce in partial ful¯llment of the requirements for the Degree of Master of Computer Science Information Engineer Pingtung, Taiwan, R.O.C. July 2009 Acknowledgements During these two years, I received a lot of assistance and encouragement from many people. First of all, I must thank my supervisor Prof. Jun Wu. During the composition of the thesis, he provided me with great suggestions and enlightening viewpoints. Although I met with many setbacks which made me dejected in the process of writing this thesis, he always en- couraged me to complete my work. so, without his patient guidance, timely correction, and excellent training, I could not ¯nish the thesis. In particular, I wish to thank my committee members, Dr. Chi-Chou Kao and Dr. Lung-Jen Wang. Their professional corrections and suggestions made the thesis better. Additionally, I would like express my sincere gratitude to Chia-Kang Lin, Chia-Wei Ko, and all real-time system laboratory members in the National Pingtung Institute of Commerce. They always help me whenever I had problems or di±- culties. Finally, I wish to give my deep apprecitation to my family for their endless support and encouragement during these two years. Chong-Fa Hsu Taiwan July 2009 I 摘要 嵌入式軟體的開發與硬體平台有著高度的關聯性,由於嵌入式硬體 的種類逐日成長以及必須縮短上市時間的需求,嵌入式軟體的開發工作 也愈形複雜。為了能縮短嵌入式軟體的上市時間,採用快速應用程式開 發(Rapid Application Development, RAD)工具來進行嵌入式軟體開發的 需求日益增加。本論文將以元件式軟體開發(component-based software development)為基礎,提出一個嵌入式軟體開發工具(稱為 Builder for Embedded SofTware, BEST)。此工具包含軟體元件庫、應用程式樣板以 及一個視覺化的 RAD 工具。BEST 將提供開發者利用軟體元件以及應用 程式樣板的選擇以得到一個嵌入式軟體的雛型。此 外透過視覺化的 RAD 工具開發者亦能夠以 WYSIWYG 的方法來設計使用者圖形介面。利用 BEST 來開發嵌入式軟體將能大幅度的減少產品上市時間及開發成本。 本論文中,我們將詳細介紹 BEST 實作內容,並提供兩個 BEST 的應用 實例(使用者圖形介面的設計以及數位相框)來說明如何有效率且簡單的 開發嵌入式軟體。 關鍵字:嵌入式軟體開發、元件式軟體開發、快速軟體雛型。 II Abstract The development of embedded software is getting more complicated and costly due to the proliferation of various hardware platforms and a shorter time-to-market requirement. It provides a strong driving force in rapid application development (RAD) tools for embedded software. In this thesis, a component-based development tool, called Builder for Embed- ded SofTware (BEST), is presented to provide an e±cient and easy way to build embedded software. BEST consists of a component repository, application templates, and a visualized RAD tool. In particular, developers can select and con¯gure an application template and a set of components to obtain a prototype of the embedded software by using BEST. Further- more, developers can also design graphic user interface in a WYSIWYG way by using our visualized RAD tool. As a result, BEST can help developers to reduce time-to-market and costs for developing embedded software. In this thesis, we will introduce the detail of the implementation of BEST and provide example applications, such as a guide for demonstrat- ing the basic usage of our proposed development tools, MP3 player and digital photo frame, which were developed by BEST to illustrate the e±ciency of the development of embedded software. Keywords: Embedded Software Development,Component-Based Software Development, Rapid Software Prototyping III Contents 1 Introduction 1 2 Related Work 4 2.1 Embedded Microprocessors and Real-Time Operating Systems . 4 2.2 Embedded Software Development Tools . 7 2.2.1 Integrated Development Environment (IDE) Tools . 7 2.2.2 Component-Based Software Development (CBSD) Tools . 8 2.2.3 Model-Driven Development Tools . 11 2.3 Motivations . 12 3 BEST Framework and System Design 15 3.1 Overview . 15 3.2 Software Paradigm . 17 3.3 Component and Component Repository . 20 3.4 Embedded Software Template and Its Layout . 20 3.5 User Interface Description Language . 24 IV 4 BEST Development Environment and Its Implementation 25 4.1 Platform Architecture . 25 4.2 Visualized Development Tool . 27 4.2.1 Component Repository . 28 4.2.2 Editor . 28 4.2.3 Code Generation . 29 4.2.4 Compiler and Deployment . 30 5 Case Studies 32 5.1 Case 1: Guide Example . 32 5.2 Case Study 2: Digital Photo Frame . 38 5.3 Case Study 3: MP3 Player . 43 6 Conclusion and Future Work 47 V List of Figures 1.1 A typical cross development environment for embedded software. 2 2.1 PXA27x processor block diagram. 5 2.2 Multi 2000 integrated development environment. 8 2.3 Embest integrated development environment. 9 2.4 Domingo integrated development environment. 10 2.5 The architecture of microCommander. 11 2.6 The architecture of SLIME. 11 3.1 Software development procedures of BEST (1) . 16 3.2 Software development procedures of BEST (2) . 17 4.1 The architecture of BEST . 26 4.2 Rapid application development (RAD) tool . 27 4.3 A typical architecture of component. 29 4.4 Code editor . 30 4.5 Compiling and its results. 31 VI 5.1 The initial screen of RAD tool. 33 5.2 Change the background color and the caption of the working panel. 33 5.3 Select software components into the working panel. 34 5.4 Change attributes of a selected component. 34 5.5 The dialog for naming the embedded software. 35 5.6 The code translation and generation results. 35 5.7 Coding the software in the code editor. 36 5.8 The compilation success dialog. 37 5.9 The execution result of the software. 38 5.10 Design user interfaces of the digital photo frame. 39 5.11 The navigation button for the photo-displayer. 39 5.12 Select photos for the photo-displayer component. 40 5.13 The code translation and generation of the digital photo frame. 40 5.14 The compilation of the digital photo frame. 41 5.15 Execution of the digital photo frame software. 41 5.16 The execution result of the digital photo frame. 42 5.17 The manipulation of the digital photo frame. 42 5.18 Design the user interfaces of the MP3 player. 43 5.19 Select songs for the MP3 playlist component. 44 5.20 MP3 playlist component shows the selected songs. 44 VII 5.21 The code translation and generation of the MP3 player. 45 5.22 The compilation of the MP3 player. 45 5.23 The execution result of the MP3 player. 46 VIII Chapter 1 Introduction The fast growing market for embedded system has large implications for software develop- ers. The development of embedded software is getting more complicated and costly due to the proliferation of various hardware platforms and a shorter time-to-market requirement. Typically, a cross development environment, as shown in Figure 1.1, is needed for developing embedded software. Cross development environment consists of cross development software tools running on a general-purpose computer, called host, and debug channel from host to the embedded device, called target. In particular, cross development means editing and com- piling software on the host and then downloading the software to the target, and debugging it on both host and target. In comparison with traditional software development on PCs, it creates di±culties and inconveniences to the embedded software developers. Many excellent development tools for developing embedded software have been proposed [2, 34, 40, 24, 28] to help developers to design and build embedded software without frequently switching the host and the target for editing, compiling, and debugging codes. However, it is still not an easy job for developing embedded software. Embedded software developers need to study the basic knowledge related to the microprocessor organization and interfacing 1 Edit and Compile Download Development software tool Target board Host PC Debug channel Figure 1.1: A typical cross development environment for embedded software. (e.g., Flash/SRAM/SDRAM/Catch, UART, Timer, GPIO, USB, etc.), understand the CPU architecture, instruction set, programming modes, and basics of operating systems (e.g., interrupt, priority, memory management, inter-task communication and synchronization, etc.). Developers also need to be familiar with C, C++ and assembly language programming. It provides a strong driving force in rapid application development (RAD) tools for developing of embedded software. It also motivates us to work towards this direction. In this thesis, we will present an embedded software development tool, called Builder for Embedded SofTware (BEST), to help developers to reduce the di±culties, inconveniences, costs, and the development time for developing embedded software. BEST consists of a component repository, application templates, and a visualized RAD tool. In particular, developers can select and con¯gure an application template and a set of components to obtain a prototype of the embedded software by using BEST. Furthermore, developers can also design graphic 2 user interface in a WYSIWYG way by using our visualized RAD tool. As a result, BEST can help developers to reduce time-to-market and costs for developing embedded software. In this thesis, we will introduce the detail of the implementation of BEST and provide example applications, such as design of graphic user interface and a digital photo frame, which were developed by BEST to illustrate the e±ciency of the development of embedded software. The major contributions of this research are three folds: (1) We propose a visualized RAD tool, called Builder for Embedded SofTware (BEST), to help developers for building applications with graphic user interface in a WYSIWYG way. (2) We also propose a set of application templates for providing rapid software prototypes to developers. As a result, the development time of embedded software could be reduced signi¯cantly. (3) Our proposed development tools provides an integrated development environment (IDE) to help developers to edit and build software in a convenient way without switching between the host and the target frequently. The rest of this thesis is organized as follows: Chapter 2 summarizes related work con- cerning techniques of software development and discusses embedded software development costs.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    63 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us