Font Size: a A A

Design And Implementation Of Smartphone Driver Based On Windows Mobile Platform

Posted on:2007-07-02Degree:MasterType:Thesis
Country:ChinaCandidate:X T QinFull Text:PDF
GTID:2178360182495990Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Today we are witnessing an explosion in the use of mobility in both ourpersonal and work lives. As a result of market demand and technicalprogress,mobile devices present an obvious development trend towardmicromation, versatility and networking. The fast popularity of Smartphoneproves this trend,and also confirms to the combination of 3C (Computer,Communication, Consumer Electronics) in electronic information industry.Firstly, the paper briefly introduces the basic principle of Smarphonearchitecture and foundation knowledge of Windows Mobile, a flexible andpowerful development platform for Smartphone devices. That can helpdeveloper to understand principle, technique and development environmentof Smartphone betterly. Then as its main topic, the paper discuss design andimplementation of Smartphone drivers based on Windows Mobile platformin detail. It not only provides principles and methods about driverdevelopment, but also implements a radio interface driver, which can beapplied to actual development project.Double CPU architecture is the most popular building solution ofSmartphone. From the hardware and software perspective, this architecture isdivided into two subsystem: multimedia and application subsystem andwireless communication subsystem. The application processor, which adoptsembedded microprocessor architecture such as ARM and XScale etc.,together with some storage and I/O equipments constitute the hardwarecomputing environment of the multimedia and application subsystem. Andthe software environment of this subsystem is based on embedded operatingsystem, such as Windows Mobile and Symbian etc. The OS provides UI andmany integrated applications, and also provides standard APIs to support userapplication development. The communication processor together with voiceprocessing DSP, power management unit, radio frequency transmitter andreceiver constitute the hardware computing environment of wirelesscommunication subsystem. And its software environment includes a real-timeembedded OS kernel and a special protocol stack software, which performsoperations for specific wireless communication air interface protocol, such asGSM, WCDMA, etc.Windows Mobile OS is one of popular Smartphone developmentplatforms. Its OS architecture design combines layered structure model andmicrokernel structure model, so it can meet embedded system requirementfor customization, portability, reliability and real-time performance. Thelayered model exposes standard application development interface and driverdevelopment interface to software developers,and enhances compatibility ofthis development platform. The microkernel model effectively reducesmemory consumption and enhances reliability. The other system servicesexcept kernel are implemented as user privilege level components, and can becustomized to adapt for actual environment. Based on the architecture modeland component model, and combined with basic features of embedded OS,the paper introduces the system features and development environment ofWindows Mobile OS, that are helpful to software developers of Smartphone.Smartphone driver development, based on Windows Mobile platform, isthe most important part in Smartphone software development. From internalstructure perspective, drivers can be categorized into layered drivers andmonolithic drivers. From outer interface perspective, drivers can becategorized into stream interface drivers and non-stream interface drivers.A layered driver is composed of two definite layers: the top layer iscalled Model Device Driver (MDD), which abstracts the operations ofhardware device;the bottom layer is called Platform Dependent Driver(PDD), which performs the actual operations depending on specifiedhardware device. By adoption of the MDD layer, drivers effectivelytransparentize the hardware details, and applications can be built on standardinterface functions exposed by MDD layer.A stream interface driver runs as user privilege level DLL(Dynamic-Link Library) program, and exposes a set of definit entries, calledstream interface functions. This DLL is loaded and managed by the devicemanager, a component built-in Windows Mobile OS. Stream interface driversare mapped into special files identified by device file names given by thespecified register keys of these drivers. Then applications can access thesedevice drivers through file system APIs. The paper introduces workingprinciples, managment and load methods, definitions of entry functions anddevelopment practises of stream interface driver. These knowlege can guidedevelopers to implement controllable and portable drivers.Windows Mobile OS integrates a wireless communication servicecompenont, called CellCore, which provides basic wireless communicationservices to application layer of Windows Mobile, such as telephony, shortmessage service, WAP service, and so on. CellCore is built on RIL (RadioInterface Layer) driver, so RIL driver is very important and has specialfunction and performance requirements. The paper sets up the function modelof RIL driver, by analyzing the wireless communication mechanism ofdouble CPU Smartphone and the architecture of integrated componentCellCore. RIL driver must support concurrent function calls from multipleapplications. RIL driver translates these function calls to specific ATcommands. The driver must maintain a priority queue to store these ATcommands and continually sends these commands to wireless communicationsubsystem in priority order. Wireless communication subsystem parses theseAT commands and performs specific operations with radio hardware, thenreturns result information. RIL driver must implement an asynchronouscommunication mechanism based on message queue to deliver these resultsto the right applications.With the function model above, the paper implements a general RILdriver framework based on layered driver model and steam interface drivermodel. This framework is independent from wireless hardware and can beapplied to actual projects based on Windows Mobile platform through simplecode modification. In the analyzing and designing process of RIL driver, weuse object-oriented analysis method and UML tool. And in the coding process,we use concurrent programming method based on threads and asynchronouscommunication mechanism based on queues. These knowlege providesvaluable guide to driver development and time constraint programming.
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items