郭斯彥臺灣大學:電機工程學研究所蕭淑方Hsiao, Shu-FangShu-FangHsiao2007-11-262018-07-062007-11-262018-07-062004http://ntur.lib.ntu.edu.tw//handle/246246/53370隨著科技的發展,半導體設計及和製造技術快速的進步,各種微控制器和周邊控制晶片的性能增加且成本降低,這些技術的進步開啟了所謂的後PC時代,擷取出所需的功能整合而成”嵌入式系統”,提供專用、低成本、整合性的服務。數位像機、手機、PDA等都是嵌入式系統的應用實例。 我們將以嵌入式系統為基本,進而配合802.11b無線網路的使用,針對一般商家經營者開發出一套店家使用的管理系統,除了電腦化作業管理、整合資料庫應用發展出許多新功能外,並透過網頁提供不同的使用者介面網頁給不同的使用者 (像是餐廳裡的點餐員、收銀員或是管理者等),再配合利用無線網路的行動優勢,讓店家經營、管理更為便利、有效率。 而針對特定功能實作整合而成體積小成本低的嵌入式系統,我們使用open source的Linux作業系統作為系統的軟體基本架構,更增加了實作上的多元化及便利性,是故,嵌入式系統的普及將會是不可抵擋的新趨勢。而開發嵌入式系統的技術和技巧更是競爭的優勢。所以我們除了徹底了解開發嵌入式系統的方法和步驟,並且實作出便利的商家管理系統,還需要配合使用便利的程式開發除錯工作以縮短產品開發週期,提高效率。With the development of advanced technology and the rapid progress of the design and the manufacturing technique of semiconductors, the performance of the microprocessor and peripheral control chips have been enhanced and the production cost therefore has been reduced. The advancement of technology has opened the so-called post-PC age, and the necessary functions are applied and integrated into an “embedded system” to meet the needs of special purpose, low cost and integrated service. Digital cameras, cell phones and PDAs are all applications of embedded system. Therefore, based on the embedded system and the employment of 802.11b wireless networks, a management system for business use is developed. Besides the new functions developed from the computerized operating management and integrated database application, different user interface web pages are provided for different users via web pages (such as the waiters, clerks and managers of a restaurant). Moreover, the operation and management of shops will be more convenient and efficient with the cooperation of utilizing the advantages of wireless networks. The embedded system with small volume and low cost that is produced and integrated for specific functions, using Linux OS with open source as the basic software structure of system, has further been more diversified and convenient in practice. Thus, the popularity of embedded systems will become an irresistible new trend, and the technology of developing embedded Linux systems will become the advantages for competition as well. So we not only need to thoroughly understand the method and process of developing embedded Linux systems and produce the convenient management system for businesses, but also need to utilize the debug work for program development so as to shorten the developing period of products and enhance the efficiency.CHAPTER 1 INTRODUCTION 1 1.1. BACKGROUND AND MOTIVATION 1 1.2. GOAL 2 1.3. THESIS OUTLINE 2 CHAPTER 2 RELATED WORKS 5 2.1. INTRODUCTION OF EMBEDDED SYSTEM 5 2.1.1. The Architecture of Embedded System 6 2.1.2. Embedded System vs. Desktop Computer 7 2.1.3. Advantages and Disadvantages of using a Complex Embedded System in System Design 7 2.2. INTRODUCTION OF EMBEDDED LINUX 9 2.2.1. Why embedded Linux 9 2.2.2. Which Embedded Linux 10 2.2.3. Free Open Source 10 2.3. LINUX KERNEL 11 2.3.1. ucLinux 11 2.4. WEB SERVER WITH DATABASE 12 2.4.1. Database System 12 2.4.2. Data access and data management 13 2.5. INTRODUCTION OF HARDWARE, X86 14 CHAPTER 3 CROSS-PLATFORM DEVELOPMENT ENVIRONMENT 17 3.1. HOST AND TARGET 17 3.1.1. Host 17 3.1.2. Target 17 3.2. TYPES OF HOST/TARGET DEVELOPMENT SETUPS 18 3.2.1. Linked Setup 18 3.2.2. Removable Storage Setup 19 3.2.3. Standalone Setup 20 3.3. TOOLCHAIN 20 3.3.1. Binary Utilities and Compiler 21 3.3.2. C Library 21 3.3.3. Build Toolchain 21 3.3.4. Dynamic/ Static Linking of Library 22 3.3.5. Using Toolchain 23 3.4. DEVELOPMENT ENVIRONMENT 24 CHAPTER 4 IMPLEMENTATION OF AN EMBEDDED LINUX SERVER 27 4.1. INTRODUCTION OF THE SYSTEM 27 4.1.1. Introduction of System Structure 27 4.1.2. Introduction of System Hardware 28 4.1.3. Introduction of System Software Structure 31 4.2. HARDWARE INSTALLATION 32 4.2.1. Installation 32 4.3. BUILDING CROSS-PLATFORM DEVELOPMENT ENVIRONMENT 34 4.3.1. Host and Target 34 4.3.2. Types of Host/Target Development Setups 34 4.3.3. Toolchain 34 4.3.4. Development Environment 39 4.4. LINUX KERNEL 40 4.4.1. Kernel Configuration 41 4.4.2. Compiling Kernel 43 4.5. INSTALLATION OF KERNEL AND SYSTEM PROGRAMS 44 4.5.1. Filesystem Setup and BusyBox Installation 45 4.5.2. Installing Linux kernel and boot control program of Linux 48 4.5.3. Installing C Library 50 4.5.4. Installing TinyLogin 50 4.5.5. Installing Internet Super-Server 52 4.6. INSTALLATION OF OTHER PROGRAMS AND APPLICATIONS 54 4.6.1. Network Setup 54 4.6.2. Http and Database Server 55 4.6.3. Other Services 56 CHAPTER 5 DEBUGGING TOOLS 57 5.1. APPLICATION DEBUG 57 5.1.1. KDevelop 57 5.2. REMOTE DEBUG 59 5.2.1. GDB 60 5.2.2. KDbg & DDD 63 5.3. KERNEL DEBUG 64 5.3.1. Kernel function :printk 65 5.3.2. Kdb 66 5.3.3. Kgdb 68 5.3.4. KernProf 70 5.3.5. Comparison of ways of Kernel debugging 74 CHAPTER 6 CONCLUSION AND FUTURE WORKS 75 6.1. CONCLUSION 75 6.2. FUTURE WORKS 75 REFERENCES 771056649 bytesapplication/pdfen-US跨平台開發嵌入式系統Embedded SystemCross-Platform develop實作開發嵌入式管理系統伺服器Design and Development of an Embedded Management System Serverthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/53370/1/ntu-93-R91921018-1.pdf