Developing Handhelds - Slides 12pp

  • Uploaded by: Sasmito Adibowo
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Developing Handhelds - Slides 12pp as PDF for free.

More details

  • Words: 1,992
  • Pages: 5
Agenda

General Issues

Looking Ahead...

Developing Handhelds

P General Issues P Platform Overviews P Development Tools P Business Summary

“... a handheld is not a PC. Bigger is not necessarily better. Speed is not measured in megahertz – or MIPS, or even FLOPS for that matter. Developers will need to shift paradigms when targeting handhelds...”

General Issues

General Issues

General Issues

Opposite Usage Patterns

User Interface

Memory Considerations

P Small screen, – most are 6cm * 7cm, some are

P Most handhelds do not carry secondary

P Limited resolution and color. P Small or no keyboard. P Stylus, not mouse – programming will be

P Out-of-memory situations will occur more

P Less taps is better.

P Memory grew from 2MB, 8MB, to 64MB. But

General Issues

Platform Overviews

Palm OS

Conserving Power

Discussion Scope

Architecture Overview

Targeting Personal Digital Assistant Platforms A Sasmito Adibowo 1299000029

People generally use handhelds in frequent, short bursts; while people work on PCs for several hours at a time. Waiting a few minutes for a PC to boot and a wordprocessor to load is acceptable if one’s going to write a paper for two hours. If the sole purpose of turning on the handheld is just to look up somebody’s phone number to call, waits can be frustrating.

smaller.

Accesses per day

slightly different.

Average session time (minutes)

storage – all data are stored in the main memory. often – applications must degrade gracefully instead of simply terminating. as handhelds grew smaller, don’t expect that trend to continue.

Source: Palm, Inc user surveys

P Avoid lengthy computations – leave the analysis to the desktop machine.

P Avoid polling, favor blocking. Thus the OS can suspend the CPU.

P Limit the use of peripheral devices – sounds,

P 3Com’s Palm OS. P Microsoft Windows CE. P Lineo Embedix Plus.

serial, modems, etc.

P Optimize for fast response time. Avoid

background processing. PDAs only have one user to take care of. Source:Palm OS website

Palm OS

Palm OS

Palm OS

Platform Components

Application Startup and Stop

Memory

P Palm OS® software. P Reference hardware design. P HotSync® conduit data synchronization technology.

P Platform component tools including an API

that enables developers to write applications.

P Software interface capabilities to support hardware add-ons .

P Only one application at a time. P No exit command – user simply selects another application.

P Application launch codes: < sysAppLaunchCmdNormalLaunch – Normal launch. < sysAppLaunchCmdCardLaunch – Launch the application from an expansion card. < sysAppLaunchCmdFind – Finds a text string. < sysAppLaunchCmdInitDatabase – Initialize database prior to HotSync restore.

P Application stop: appStopEvent – upon receiving this event, an application must exit its event loop, close any open files and forms, and exit.

P 32-bit physical address space. P All memory are considered of a part of a card.

P Cards may contain RAMs,

ROMs, or a combination of both.

P Partitions: < Dynamic Heap < Storage Heap

Palm OS

Palm OS

Palm OS

Memory Manager

Data Manager

Data Manager

P General memory

P Higher-level data abstraction,

P Two types of memory:

P Databases instead of files. P Data divided into discrete

allocation/de-allocation.

P Record Databases

for (more) persistent storage.

< Moveable chunks (handles). < Fixed chunks (pointers).

P Heap compaction < When allocation request failed. < Move unlocked moveable chunks down to lower addresses.

P Memory chunks are marked with their owner

< Most common for data storage. < Indexed records. < May be maintained in sorted order. < Each record belong to a category. < Backup may be done on a per-record basis.

pieces that the system help manages.

P Resource Databases

P Two major categories:

< Free-form storage. < Linear search on access.

< Record databases < Resource databases

– freed when the application terminates.

Palm OS

Palm OS

Windows CE

Springboard Expansion

Springboard Expansion

Architecture Overview

P Used in Handspring Visor

P Includes all necessary

P Open standard –

P Automatic software

handhelds.

documentation available for download, no user fees, no royalties, no proprietary parts.

software

Inserting a module into the Springboard expansion slot

P Low cost – uses the PCMCIA 68-pin block.

install/de-install – no driver needed.

P Microphone support in handheld.

The Springboard expansion slot (below) and examples of possible Springboard modules.

P flexible power – built-in supply of 100mA at 3.3V.

Source: MSDN Library

Windows CE

Windows CE

Windows CE

Platform Overview

Design Goals

Memory Management

P Small footprint. P High modularity – to build a high range of

P 4GB virtual address space. P Data storage provided as a virtual disk in

P Execute-in-place (XIP) out of ROM. P Use the Win32 API standard. P Portable to different microprocessor familites.

P Familiar Win32 and C memory-management

Windows CE

Windows CE

Lineo Embedix

Driver Architecture

Driver Architecture

Architecture Overview on the Sharp SL-5xxx

P Version 3.0 renamed to Pocket PC. P Available in three form factors: < Handheld PC – touchscreen with keyboard, either PCMCIA or CompactFlash. < Palm PC – touchscreen without keyboard, CompactFlash. < Auto PC – in-car systems.

P Unicode-only character set. P Subset of the Win32 API. P Support for multithreaded applications.

embedded systems.

RAM.

functions.

P Record-based data access are also available via the Object Store.

P Native drivers – no common interface model, loaded by parent processes.

P Stream drivers – exposed to applications through the file system interface.

P Regular IPC to drivers are supported.

Source:SL-5500 / System Architecture Overview Source: MSDN Library

Lineo Embedix

Lineo Embedix

Development Tools

Platform Overview

Memory Information

Discussion Scope

P Mostly standard Linux system with kernel

P Root filesystem

version 2.4.

mounted as RAM disk.

P Busybox provides a subset of POSIX command-line utilities.

P All data are

managed as regular files.

P Qt/Embedded GUI, virtual framebuffer. P PersonalJava 1.2 environment included. P Base applications provided by Qt Palmtop.

PNative-code compilers. PBytecode or source interpreters. PJava environments (VM, libraries, and tools).

P The Java VM is

handled like a regular process.

Source:“SL-Series”Memory Information for JavaTM

Native Code Compilers

Native Code Compilers

Native Code Compilers

CodeWarrior for Palm OS

CodeWarrior for Palm OS

CodeWarrior for Palm OS

P The “official” development tool for the Palm OS.

Editor

Debugger

language, – program directly to the Palm OS API.

P Host platform: Windows or Mac. P C++ Support: < Global stack-based objects. < Namespaces < RTTI < Templates

P IDE features: < GUI Builder. < Integrated debugging – with emulator or ondevice trough serial/USB. < Source or assembly level debugging. < Code highlighting. < Wizards. < Class browser.

P Uses C, C++, or Motorola 68K assembly

Emulator

Project Manager

Wizards Source: CodeWarrior 8 for Palm OS Platform Datasheet

P Retail price: $499 P Contact: http://www.metrowerks.com

Native Code Compilers

Native Code Compilers

Native Code Compilers

Microsoft eMbedded Visual Tools

Microsoft eMbedded Visual Tools

Microsoft eMbedded Visual Tools

P Microsoft’s CE development toolset. P Components:

P Program directly to the Windows CE API for

< eMbedded Visual C++. < eMbedded Visual Basic. < SDK and remote tools.

P Features the familiar Visual Studio user interface.

C/C++.

P C++ offers the option of MFC and ATL for Windows CE.

P Debugging options: < Simulating Windows CE environment under desktop Win32. < Remote debugging through cable.

Native Code Compilers

Native Code Compilers

MobileBuilder

MobileBuilder

P Develop for several platforms from the same code base.

downloads available.

P Contact:

http://msdn.microsoft.com/vstudio/device/p rodinfo.asp

Native Code Compilers MobileBuilder

Visual Programming Environment

P C-language, code to Penright’s proprietary API.

P Over 350 handheld-focused API:

P Supported targets: Palm OS, Windows

CE, Pocket PC, Windows NT, 98, 95, 3.1, MS-DOS, and DPMI. P IDE with drag-and-drop RAD tools. P Host platform: Windows 2000, NT 4.0, 98, 95

P Cost: $14.95 (international shipping) – free

handwriting recognition, signature capture, bar code scanning, etc.

P Separate runtime licenses for each target

Powerful Form Designer

platform.

P Price: $1595 per developer seat. P Contact: http://www.penright.com Source:

Bytecode Interpreters

Bytecode Interpreters

Bytecode Interpreters

PocketC

PocketC

NS Basic/Palm

P Price: $30 (Palm), $38 (Windows CE). P Contact: http://www.orbworks.com

P Uses the BASIC programming language. P Develop on Windows desktop, with RAD tools. P Runtime size: 88K. P Debugging using Palm OS Emulator. P Price: $149.95 P Contact: http://www.nsbasic.com/palm/

P Scripting, C-like language (but not C!). P Cross processor capability on Windows CE. P Able to write code on handheld. P Desktop IDE available; without GUI builder (Windows host).

P Separate (incompatible) versions for Palm OS and Windows CE.

Source: OrbWorks website

Bytecode Interpreters

Bytecode Interpreters

Bytecode Interpreters

NS Basic/Palm

NS Basic/CE

NS Basic/CE

P Uses standard VBScript interpreter engine. P Code directly in handheld. P IDE with RAD tools. P Database support - ADOCE. P Cross-processor support.

P Royalty-free program distributions.

P Price: $149.95 P Contact:

http://www.nsbasic.com/c e/

Source: NS Basic website

Source: NS Basic website

Java Environments

Java Environments

Java Environments

KVM Reference Implementation

Jeode PDA Edition

Waba

P PersonalJava 1.2 compliant – VM certified by

P Strict subset of Java: language, class file,

P Complete JNI support. P Targets: Windows CE, Linux (X11,

P Cross-platform VM: Palm OS, Windows CE,

P Focus on connected devices. P Multithreading support. P VM size: 50K – 80K, working memory: 128K.

P Current target: Palm OS. Desktop: Windows and Solaris.

P No native support. P Contact:

Sun.

Qt/Embedded, QPE).

P Dynamic Adaptive Compilation (DAC). P Contact: http://www.insignia.com

bytecode format.

Newton, TI, even DOS.

P Small footprint < VM+classlib less than 64K on Palm OS and Windows CE. < Working memory less than 10K.

http://java.sun.com/products/cldc/ds/

Java Environments

Business Summary

Waba

Targeting Palm OS

Targeting Windows CE

P Pros

P Pros

P Very limited set of libraries. P No multithreading, no exceptions. P Supports serial and socket communications. P Native interface implemented by modifying VM’s source code.

P No-charge, GPL license. P Contact: http://www.wabasoft.com

< Market share leader – control the market’s directions. < OS built for small, low-powered devices – may appear in wider settings. < Vendor support and connectivity to enterprise products: IBM, Oracle, Sybase, SAP.

P Cons < High learning curve for developers. < Limited capacity of the Motorola Dragonball processor.

Business Summary

< Similarity to other members of the Windows family – simple transition from desktop-based Windows development. < Microsoft efforts for CE to dominate in-car computing. < Availability of familiar applications: Word, Excel, Outlook.

P Cons < Declining market segment – from small to smaller. < Large memory, battery, and user interface requirements.

Business Summary Targeting Linux

P Pros < As expected from Linux: GPL open source. < Interesting possibilities to mix-and-match components. < Most software components can be downloaded at no cost.

P Cons < Very high learning curve. < Most development tools are not mature – usually resorts to command-line gcc. < No established standard – too many GUI toolkits and libraries.

Thank You Any Questions?

References PCampbell, Tom. Programming Windows CE applications on your Windows CE machine. Programming Power. PEpplin, Jerry. A developer's perspective on Sharp's Zaurus SL5000D Linux/Java PDA. Nov. 12, 2001. PPalm, Inc. A Flexible Architecture for Innovative Solutions. 2002. http://www.palmos.com/platform/architecture.html PPalm, Inc. Palm OS Memory Architecture. http://oasis.palm.com/dev/kb/papers/1145.cfm?print=true PPalm, Inc. Zen of Palm. PPalm, Inc. Palm OS Programmer's Companion, Volume I. PPenright. MobileBuilder Spec Sheet. PGregory, Kimberly . Embedded Development with Microsoft Windows CE. April 1998. PHandspring. The Springboard Platform Whitepaper. 1999 PInsignia. Jeode PDA Edition VM. http://www.insignia.com/. 2002.. http://www.insignia.com/. 2002.

References PRichter, Jeffrey. Developing Applications for Microsoft Windows CE: An Overview of the Windows CE SDK and Visual C++ for Windows CE. MSDN Library. March 15, 1997. PMetrowerks. CodeWarrior 8 for Palm OS Platform Datasheet. PMicrosoft Corp. Microsoft Windows CE Technical FAQ. MSDN Library. PMicrosoft Corp. Microsoft Windows CE: The New Choice for Dedicated Systems. MSDN Library. PMicrosoft Corp. Windows CE 2.10: Frequently Asked Questions. July 27, 1998. PMicrosoft Corp. Windows CE Memory Architecture. MSDN Library. PSharp Corporation. “SL-Series” Memory Information for JavaTM & Qt/Embedded Applications. (revision 1.00 2002.4.4) PSun Microsystems. Java 2 Platform Micro Edition (J2ME) Technology for Creating Mobile Devices White Paper. May 19 2000. PWireless Developer Network. WirelessDevNet Online Training. http://www.wirelessdevnet.com

Related Documents


More Documents from "Sasmito Adibowo"