PalmSource 2002, Day 2
Developer Labs, just before midnight
Lots of slacking off happening. Not too much hacking. Mostly its just Palm, Handspring, and Metrowerks people trading stories. If you need help and are here, please bother us up on stage.
Palm OS 5 APIs
Some things will be supported on Palm OS 4.x on 68K, but most new development and all core changes are ARM-only. PalmSource 2000's OS 5.0 is a bit different from the new OS 5 -- lots of features have been reigned in and moved to future releases.
OS 5 is the core, OS modules that add functionality will be released separately and available to licensees. New tools and modules will be released throughout 2002.
New Tool Chain: PalmSource (the OS group) will be releasing their own debuggers and compilers over the course of the year.
ARM picked due to wide range of chips with varying prices, speeds, power usage, and integrated peripherals. ARM is also the most common CPU in cell-phone chipsets. Future devices will be less similar than in past, so hardware hacking will limit your application to a small subset of devices.
Approximately 12 different ARM processors will be intially supports (versus four different Dragonball 68K chips). ARM has totally different instruction set and byte ordering from 68K. In OS 5, everything is ARM-native but the user applications, which are still 68K based. There is a backdoor for ARM code to be inserted into 68K applications to handle speed issues that will be revealed tomorrow. Compatible chips range from 18MHz to 1GHz.
OS supports mixed 32-bit and Thumb code using interworking jumps. Some parts of the OS can be in smaller Thumb code, but it doesn't affect the user code since jumps between ARM and Thumb code automatically work.
PACE (Palm Application Compatibility Environment) is the 68K emulator on which all OS 5.0 apps run. Apps call the OS through PACE which translates from 68K-format structures to ARM-format structures seen at the low leve. It runs code quite fast, since all OS code is running as native ARM code. The new simulator is PACE and the OS built for Win32; everything is compiled for x86, not ARM. PACE has built-in tools for looking at resources and heaps, including a browser for all databases on the device showing hex dumps of data. It also can log all events generated in the system to a window.
Glue library is very important for writing code that works on both old 68K devices and new ARM devices. Palm OS 4.0 SDK update includes updated glue with more accessor functions.
David Fedor on Palm OS 5
Well-behaved 68K apps will run very well and quickly. Some apps need slight touch-ups.
OS 5 is fully native, with new kernel and low-level drivers, independent of chip and completely 32-bit. Port to ARM is based on ARM4T architecture.
PalmSource supplies the core OS and many modules. Palm OS Ready partners provide low-level software for specific chips. Licensees customize OS for their device by choosing modules and adding drivers.
Palm OS 5 demoed on boards from Intel (XScale) and Motorola (Dragonball MX1). Also showed an unnamed TI (OMAP) board with a high-density (320x320) screen. Showed old Cirrus board that was used last year, but with sound support. Finally showed the Dragonball SZ-based board running Palm OS 4.1 at 66MHz.
Code recompiled for ARM is 19x on 74MHz and 61x faster on 200MHz ARM chips versus 33MHz 68K.
New tool: Palm OS Simulator, runs Palm OS 5.0 code native on Windows.
New hack mechanism: now uses notification sent from OS that allow apps to redirect system functions in a way similar to traps in older versions of the OS.
Palm OS 5.0 Future Directions
Security: on-board encryption from RSA, code signing, SSL
Multimedia: modular framework for codecs, screen resolutions increasing, more input methods, UI themes
Beta of Palm OS 5.0 for ARM available today to licensees. Supports Motorola, TI, and Intel chips. Native 68K emulator for running existing apps, OS is all in ARM-code.
Sound manager: playback/record 8/16-bit audio, 16-channel software mixer, can be hardware accelerated
Hi-Res Screen API: high-density screens are backwards compatible, can go beyond 320x320
UI Customization: several standard themes, licensees can add more, not open to developers yet
News Flash: i705 to be a closed system
The Palm i705 seemed like the best wireless device, but it looks like push-to-the-device support will be limited to Palm's partners and carrier approved applications. I can understand Cingular wanting to protect their network from overzealous push, especially when people will have unlimited accounts for a fixed rate, but I think holding back the developer information is going to hurt adoption of the device.
The push-capable apps that are there are nice, but until it becomes open to all developers, the i705 is just an incremental upgrade to the Palm VIIx.
Tuesday at 3:00PM
First keynote had lots of demonstrations. BlueTooth is working well, and Palm's introducing a new application rating and sharing tool that I describe at "Application Napster" working over both IRDA and BlueTooth. Kyocera is pushing to the enterprise with their Palm OS phones, Handspring showed the Treo, and Sony is focusing on consumer and entertainment. There are now over 21 million Palm OS devices sold. Handspring said that Treo will show up in the US during the month of February.
Tuesday at 1:00PM
Keynote just about to start. New name for the Palm OS subsidiary should be announced, but it has already leaked as PalmSource.
Tuesday morning
Power outage affects large chunks of San Jose. PalmSource keynote rescheduled from 10AM to 1PM. Developer playpen across the street had power, so people were hanging out there with 802.11b, Nerf, and RC-controlled mini-cars.

Send feedback to combee@techwood.org
Copyright © 2004 Benjamin L. Combee
Palm OS is a registered trademark of PalmSource, Inc.
Metrowerks and CodeWarrior are registered trademarks of Metrowerks Inc.
The views expressed on this website/weblog are those of mine alone and do not necessarily reflect the views of PalmSource or Metrowerks.

qwertYAK / frobnovich
|