Mobile Convergence Communicator (MCC)


Mobile Convergence Communicator(MCC)2007. 4. 17.Tae Joon ParkEmbedded S/W ResearchDivision / ETRI

Contents Concept of Mobile Convergence Mobile Convergence Communicator MCC System Software MCC ApplicationsEmbedded S/W Research Division2

Concept of Mobile Convergence

Concept of Mobile ConvergenceConvergenceConvergence intointo aa mobilemobile devicedeviceOffice DesktopEmailGroupwareRemote DesktopHome ServerStreamingFile ViewSeamless ConnectCar ServerHands FreeI/O RedirectionCar SecurityMobileConvergenceComputingEmbedded S/W Research Division4

Requirements of Mobile ConvergenceTechnologiesOperating SystemUI & MiddlewareDevelopment toolsCommunicationApplicationsIntegrated A/V managementDual-core IPC (Inter-Processor Communication)Embedded file systemAPIs for mobile resource use(ex. system configuration, communication, multimedia, broadcasting) Mobile remote desktop I/O redirection for multimedia Multi-point touch screen Remote management of operating system and applications Routing for inter/intra network of mobile devices Seamless handover between CDMA and WLAN Per thread resource usage analysis & monitor Prelinking / preloading Multi-core supported debugging Analysis & optimization for DVS (Dynamic Voltage Scaling) CDMA, HSDPA, WiBro WLAN, Bluetooth Mobile office Mobile broadcasting Mobile co-browsing Mobile entertainment Embedded S/W Research Division5

Applications of Mobile ConvergenceOffice DesktopHome ServerCar ServerMobileConvergenceKernel auto configuration & installationAppliance platform supported middlewareOptimization of characteristics of mobile devicesMobile routing between Inner and OuterTarget supported lightlight-weight graphic systemIndependent environment of target CPUsRobotsTelematicsm-IPTVPMPSmartPhoneMCCEmbedded S/W Research Division6

MCC : Mobile ConvergenceCommunicator

Technologies within MCCTechnologies within MCCOperating System Customizable kernel Automatic kernel installation & configuration Device drivers for MCCUI & Middleware Frame buffer-based light-weight window system Light-weight 2D/3D/Vector graphic library Scalable UI for various resolution types Ad-hoc based plug-and-play (UPnP) for mobile devicesDevelopment toolsApplications Integrated development environment Frame buffer based GUI builder Robots, Telematics m-IPTV, PMP, SmartPhoneEmbedded S/W Research Division8

Overall ArchitectureMobileMobile ConvergenceConvergence ServicesServicesMobile OfficeMobileEntertainmentStandard WirelessServiceMobile Web ServicesMobile CobrowsingMiddlewareSmart CarMobile RoutingAuto Investigation &RegistrationRemote UpgradeDynamic ResourceManagement AgentUser InterfacesAcceleration supportedWindow ManagerI/O RedirectionFrame Buffer WindowSystemVector Graphic LibraryAdaptive GraphicResource Scalable UIReal-time OperatingSystemComm. edDevelopmentEnvironmentDual-core SupportMobile Remote DesktopPowerManagementEmbeddedEmbedded S/WS/WDevelopmentDevelopment ToolToolResourceManagementMobile DeviceSupportThread Analysis &MonitoringHardware ed S/W Research Division9

MCC Software ArchitectureDevelopmentWIPI App.Mobile OfficeWIPI GameE-mail ClientJletFile ViewerCletRemote esktopETRI’s solutions for 4.1Media PlayerStreamerChannelWeb ShareengineClient ChannelVideo streamerVideo LAN ClientAudio streamerImage ViewerFlash PlayerUPnP StackApplication ManagerTB2.2.11-Runtime EngineHCT AgentSystemAppsSettingAppsTelAppDialerSMSWindow ManagerWIPI Client Env.(WIPI 2.0.1 Engine)WIPI C WIPI JavaTelephony LibVoice Comm.SMS Comm.PPP Connection(phone daemon)MobileCollaborationLibrary StackGTK 2.6GDB Agent6.3.90ALSA LibX-WindowHALETRI solution lib. Glibc 2.3.2CrossTool plicationDeveloper X-Window GTK Multimediafor SystemDeveloperQplus kernel –, Battery Control InterfaceALSA DDFrameBuffer DDPPPV4L DDPower ManagementNetwork Protocol StackFile SystemTarget eadset)LCDCDMA2700G5WLANPMICT-DMBGPSUSB 2.0FlashCameraMiniSDDiskOnChipIDE HDDBootloaderBlob2.0.5-pre3Embedded S/W Research Division10

Major Features of MCC (1st Generation) Hardwarez Dual processor architecture (PXA270 & MSM5500)z 3.5 inch TFT-LCD touchscreenz Sliding QWERTY keyboard Operating system for MCCz Kernel & device drivers XFreeDesktop for MCC TAPI (Telephony API) for KTF CDMAEmbedded S/W Research Division11

Operating System for MCC (Qplus)

Overall Development EnvironmentEthernet, Serial/USB, JTAG, HOSTTARGETHost (Esto)Target (Qplus)FireFox, Mplayer, Gstreamer, Remote IDETarget BuilderGTKRemote MonitorRemote DebuggerD/DPower ConsumptionDevelopment ToolToolGUI BuilderReal-timenessAnalyzerHost Platform (Linux or Windows)EVMTiny-XStandard LibraryTargetAgentSystem Call InterfaceReal-time SchedulerFast BootPower ManagementFFS/MMFSDevice DriversTargetEmbedded S/W Research Division13

Overview of Qplus Linux-based embedded S/W platformz Qplus system and solutions Qplus SystemzzzzzBootloaderLinux kernel 2.6.x and standard C librariesBSP (For various graphic chips and boards)MMFS (Multi-Media File System) / FFS (Flash File System)Light-weight window system and graphic libraries Qplus Solutionsz Target Builder: Qplus kernel configuration toolz Applications: Web Browser, Media Player, and moreEmbedded S/W Research Division14

Qplus in Detail (1/7) Linux-based kernelz Linux kernel version: Optimized footprint on MCC specificationsKernel, device drivers, standard C libraries, graphic libraries, and basicapplicationsz Real-time featuresPreemptive kernel and lock-breakingGuarantees of 50 usec latencyz Power managementPower management based on power consumption patternz FastbootDirect boot from NOR or NAND flash memoryz Various device driversRapid device driver support via ETRI’s collaboratorsEmbedded S/W Research Division15

Qplus in Detail (2/7) Lightweight GUIz Lightweight window system based on DirectFBz GUI builder based on lightweight window system Various applicationsz Media player optimized on MCCz Lightweight web browser Target system configurationz TargetBuilder: Qplus reconfigurationz Esto: Target loadingEmbedded S/W Research Division16

Qplus in Detail (3/7) Supported HardwareArchCPUTarget OSVIA-Cyrix Family(Samuel, Ezra, Nehemia, EdenESP, Eden-N)Qplus CE 2.3Intel Pentium Family, Celeron FamilyBoyoIntel PXA27x FamilyQplus MESamsung S3C2400, S3C2440Qplus MEMIPSAMD Alchemy Family(Au1000, Au1100, Au1200,Au1500, Au1550)Via CollaboratorPPCPowerQUICCVia CollaboratorX86ARMEmbedded S/W Research Division17

Qplus in Detail (4/7) Real-time Schedulingz Kernel mechanism and scheduler support for max. latency of 50 usecIngo Molnar’s real-time preempt patch has been appliedThread-based ISR (Interrupt Service Routine)Most of kernel codes are based on mutex-lock1VanillakernelQplus ency(usec)7.897.160.90.8Preeption 10Embedded S/W Research Division18

Qplus in Detail (5/7) Power Managementz Power management on system levelAuto suspendResume on Power Onz Power management utilitiesBattery status monitorBacklightEmbedded S/W Research Division19

Qplus in Detail (6/7) Remote System Managementz Overall system upgrade within 30 secondsPartial upgrade within an objectz Fastboot within 15 secondsHostMCCUpgrade ServerUpgrade registrationStores patchesUpgrade catalog requestUpgrade catalog transmissionUpgrade requestDownloadUpgradeRebotUser permissionon upgrade[Upgrade Process]Embedded S/W Research Division20

Qplus in Detail (7/7) Lightweight window systemzzzzFrame buffer based window systemWindow system is as small as 5MBMultiple windows managementLightweight Hangul IME (Input Method Editor)Window style settingsnapshotEmbedded S/W Research Division21

Development Tools in Detail (1/10) Target Builderz Profile-based system configuration toolBoth kernel, libraries, and applicationsz Multiple partition supportWarning on partition size overflowInter-partition package dependency checkRelocation of package installation path (RPM)[Relocation of packageinstallation path][Multiple partition setting][Profile Wizard]Embedded S/W Research Division22

Development Tools in Detail (2/10) ESTO (Embedded S/W Toolkit)z Target cross compiling environmentARM, x86, MIPS, and morez Remote debugging on dual core processorz Power consumption analysis in terms of both voltage and currentJTAG[Debugger for dual core processor][power consumption analysis]Embedded S/W Research Division23

Development Tools in Detail (3/10)z Debugger for dual core processorNew perspective for dual core processor debuggingNew debugging engine for multi-core processorDevelopment of ICE facility for multi-core processor debuggingTarget agent for various processors[Selection and setting screen snapshot][Debugging snapshot]Embedded S/W Research Division24

Development Tools in Detail (4/10)z Support PlatformsTarget : X86, ARM, XScale, MIPS, PowerPCHost : Linux, Windowsz FeaturesIntegrated development environment based on EclipseRemote and non-stop debuggingEconomic firmware debugging with JTAG technologyRemote monitoringPower analysis and optimizationEasy device driver developmentEasy GUI designEmbedded S/W Research Division25

Development Tools in Detail (5/10) IDEz Project ManagementCreation, configuration, and buildingMakefile managementQplus package import/exportz DevelopmentSource code editing facilities– Syntax highlighting, automatic formatting, class browsing, etc.Project Build & Remote Execution ConfigurationEmbedded S/W Research Division26

Development Tools in Detail (6/10) Debuggerz Remote DebuggerRemote debugging starts with just one button clickNonstop-debugging with tracepoint and replay– For time-sensitive applicationsz JTAG-based DebuggerA cost-effective way to debug applications on a target system– Needs only a cheap JTAG adaptorSupports full C source level debuggingCall stack viewSupports both breakpoint & tracepointVariables viewSource viewSource outlineRegisterviewConsole viewSnapshot of DebuggerEmbedded S/W Research Division27

Development Tools in Detail (7/10) GUI Builder (gDesigner)Design nsertionHardware buttonevent testingDesktop PC / Notebook PCEmbedded S/W Research Division28

Development Tools in Detail (8/10) Target Monitoring Toolz Concurrent multiple-target monitoringz Various target resource monitoringCPU, memory, process list, process memory map, kernel module, etc.z GUI based kernel event tracez Remote tracing of system call and library functionTarget BrowserProcess ListCPU/KernelInfomationCPU/MemoryUsageEmbedded S/W Research Division29

Development Tools in Detail (9/10) Optimization and Analysis Toolz Optimizing ApplicationBy using loop transformation such as loop distribution, loop interchange,loop unrolling, and scalarizationz Analyzing Power of Embedded ApplicationTogether with performance and code sizez GUI-Based Integration of Optimizing and AnalyzingMulti-meter & Target SystemOptimization & Analysis ToolEmbedded S/W Research Division30

Development Tools in Detail (10/10) Device Driver Development Toolz Specialized Toolset for Device Driver developmentz Driver Development IDEDriver module building & installationz Driver Project WizardSkeleton code generationfrom the driver requirement specification including device name & id, drivertype, bus type, entry-point names, etc.z Device Test WizardHardware resource access program routine generation & testz Target DevicesPCI, USB, I2C, etc.Embedded S/W Research Division31

MCC Applications

Mobile Office Mobile Officez Converging office computing environment into MCCE-Mail browsingOffice file viewerEmail and View DocumentsE-mail NotificationCheck E-mailView documentE-mail transmissionMCC ServerSendmailMobile Remote Desktop ServiceSharing remote screenEvent transmissionRefresh remote screenOffice PCEmbedded S/W Research Division33

Mobile Entertainment Center (1/2) Sharing multimedia contents on remoteRunning local/remote multimedia contentsImage/Audio/VideoAuto-discovery of remote multimedia contents via UPnP AV spec.Lightweight Flash engine for MCCNew Flash UI for MCCUser InterfaceHTTP StreamingContentsServerInfo. ManagerUPnP AVMediaServerWindowsFlashUser InterfaceUPnP AVControl PointMediaPlayerUPnP AVMediaRendererFlash Engine for Mobile DevicesQPlus ( Embedded Linux )Embedded S/W Research Division34

Mobile Entertainment Center (2/2) Remote A/V Media Sharing ServiceMCC(QPlus)PC(Windows)Networks1. Register contents2. Discover PC and content lists3. Display contents/thumbnails4. Request contents streamingStreaming ServerStreamingMedia PlayerEmbedded S/W Research Division35

Mobile Cobrowsing URLURLChangeChange ScrollingScrolling ScriptingScripting VoiceVoiceChatChatSharing web screenEmbedded S/W Research Division36

Thank you&Q&AEmbedded S/W Research Division37

Dialer SMS System Apps Setting Apps MCC Software Architecture Flash Player Web Share engine Video streamer Audio streamer. Embedded S/W Research Division 11 Major Features of MCC (1stGeneration) Hardware zDual processor architecture (PXA270