developing handhelds - slides 1pp
TRANSCRIPT
-
8/14/2019 Developing Handhelds - Slides 1pp
1/53
-
8/14/2019 Developing Handhelds - Slides 1pp
2/53
AgendaLooking Ahead...
PGeneral Issues
PPlatform Overviews
PDevelopment ToolsPBusiness Summary
-
8/14/2019 Developing Handhelds - Slides 1pp
3/53
General Issues
... a handheld is not a PC. Bigger is notnecessarily better. Speed is not
measured in megahertz or MIPS, oreven FLOPS for that matter. Developerswill need to shift paradigms whentargeting handhelds...
-
8/14/2019 Developing Handhelds - Slides 1pp
4/53
General IssuesOpposite Usage Patterns
People generally usehandhelds in frequent, shortbursts; while people work on
PCs for several hours at atime.Accesses per day
Average sessiontime (minutes)Source: Palm, Inc user surveys
Waiting a few minutes for a PC to bootand a wordprocessor to load is acceptable
if ones going to write a paper for twohours.If the sole purpose of turning on thehandheld is just to look up somebodysphone number to call, waits can be
frustrating.
-
8/14/2019 Developing Handhelds - Slides 1pp
5/53
General IssuesUser Interface
PSmall screen, most are 6cm * 7cm, some aresmaller.
PLimited resolution and color.
PSmall or no keyboard.
PStylus, not mouse programming will beslightly different.
PLess taps is better.
-
8/14/2019 Developing Handhelds - Slides 1pp
6/53
General IssuesMemory Considerations
PMost handhelds do not carry secondarystorage all data are stored in the mainmemory.
POut-of-memory situations will occur moreoften applications must degrade gracefullyinstead of simply terminating.
PMemory grew from 2MB, 8MB, to 64MB. Butas handhelds grew smaller, dont expect thattrend to continue.
-
8/14/2019 Developing Handhelds - Slides 1pp
7/53
General IssuesConserving Power
PAvoid lengthy computations leave theanalysis to the desktop machine.
P
Avoid polling, favor blocking. Thus the OScan suspend the CPU.
PLimit the use of peripheral devices sounds,serial, modems, etc.
POptimize for fast response time. Avoidbackground processing. PDAs only have oneuser to take care of.
-
8/14/2019 Developing Handhelds - Slides 1pp
8/53
Platform OverviewsDiscussion Scope
P3Coms Palm OS.
PMicrosoft Windows CE.
PLineo Embedix Plus.
-
8/14/2019 Developing Handhelds - Slides 1pp
9/53
Palm OSArchitecture Overview
Source: Palm OS website
-
8/14/2019 Developing Handhelds - Slides 1pp
10/53
Palm OSPlatform Components
PPalm OS software.
PReference hardware design.
PHotSync conduit data synchronizationtechnology.
PPlatform component tools including an API
that enables developers to write applications.PSoftware interface capabilities to supporthardware add-ons .
-
8/14/2019 Developing Handhelds - Slides 1pp
11/53
Palm OSApplication Startup and Stop
POnly one application at a time.
PNo exit command user simply selects anotherapplication.
PApplication 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.
PApplication stop: appStopEvent upon receiving thisevent, an application must exit its event loop, close
any open files and forms, and exit.
-
8/14/2019 Developing Handhelds - Slides 1pp
12/53
Palm OSMemory
P32-bit physical address space.
PAll memory are considered of a
part of a card.PCards may contain RAMs,ROMs, or a combination ofboth.
PPartitions:< Dynamic Heap< Storage Heap
-
8/14/2019 Developing Handhelds - Slides 1pp
13/53
Palm OSMemory Manager
PGeneral memoryallocation/de-allocation.
PTwo types of memory:< Moveable chunks (handles).< Fixed chunks (pointers).
PHeap compaction< When allocation request failed.< Move unlocked moveable chunks down to lower
addresses.
PMemory chunks are marked with their owner
freed when the application terminates.
-
8/14/2019 Developing Handhelds - Slides 1pp
14/53
Palm OSData Manager
PHigher-level data abstraction,for (more) persistent storage.
PDatabases instead of files.
PData divided into discretepieces that the system helpmanages.
PTwo major categories:< Record databases< Resource databases
-
8/14/2019 Developing Handhelds - Slides 1pp
15/53
Palm OSData Manager
PRecord Databases< 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.
P
Resource Databases< Free-form storage.< Linear search on access.
-
8/14/2019 Developing Handhelds - Slides 1pp
16/53
Palm OSSpringboard Expansion
PUsed in Handspring Visorhandhelds.
P
Open standard documentation available fordownload, no user fees, noroyalties, no proprietary parts.
PLow cost uses the PCMCIA68-pin block.
P flexible power built-in supply
of 100mA at 3.3V.
Inserting a module into theSpringboard expansion slot
-
8/14/2019 Developing Handhelds - Slides 1pp
17/53
Palm OSSpringboard Expansion
P Includes all necessarysoftware
P
Automatic softwareinstall/de-install no driverneeded.
PMicrophone support inhandheld. The Springboard expansion slot (below)and examples of possible Springboard
modules.
-
8/14/2019 Developing Handhelds - Slides 1pp
18/53
Windows CEArchitecture Overview
Source: MSDN Library
-
8/14/2019 Developing Handhelds - Slides 1pp
19/53
Windows CEPlatform Overview
PVersion 3.0 renamed to Pocket PC.PAvailable in three form factors:< Handheld PC touchscreen with keyboard, either
PCMCIA or CompactFlash.< Palm PC touchscreen without keyboard,
CompactFlash.< Auto PC in-car systems.
PUnicode-only character set.PSubset of the Win32 API.
PSupport for multithreaded applications.
-
8/14/2019 Developing Handhelds - Slides 1pp
20/53
Windows CEDesign Goals
PSmall footprint.
PHigh modularity to build a high range of
embedded systems.PExecute-in-place (XIP) out of ROM.
PUse the Win32 API standard.
PPortable to different microprocessor familites.
-
8/14/2019 Developing Handhelds - Slides 1pp
21/53
Windows CEMemory Management
P4GB virtual address space.
PData storage provided as a virtual disk in
RAM.PFamiliar Win32 and C memory-managementfunctions.
P
Record-based data access are also availablevia the Object Store.
-
8/14/2019 Developing Handhelds - Slides 1pp
22/53
Windows CEDriver Architecture
PNative drivers no common interface model,loaded by parent processes.
PStream drivers exposed to applications
through the file system interface.PRegular IPC to drivers are supported.
-
8/14/2019 Developing Handhelds - Slides 1pp
23/53
Windows CEDriver Architecture
Source: MSDN Library
-
8/14/2019 Developing Handhelds - Slides 1pp
24/53
Lineo EmbedixArchitecture Overview on the Sharp SL-5xxx
Source: SL-5500 / System Architecture Overview
-
8/14/2019 Developing Handhelds - Slides 1pp
25/53
Lineo EmbedixPlatform Overview
PMostly standard Linux system with kernelversion 2.4.
P
Busybox provides a subset of POSIXcommand-line utilities.
PQt/Embedded GUI, virtual framebuffer.
P
PersonalJava 1.2 environment included.PBase applications provided by Qt Palmtop.
-
8/14/2019 Developing Handhelds - Slides 1pp
26/53
-
8/14/2019 Developing Handhelds - Slides 1pp
27/53
Development ToolsDiscussion Scope
PNative-code compilers.
PBytecode or source interpreters.
PJava environments (VM, libraries,and tools).
-
8/14/2019 Developing Handhelds - Slides 1pp
28/53
Native Code CompilersCodeWarrior for Palm OS
P
The official development tool for the PalmOS.
PUses C, C++, or Motorola 68K assemblylanguage, program directly to the Palm OSAPI.
PHost platform: Windows or Mac.
P
C++ Support:
-
8/14/2019 Developing Handhelds - Slides 1pp
29/53
Native Code CompilersCodeWarrior for Palm OS
Source: CodeWarrior 8 for Palm OS Platform Datasheet
Emulator
Debugger
ProjectManager
Editor
Wizards
-
8/14/2019 Developing Handhelds - Slides 1pp
30/53
Native Code CompilersCodeWarrior for Palm OS
P IDE features:< GUI Builder.< Integrated debugging with emulator or on-
device trough serial/USB.< Source or assembly level debugging.< Code highlighting.< Wizards.< Class browser.
PRetail price: $499
P
Contact: http://www.metrowerks.com
-
8/14/2019 Developing Handhelds - Slides 1pp
31/53
Native Code CompilersMicrosoft eMbedded Visual Tools
PMicrosofts CE development toolset.
PComponents:< eMbedded Visual C++.< eMbedded Visual Basic.< SDK and remote tools.
PFeatures the familiar Visual Studio user
interface.
-
8/14/2019 Developing Handhelds - Slides 1pp
32/53
Native Code CompilersMicrosoft eMbedded Visual Tools
PProgram directly to the Windows CE API forC/C++.
PC++ offers the option of MFC and ATL for
Windows CE.PDebugging options:< Simulating Windows CE environment under
desktop Win32.< Remote debugging through cable.
-
8/14/2019 Developing Handhelds - Slides 1pp
33/53
Native Code CompilersMicrosoft eMbedded Visual Tools
PCost: $14.95 (international shipping) freedownloads available.
P
Contact:http://msdn.microsoft.com/vstudio/device/prodinfo.asp
-
8/14/2019 Developing Handhelds - Slides 1pp
34/53
Native Code CompilersMobileBuilder
PDevelop for several platforms from thesame code base.
PSupported targets: Palm OS, WindowsCE, Pocket PC, Windows NT, 98, 95, 3.1,MS-DOS, and DPMI.
P IDE with drag-and-drop RAD tools.
PHost platform: Windows 2000, NT 4.0,98, 95
-
8/14/2019 Developing Handhelds - Slides 1pp
35/53
Native Code CompilersMobileBuilder
Visual
ProgrammingEnvironment
Powerful Form
Designer
Source: MobileBuilder Spec Sheet.
-
8/14/2019 Developing Handhelds - Slides 1pp
36/53
Native Code CompilersMobileBuilder
PC-language, code to Penrights proprietaryAPI.
POver 350 handheld-focused API:
handwriting recognition, signature capture,bar code scanning, etc.
PSeparate runtime licenses for each target
platform.PPrice: $1595 per developer seat.
PContact: http://www.penright.com
-
8/14/2019 Developing Handhelds - Slides 1pp
37/53
Bytecode InterpretersPocketC
PScripting, C-like language (but notC!).
PCross processor capability on Windows CE.
PAble to write code on handheld.
PDesktop IDE available; without GUI builder(Windows host).
PSeparate (incompatible) versions for Palm OSand Windows CE.
-
8/14/2019 Developing Handhelds - Slides 1pp
38/53
Bytecode InterpretersPocketC
PPrice: $30 (Palm), $38 (Windows CE).
PContact: http://www.orbworks.com
Source: OrbWorks website
-
8/14/2019 Developing Handhelds - Slides 1pp
39/53
Bytecode InterpretersNS Basic/Palm
PUses the BASIC programming language.
PDevelop on Windows desktop, with RAD tools.
P
Runtime size: 88K.PDebugging using Palm OS Emulator.
PPrice: $149.95
PContact: http://www.nsbasic.com/palm/
-
8/14/2019 Developing Handhelds - Slides 1pp
40/53
Bytecode InterpretersNS Basic/Palm
Source: NS Basic website
-
8/14/2019 Developing Handhelds - Slides 1pp
41/53
Bytecode InterpretersNS Basic/CE
PUses standard VBScript interpreter engine.
PCode directly in handheld.
P
IDE with RAD tools.PDatabase support - ADOCE.
PCross-processor support.
-
8/14/2019 Developing Handhelds - Slides 1pp
42/53
Bytecode InterpretersNS Basic/CE
PRoyalty-free programdistributions.
PPrice: $149.95
PContact:http://www.nsbasic.com/ce/
Source: NS Basic website
-
8/14/2019 Developing Handhelds - Slides 1pp
43/53
Java EnvironmentsKVM Reference Implementation
P
Focus on connected devices.PMultithreading support.
PVM size: 50K 80K, working memory:
128K.PCurrent target: Palm OS. Desktop:Windows and Solaris.
PNo native support.
PContact:
http://java.sun.com/products/cldc/ds/
-
8/14/2019 Developing Handhelds - Slides 1pp
44/53
Java EnvironmentsJeode PDA Edition
PPersonalJava 1.2 compliant VM certified bySun.
PComplete JNI support.
PTargets: Windows CE, Linux (X11,Qt/Embedded, QPE).
PDynamic Adaptive Compilation (DAC).
PContact: http://www.insignia.com
-
8/14/2019 Developing Handhelds - Slides 1pp
45/53
Java EnvironmentsWaba
PStrict subset of Java: language, class file,bytecode format.
PCross-platform VM: Palm OS, Windows CE,
Newton, TI, even DOS.PSmall footprint< VM+classlib less than 64K on Palm OS and
Windows CE.< Working memory less than 10K.
-
8/14/2019 Developing Handhelds - Slides 1pp
46/53
Java EnvironmentsWaba
PVery limited set of libraries.
PNo multithreading, no exceptions.
PSupports serial and socket communications.
PNative interface implemented by modifyingVMs source code.
P
No-charge, GPL license.PContact: http://www.wabasoft.com
-
8/14/2019 Developing Handhelds - Slides 1pp
47/53
Business SummaryTargeting Palm OS
PPros< Market share leader control the markets
directions.< OS built for small, low-powered devices may
appear in wider settings.< Vendor support and connectivity to enterprise
products: IBM, Oracle, Sybase, SAP.
PCons< High learning curve for developers.< Limited capacity of the Motorola Dragonball
processor.
-
8/14/2019 Developing Handhelds - Slides 1pp
48/53
Business SummaryTargeting Windows CE
P
Pros< Similarity to other members of the Windows family simple transition from desktop-based Windowsdevelopment.