Font Size: a A A

System Design And Implementation Of A MIPS Based Embedded Linux Development Environment

Posted on:2012-06-25Degree:MasterType:Thesis
Country:ChinaCandidate:F QiuFull Text:PDF
GTID:2218330338499201Subject:Software engineering
Abstract/Summary:PDF Full Text Request
This dissertation originated from the design and implementation of the software system for a SOC aimed at the digital television set top box market. The chip support H.264, AVS and MPEG decoding, support USB, Ethernet and other external interfaces, and use MIPS's 4KEc as the core CPU. In order to make use of the sophisticated USB stack, TCP/IP stack and file system within Linux kernel, and the compatibility for existing stable open source applications, Embedded Linux is employed as the operation system for this chip.During the process of development work within company, some problems were exposed, which including:The members of the development team use all kinds of IDEs, which increased the difficult for the internal cooperation and the maintain cost; Source code which cannot pass compile was committed into main source repository, cause other members suffering from fix compile problems; The system was hard to integration, always delay finally; It's difficult to retrieve relative modifications of a specific defect; Cannot use revision control system to keep track of the change history when supporting customers out of the office.To resolve such problems, the article designed a whole development environment based on existing mature open source software for the system development of MIPS based embedded Linux. The environment consists of revision control system, defect tracking system, continuous integration system and IDE. The using of distributed revision control system resolved the problem when supporting customers out of the office; Involving the continuous integration system ease the painful integration; The cross platform feature of Eclipse meet the requirement of using one IDE on multiple platforms.The following characteristics make this environment different from other systems: introduce continuous integration concept into embedded system development, and work together with revision control system to achieve the automatically build checking when a commit action issued. Only a changeset can pass a success build will be actually committed into the main source repository which is accessible by other developers. This feature will avoid unnecessary work caused by fixing buggy code submitted in to main code by others; The integration of revision control system and defect tracking system make it's convenient to retrieve modifications from a specific defect; Introduce software emulator into the development environment, which enabling developer debug and test on PC. This saves much time because download and flash burning work is no longer needed.The auto-build feature as mentioned above is made by integration of several open source software, and it works as good as the key feature "pre-commit test" in commercial software TeamCity released by JetBrains. It greatly promotes the development productive with no extra cost. On the other hand, this author implemented a software emulator for the SOC. According to the system architecture of Qemu, the timer, interrupt controller and UART subsystem is implemented. The system software image built from build system for the SOC runs just as it was running on a real hardware platform. Through the software emulator, developers can setup breakpoints, step into and check registers directly on PC environment.This system has been used within author's company; it has been proven quite convenience and efficient. Developers can directly access the team tools from Eclipse, use the web interface to submit changesets and make use of the automatically compile check.
Keywords/Search Tags:Linux, MIPS, Development Environment, Emulator, Continuous Integration
PDF Full Text Request
Related items