Palm OSŪ Developer Suite
IMPORTANT: Read Before Using the Accompanying Software
IMPORTANT: Read Below Carefully if:
-
you already have a Cygwin installation, or
-
you intend to use 1.0.0 or 1.1.0 projects, or
-
you are attempting to use the Eclipse Update Manager feature for updating Palm
OS Developer Suite
Table of Contents
Welcome to the 1.2.0 release of Palm OS Developer Suite. Palm OS Developer
Suite is based on Eclipse, a widely-accepted open-source IDE. The 1.2.0 release
includes the following:
Environment:
-
Underlying Eclipse platform based on Eclipse 3.0.1 and CDT 2.0.2
-
Palm OS project creation using user managed makefiles (i.e. Standard Make)
-
Palm OS project creation using system managed makefiles (i.e. Managed Make)
-
Global tools preferences that are used to initialize project tool options
-
Support for upgrading Palm OS Developer Suite through the Eclipse Update
Manager facility
Development Support:
-
Palm OS SDK 6.1 targeting Palm OS Cobalt devices
-
Palm OS SDK 5.4 targeting Palm OS 3.x, Palm OS 4.x, and Palm OS Garnet devices
-
Compilation and creation of 68K applications, shared libraries, and static
libraries
-
Compilation and creation of 68K/PNO applications and static libraries
-
Compilation and creation of Protein (ARM-native) applications, shared libraries
and static libraries, for execution on Palm OS Cobalt devices and on Palm OS
Cobalt Simulator
-
Inclusion of and support for STLport standard C++ library
-
Integrated debugging of 68K applications from within Palm OS Developer Suite
-
Integrated debugging of 68K/PNO applications from within Palm OS Developer
Suite (68K code segments only)
-
Integrated debugging of Protein applications from within Palm OS Developer
Suite
-
Improved PalmSource Installer package generation capabilities
Changes from Palm OS Developer Suite 1.1.0
This release of Palm OS Developer Suite includes the following new features:
-
Support for upgrading Palm OS Developer Suite through the Eclipse Update
Manager facility
Palm OS Developer Suite uses Eclipse as its base IDE. Eclipse version 3.0.1 and
the C Development Toolkit feature (CDT) version 2.0.2 are the required minimum
Eclipse base. JRE 1.4 or later is required but is already included with this
product so an additional download of it is not needed. Additionally, Palm OS
Developer Suite uses Cygwin as its C compilation environment.
To perform a complete installation of Palm OS Developer Suite, which includes
all necessary components (such as Eclipse, Cygwin, prc-tools, and Palm OS SDKs
and tools), run the Palm OS Developer Suite Installer.
The complete installation assumes that you do not have Cygwin installed. The
complete installation installs an Eclipse instance complete with Palm OS
Developer Suite specific plugins, a subset of Cygwin, prc-tools, Palm OS 5 SDK,
and Palm OS Cobalt SDK, and tools modified for use with prc-tools and Eclipse,
in a subfolder of your root drive:
<root drive>:\Program Files\PalmSource\Palm OS Developer Suite
Warning - Cygwin Installations
The default installation installs a Palm OS Developer Suite provided version of
Cygwin. The custom installation allows you to select which features are
installed and the locations of installed features. Most users without Cygwin
previously installed should use the default installation method. Use the custom
installation method if you already have Cygwin and prc-tools installed on your
target machine. It is highly recommended to take the defaults in all other
cases in the custom installation method for packages to install and paths for
installation.
NOTE: If you choose to install the Palm OS
Developer Suite provided Cygwin, you should remove all previous Cygwin
installations since Cygwin does not support multiple installations of that
product to coexist on one machine. Palm OS Developer Suite installer modifies
the Cygwin registry settings as part of the installation process and therefore
may negatively affect any previous installations.
System Requirements
Palm OS Developer Suite requires the following:
-
Operating System: Windows 2000 or Windows XP
-
Processor: At minimum an Intel Pentium III processor at 600 MHz is required
(Pentium 4 processor at 1.4 GHz or higher is recommended)
-
Memory: 512 MB RAM required
-
Hard Disk Space: 800 MB required
Palm OS Developer Suite also uses Cygwin and prc-tools as one of its underlying
tool chains. A complete installation of Palm OS Developer Suite includes a
Cygwin package with the following list of packages and versions:
-
_update-info-dir 00227-1
-
ash 20040127-1
-
base-files 2.6-1
-
base-passwd 1.1-1
-
bash 2.05b-16
-
binutils 20040312-1
-
bison 20030307-1
-
bzip2 1.0.2-5
-
ctags 5.5-4
-
cygutils 1.2.5-1
-
cygwin 1.5.10-3
-
cygwin-doc 1.3-7
-
diffutils 2.8.7-1
-
editrights 1.01-1
-
fileutils 4.1-2
-
findutils 4.1.7-4
-
flex 2.5.4a-3
-
gawk 3.1.3-4
-
gcc 3.3.1-3
-
gcc-g++ 3.3.1-3
-
gcc-mingw 20030911-4
-
gcc-mingw-core 20031020-1
-
gcc-mingw-g++ 20031020-1
-
gdb 20030919-1
-
gdbm 1.8.3-7
-
grep 2.5-1
-
groff 1.18.1-2
-
gzip 1.3.5-1
-
less 381-1
-
libbz2_0 1.0.2-1
-
libbz2_1 1.0.2-5
-
libgdbm 1.8.0-5
-
libgdbm-devel 1.8.3-7
-
libgdbm3 1.8.3-3
-
libgdbm4 1.8.3-7
-
libgettextpo0 0.12.1-3
-
libiconv2 1.9.1-3
-
libintl1 0.10.40-1
-
libintl2 0.12.1-3
-
libncurses5 5.2-1
-
libncurses6 5.2-8
-
libncurses7 5.3-4
-
libpcre 4.1-1
-
libpcre0 4.5-1
-
libpopt0 1.6.4-4
-
libreadline4 4.1-2
-
libreadline5 4.3-5
-
login 1.9-7
-
m4 1.4-1
-
make 3.80-1
-
man 1.5k-3
-
mingw-runtime 3.3-1
-
mktemp 1.5-3
-
ncurses 5.3-4
-
pcre 4.5-1
-
pcre-doc 4.5-1
-
pkgconfig 0.15.0-4
-
prc-tools 2.3
-
prc-tools-htmldocs 2.3
-
readline 4.3-5
-
sed 4.0.9-2
-
sh-utils 2.0.15-4
-
tar 1.13.25-5
-
tcltk 20030901-1
-
termcap 20021106-2
-
terminfo 5.3_20030726-1
-
texinfo 4.2-4
-
textutils 2.0.21-1
-
unzip 5.50-5
-
w32api 2.5-1
-
which 1.5-2
-
zip 2.3-6
-
zlib 1.2.1-1
Additionally, the Palm OS Developer Suite provided Cygwin installation includes
the prc-tools 2.3 patch for multi-section debugging of 68K applications. This
patch was created by Ton van Overbeek, a contributor to the prc-tools chain at
SourceForge.net. The patch can be retrieved from
http://www.v-overbeek.nl/msectgdb/ if you install your own Cygwin and
prc-tools and need to patch your installation. Thanks to Ton for his work in
getting this patch done.
If you have already installed Cygwin and want to keep using that, update your
packages to include all of the above packages of at least the versions numbers
indicated. For instructions on how to update Cygwin, go to
http://www.cygwin.com. For instructions on how to update prc-tools go
to http://prc-tools.sourceforge.net.
After updating the Cygwin and prc-tools packages, choose the custom
installation path in the Palm OS Developer Suite full installer and uncheck
Cygwin in order to use your own Cygwin and not use the one provided by
PalmSource.
Web Updates through Eclipse Update Manager
This release supports the Eclipse Update Manager for automatically updating
your Palm OS Developer Suite or Eclipse Platform using Palm OS Developer Suite
updates. There is no additional configuration required in your Palm OS
Developer Suite installation in order to find available updates from
PalmSource. To look for updates, select from the menu Help > Software Updates
> Find and Install... and follow the wizard.
NOTE: DO NOT apply any CDT updates
provided by eclipse.org to your Palm OS Developer Suite instance through the
Update Manager. The CDT requires patches from PalmSource in order to work
within the Palm OS Developer Suite and updating the CDT features and plugins
from eclipse.org will overwrite those required changes, thereby breaking your
Palm OS Developer Suite instance.
NOTE: Once an update of Palm OS
Developer Suite has been started, DO NOT cancel the operation; let it complete
in its entirety. There is known bugs in the Eclipse 3.0.1 Update Manager
feature that prevents a successful cancel of a partially completed update
manager installation operation. This will be fixed in a future release when
Palm OS Developer Suite includes Eclipse 3.1.
Palm OS Developer Suite 1.2.0 does not support upgrading an existing earlier
Palm OS Developer Suite version at this time. Rather, if you've already
installed Palm OS Developer Suite 1.1.x or earlier you must first uninstall
your previous installation. Your project data will be remain untouched on your
system during the uninstall. You then can install Palm OS Developer Suite 1.2.0
in the same locations as you had previously chosen for the previous version.
Your project data will remain in your workspace even though individual
memorized workspace settings (such as global preferences and perspective
modifications) may be modified or lost during the reinstallation process.
If you forget to uninstall an earlier installed version of Palm OS Developer
Suite prior to running the Palm OS Developer Suite 1.2.0 installer, the
installer will initiate an uninstall of the previous product version before
installing the current version.
NOTE: If you did uninstall a
previous version of Palm OS Developer Suite and then installed version 1.2.0 in
the same directory as the previous installation or are using a PODS 1.0.0
workspace for the first time in version 1.2.0, you may receive an error dialog
after restarting the IDE for the first time that states something similar to
the following:
Unable to restore perspective: Workspace - Palm OS C/C++ Development
Perspective
Unable to create editor: Welcome.
Could not create view: org.eclipse.cdt.ui.BuildConsoleView
Could not find view: org.eclipse.cdt.ui.BuildConsoleView
This is due to settings in your workspace that reference IDE components that
have been updated and/or replaced in version 1.2.0 (or more precisely in CDT
2.0 that is included by Palm OS Developer Suite 1.2.0). To correct the error,
select Window > Reset Perspective while in the perspective that the
error references.
Importing non-Palm OS Developer Suite Projects
This release of Palm OS Developer Suite does not have any import wizards that
automatically create new Palm OS Developer Suite projects from those existing
Palm OS projects from other third party vendors. Included in this section is
the recommended methods for importing the contents of your existing projects
into Palm OS Developer Suite project.
prc-tools Make Projects
68K application projects using prc-tools 2.3 should be able to be imported into
a 68K standard make project and compile without change. This is assuming that
the prc-tools projects contains a makefile in its root directory and the tools
invoked are in the PATH environment variable. Some modifications may be
required to update the tools paths in the makefile or the make targets. To
import a prc-tools 68K make project, do the following:
-
Create a new Palm OS Development Standard Make 68K C/C++ project of output type
Application and using the "Makefile Import Project" code template.
-
Select File > Import... > File System and select the complete
contents of your existing prc-tools make project. This will copy those contents
into the Palm OS Developer Suite standard make project directory in your
workspace.
Invoking build on the project will then build the "all" target in your makefile.
For 68K shared libraries or static libraries, perform similar actions as above,
except create a new Palm OS Development Standard Make 68K C/C++ project with
the output type of Shared Library or Static Library as appropriate.
If you are building PNO applications with prc-tools, note that the default tool
chain that Palm OS Developer Suite provides for compiling PNO segments is
different from that of prc-tools. Palm OS Developer Suite by default uses the
PalmSource C/C++ compiler to compile PNO segments for a device target while
prc-tools 2.3 utilizes arm-palmos-gcc. Depending on your preferences you should
either a) add the arm-palmos-gcc toolset to your Cygwin deployment to keep your
makefiles the same, or b) modify your makefiles to utilizes the PalmSource
C/C++ compiler. To utilize the PalmSource C/C++ compiler, create a sample
project using a wizard provided code template and use those makefiles as an
example for modification of your makefiles.
Other Third Party IDE Projects
For projects from other IDEs, the steps to take are:
-
Create an appropriate Palm OS Developer Suite project for your target
application (e.g. 68K or PNO project). Create the project using the "Source
File Import Project" code template. You may create either a standard make
project or a managed make project, depending on whether you want to manually
maintain a makefile or manage your project through a project properties
interface.
-
Next you must import all source files, header files, resource files into the
newly created Palm OS Developer Suite project. Import the files using File >
Import... > File System. Importing the files will copy them into
the Palm OS Developer Suite project.
-
If you have a standard make project, you then must add the source and resource
files into the makefile definition in order for the makefile to use those
sources in a build. Managed make projects automatically compile all sources and
resources in any subdirectory of a managed make project so there's no need to
explicitly tell the project about the files.
-
Finally you must manually apply any compiler/linker/build tools options from
the existing project into the appropriate places in the Palm OS Developer Suite
project. For standard make projects, this means update the makefile and
possibly the makefile-engine.mk. For managed make projects, this means
accessing the project's properties by selecting "C/C++ Build" and modifying the
tools options there.
Upgrading 1.0.0 Palm OS Developer Suite Projects
Projects created in Palm OS Developer Suite 1.0.0 need to be upgraded in 1.2.0
in order for their properties to be accessed properly. To do so, first import
the projects into Palm OS Developer Suite 1.2.0 if they are not already in your
workspace. you will then be prompted that a restart of the IDE is required if
the projects are not version 1.2.0 projects. Then you must
RESTART Palm OS Developer Suite 1.2.0. When restarted,
the IDE will detect that there are projects that have not been upgraded to
1.2.0 and show a dialog asking if the projects should be upgraded. Please allow
it to do the upgrade so you can access your managed make projects properties
properly. Note that there may be a slight delay of a few seconds before the IDE
detects the projects to upgrade; be patient, it'll find them.
If you are upgrading standard make projects from 1.0.0, please note the
following changes made in PODS 1.2.0 that are not automatically applied to your
makefiles during the upgrade. The upgrade process does not modify your standard
make makefiles, so you'd have to make any of these changes manually if you need
them:
-
Palm OS Developer Suite 1.0.0 projects that build applications targeting a
simulator are missing a link option. '--entry 0' is required for the gcc
command that creates the PNO DLL. You can add this option to the
ADDITIONAL_PNO_SIM_LINKER_FLAGS definition in the makefile if your makefile
still contains that definition.
NOTE: If you've changed the
installation locations of any component of Palm OS Developer Suite (such as the
SDKs or Cygwin) in installing the latest version when compared to the previous
Palm OS Developer Suite, you may have compilation errors due to changed
dependency locations. This is a known issue in CDT. To rectify this, you can do
either of the following:
-
Delete the .index files from workspace/.metadata/.plugins/org.eclipse.cdt.core.
These files will be regenerated during the next rebuild of your projects.
-
Edit any source file in your project and then rebuild the project.
Upgrading 1.1.x Palm OS Developer Suite Projects
Currently, there are no explicit steps required in order to upgrade Palm OS
Developer Suite 1.1.x projects for 1.2.0. These projects will work unchanged in
this release.
Unsupported Palm OS Developer Suite Project Versions
The following Palm OS Developers Suite project versions are not supported
"as-is" in the current release of Palm OS Developer Suite:
-
0.x.x Technology Preview projects
-
1.0.0 Technology Preview or Beta release projects
The only supported method for updating the Palm OS Developer Suite projects
listed above is to manually create new projects and incorporate the sources
from the unsupported projects into the new projects. To do so, do the
following:
-
Create a new project in the current release of Palm OS Developer Suite
corresponding to the target API and project type (e.g. 68K, PNO, or Protein and
application, shared library, static library, or database). Choose the code
generation template of "Source File Import Project" to get all project specific
files except for the actual source files.
-
Select the project and then select from the menu File > Import > File
System
. That will bring you to a dialog that allows you to select all of the source
to copy into your project's workspace.
-
After including all of your source, if you've created a standard make project
you have to modify the makefile so that the SOURCES, RESOURCES, and PNO
information matches the sources you are including.
Standard make projects in Palm OS Developer Suite uses user-controlled makefiles
for its builds. Palm OS Developer Suite essentially just invokes 'make' from a
command line to build the standard make projects. In the standard make project
wizards, Palm OS Developer Suite provides a generic set of makefiles that the
user can modify and tailor for their specific application build.
The user also has the option of not using the Palm OS Developer Suite supplied
makefiles and providing their own. This can be done, but the user must modify
their makefiles to meet certain requirements that Palm OS Developer Suite
defines for makefiles. Palm OS Developer Suite requires some variables to be
defined in the file 'makefile' so that Palm OS Developer Suite can accurately
derive information about the build for debugging and running the result. A
complete list of the variables required can be found in the Introduction to
Palm OS Developer Suite book in the HTML help contents within Palm OS Developer
Suite.
To uninstall Palm OS Developer Suite, follow the steps below:
-
Go to Windows Start Menu > Settings > Control Panel > Add/Remove
Programs
-
Select the following from the list "Currently Installed Programs" and click on
Change/Remove button for each to uninstall each component:
-
Other components such as any updated plugins and features can be deleted
manually.
NOTE: If you chose to install the
included Palm OS version of Cygwin as part of the Palm OS Developer Suite, the
uninstall feature may leave the Cygwin directory behind after uninstallation
due to the creation of files during the use of Cygwin. You can safely remove
this directory after uninstallation.
This section details the restrictions or limitations you should be aware of when
using Palm OS Developer Suite.
Install/Uninstall/Update
-
If you've changed the installation locations of any component of Palm OS
Developer Suite in installing the latest version when compared to the previous
Palm OS Developer Suite, you may have compilation errors due to changed
dependency locations. This is a known issue in CDT. To rectify this, you can do
either of the following:
-
Delete the .index files from workspace/.metadata/.plugins/org.eclipse.cdt.core.
These files will be regenerated during the next rebuild of your projects.
-
Edit any source file in your project and then rebuild the project.
-
Disabling a feature in Palm OS Developer Suite will not disable non-Eclipse
components corresponding to the feature disabled. For example, disabling the
PalmSource provided Cygwin/PRC-Tools feature will not "disable" the cygwin
installation on the system. Disabling is an Eclipse-centric concept and does
not have equivalents in the non-Eclipse components managed by the Eclipse
features.
-
Uninstalling or disabling a feature in Eclipse will not automatically enable
any previous version of that feature; the IDE doesn't know if your intent is to
keep the feature disabled and not use it or to replace its version. You must
specifically enable another version of the feature or use "Replace with another
version" in the Manage Configuration dialog.
Project Management
-
Eclipse prevents any project from being created that uses part of or the
complete path to your workspace (e.g. you cannot create a project in the
directory
C:\Program Files
if your workspace is at C:\Program
Files\Palm OS Developer Suite\workspace
). This is a known
restriction since all files and folders underneath a given project is
considered part of the project. Therefore in the example listed above, all
folders under a project located at C:\Program Files
would be part
of that project, including the workspace itself at C:\Program Files\Palm OS
Developer Suite\workspace
. This would result in a circular reference
since the workspace references the project. To avoid this Eclipse prevents the
project from being created by displaying the following error:
Project cannot be created
Reason:
Invalid project description.
C:/Program Files and C:/Program Files/Palm OS Developer
Suite/workspace overlap.
-
In Eclipse, all content in a project's directory and subdirectories are
automatically considered part of that project's contents. Because of this, you
should take care in creating projects in existing directories. If you create a
project in an existing directory that contains lots of content, Eclipse will
attempt to include all of that directory's content into the project, resulting
in potentially long delays as Eclipse reads in and parses all files and
directories underneath the project's directory. To remedy this, try to create
projects in new empty directories or directories with a small number of
files/directories.
68K Development
-
Importing existing files
It is assumed that all files imported into Palm OS Developer Suite have the
proper line endings in them for the platform. Since there is no specific Palm
OS project import wizard in this release, there is nothing to perform file line
ending conversions on files included in a project. If there are line endings in
a file that are not standard for the platform, the compilation of those files
may fail. It is the responsibility of the developer to ensure that all files
imported already have line endings for the native platform.
-
In this release building multi-section applications using a 68K managed make
project is supported but the user must manually create the .def file that
defines the sections. Sample
Sections.def
and Sections.h
files can be generated and examined from any of the 68K standard make code
templates.
-
In this release, shared library development using a 68K managed make project
requires the prc-tools shared library definition file to be named
SharedLib.def
.
This file is input to the tool m68k-palmos-stubgen
. The
toolset specifically looks for a file by that name in the root directory of the
managed make shared library project. If one is not present, the 68K managed
make project will fail to construct the shared library properly.
-
In this release, multi-segment development in 68K applications using a 68K
managed make project require the sections definition file to be named
Sections.def
,
as noted previously in this readme.
PNO Development
-
In this release, 68K PNO managed make projects require specific directory
structures and file and function naming in order for the PNO to be properly
constructed, as noted by the following:
-
PNO code must reside under a subdirectory of
"NativeCode"
in the
PNO managed make project. The subdirectory name must be of the format 'LLLLxxxx'
where LLLL is a four-character resource ID (PalmSource recommends always using
'ARMC') and xxxx is a hex resource id you wish to use for the subsequent code
resource. The directory name matches the resource that will be created. All
source code within that subdirectory will be compiled and linked into a code
resource for that directory. For example, all code in the directory "NativeCode/ARMC1000"
will be compiled into a resource ARMC1000.bin and merged into the final PRC.
-
Multiple PNO resources can be created by just having separate directories. For
example, if there exist code in
"NativeCode/ARMC1000"
and "NativeCode/ARMC1001"
,
then two PNO resources will be created, ARMC1000.bin and ARMC1001.bin, and
merged into the PRC.
-
There must be a source file in the PNO resource directory, inside of which is
the definition of the PNO entry function call of the signature
'unsigned long
PNOMain(const void*, void*, Call68KFunType*)'
. For a description of
the parameters for this function see the function NativeFuncType
in
the Palm OS header PceNativeCall.h
or consult the PNO development
documentation. The toolset currently hardcodes the entry function name to
PNOMain.
-
If the user specifies the -S option for a PNO device project build, assembly
code will be produced instead of an object file as expected. The assembly code
file generation is to be used for visual verification of the code generated and
general debugging of problems only and is not intended to be part of the build
process. Therefore, specifying the -S prevents the object file from being
produced so when this option is enabled your projects won't build successfully.
To produce your target's output successfully, disable the -S option and
rebuild.
Protein Development
-
In this release, Protein managed make projects for application and shared
library targets require specific files in order for the project output to be
properly constructed, as noted by the following:
-
A file named "
app.sld
" is required for applications and shared
libraries in order to build the output. All code templates already provide
this, but if you use an empty project, you'll have to provide one. The contents
for an application target should be:
REVISION 1 ; your revision number
RESOURCEID 0
ENTRY _PalmUIAppStartup
While the contents for a shared library target should be:
REVISION 1 ; your revision number
RESOURCEID 0
; Shared Libraries must have one entry
ENTRY BasicLibMain ; your main object file
; Shared Library Exports List - Be sure to explicitly add
the exports into here
BasicLibFn ; your exported function
-
A file named "
gcc_link.def
" is required in order to build a
simulator target for your project. The contents for an application target
should be:
EXPORTS
_PalmUIAppStartup @1
SysGetRefNum @2
__ExportDispatchTable @3
__GetRefNum @4
__SetPreloadedDispatchTable @5
__SetRefNum @6
While the contents for a shared library target should be:
EXPORTS
BasicLibMain @1
SysGetRefNum @2
__ExportDispatchTable @3
__GetRefNum @4
__SetPreloadedDispatchTable @5
__SetRefNum @6
-
If the user specifies the -S option for a Protein project build, assembly code
will be produced instead of an object file as expected. The assembly code file
generation is to be used for visual verification of the code generated and
general debugging of problems only and is not intended to be part of the build
process. Therefore, specifying the -S prevents the object file from being
produced so when this option is enabled your projects won't build successfully.
To produce your target's output successfully, disable the -S option and
rebuild.
-
The GCC compiler doesn't guarantee thread safety for static object construction
so it is recommended to avoid that scenario.
-
Inclusion of the header <limits> will produce a warning #68, indicating a
problem with the
WCHAR_MIN
definition. The warning is harmless.
However our supported compilers and SDK environments do not fully agree on the
definition and limits for the wchar_t
type. While we intend for wchar_t
to be an unsigned 32 bit integer type for Protein development, this currently
is not reliable and the WCHAR_MIN/WCHAR_MAX
definitions may not
agree with the wchar_t
type. We recommend that wchar_t
,
WCHAR_MIN
, WCHAR_MAX
, and std::numeric_limits<WCHAR_T>
not be used. [BUG70540]
PalmSource Installer Package Export Wizard
-
In this release, the PalmSource Installer Package Export wizard will create an
initial PSML configuration file if one is not present in a project when the
wizard is finished using the Finish button. This is the only automated way to
create the configuration file. You may manually provide a PSML configuration
file first if desired; see PalmSource Installer documentation at
www.palmsource.com
for details.
-
The initial PSML configuration file created by the wizard does not contain any
variant or product definitions. It also is set by default to include the
project's build target from a release configuration. After file creation, you
are encouraged to edit this file manually to accommodate your needs and
desires. After creation, the file will not be modified by the Export wizard in
this release so your changes are safe to make.
-
In this release, the PalmSource Installer Package Export wizard will only
complete successfully if the configuration file is named
package.psml
and is located in the selected project's root directory.
-
In this release, the PalmSource Installer Package Export wizard will only
complete successfully if you've previously completed a successful build of the
project's target specified in the PSML configuration file. The wizard will not
automatically build the target for you in this release.
Language Support
-
Palm OS Developer Suite does not support a full standard C library for 68K or
PNO development. For example, the function
printf(const char*)
from the header stdio.h is not supported. For Protein development, a subset of
standard C library functions is supported.
-
Palm OS Protein C++ Compiler is a strict C99 compiler. As a result, deprecated
features of the C89 language are not supported, including the following:
-
Use of implicit
int
in declarations
-
Use of implicit function declarations
-
Not returning data when a function is defined to have a return
-
Returning data when a function is not defined to have a return
-
Palm OS Developer Suite incorporates the prc-tools 68K Palm OS development
tool-chain along with the Palm OS 5.4 SDK. This environment provides support
for all documented Palm OS SDK functionality. At this time, a full
ANSI-compliant C library is not supported for 68K development as noted above.
Many C library functions have direct equivalents in the Palm OS SDK. Palm OS
Developer Suite provides the STLport Standard C++ Library for developers to use
with 68K and Protein applications. However, not all functionality is available
for 68K development, due to the lack of a C library. In general, the STL
container classes and algorithms should be usable from 68K code:
<vector>
,<string>
,
<algorithm>
, etc.
Samples
-
All code templates generated by the wizards that contain resource definitions
by default assume a locale of 'enUS'. If you specify a locale other than enUS
in the global Palm OS Development preferences, the wizard code template
resources will not compile. If you wish to specify a different locale then you
must modify the resource definition files in your projects to match the desired
locale.
-
Importing a sample SDK project does not produce a copy of the sample and any
changes made to the sample code affects the original copy of the code. Create a
copy of the SDK sample prior to importing if you desire to save an original
copy.
-
The paths of PalmOSTools and cygwin/bin folders are not inserted into the PATH
environment variable which means you will not be able to build the samples from
the command line right after a fresh install without adding the paths manually
yourself.
-
You can also use the command line to build the sample applications from the
SDK. In order to build the PIM apps on command line, you have to invoke the
make utility with "-f" parameter by passing the name of the makefile which not
only builds the target PIM app but also builds all the dependent libraries e.g.
to build the Address PIM app you have to call "make -f makeaddr" at command
prompt, similarly for Datebook call "make -f makedate", for Memo call "make -f
makememo" and finally for Todo call "make -f maketodo" at command prompt.
Debugging
-
Setting a breakpoint in a file only sets the breakpoint for the project from
which you opened the file editor. This behavior differs from IDEs like
CodeWarrior where setting a breakpoint in a source file shared among multiple
projects causes the breakpoint to be active in all of the projects.
General
-
It is possible to use the DOS command line to perform scripted builds of Palm
OS Developer Suite projects. In order to do so, you must first add the bin
directory of your Cygwin installation to your environment path so that the
makefiles will be able to execute properly (they assume that Cygwin's bin
directory is in the path). You can then use "make" on the makefile in the
desired projects.
-
Standard make projects require a build before the content assist, open headers,
and open declarations features can be invoked successfully. This is because
much of the information required by those features is contained in the makefile
itself and a build of the project is needed to parse that information.
-
Windows XP Service Pack 2 implements a more restrictive security model that
attempts to block network port access. This may interfere with use of the Palm
OS simulators and emulators during running and debugging since network port
access is the mechanism used to communicate between the simulator/emulator and
Palm OS Developer Suite. If prompted whether to allow a Palm OS Simulator or
emulator to access a TCP/IP port, you must respond yes in order to successfully
run or debug your applications using those targets. Consult the Microsoft
Windows XP SP Firewall documentation for more information on how to allow
create exceptions to allow connections from these applications if you still
have difficulties.
-
There are cases during an update to Palm OS Developer Suite where dialogs
requiring responses may sometimes not be in focus, being obscured or hidden by
other windows. An example of such is changing the focus window in Windows 2000
and XP via switching applications or minimizing/maximizing windows may
sometimes hide or obscure dialogs that require responses. For Palm OS Developer
Suite, this may result is a seemingly unresponsive application when in fact
it's waiting for the user to make a selection in a dialog not in focus. To get
focus back to the dialog and continue with the application, you can try the
following:
-
Select the Palm OS Developer Suite application from the task bar usually
located at the bottom of the display. This should bring it in focus.
-
If that doesn't work, bring up the Task Manager application via ctrl-alt-delete
and then selecting Task Manager, and then selecting the Applications tab. On
that tab, find and highlight Palm OS Developer Suite and then select the Switch
To button to get focus on the application.
This sections lists significant issues, defects, and bugs in Palm OS Developer
Suite known at the time of the release of this version of the product.
Install/Uninstall/Update
-
Although the "Complete" install allows you to specify a drive letter other than
"C:", the installer currently checks for space on the C: drive by default. If
you do not have sufficient space on your C: drive, the "Complete" install does
not continue. To install on a drive other than the C: drive, select the
"Custom" install.
-
If you have the latest version of Cygwin installed on your system and then
attempt to install the Palm OS provided version of Cygwin, the Palm OS
Developer Suite Installer may crash. However, you'll also see a dialog noting
that the latest version of Cygwin conflicts with the attempts to install the
Palm OS provided version. To get Palm OS Developer Suite installed properly,
remove any references to your other Cygwin installation from the PATH. If that
doesn't work, uninstall your other Cygwin installation since you are
installating the Palm OS provided version and two Cygwin versions cannot
coexist on a machine anyway. [BUG70689]
-
You must uninstall Palm OS Developer Suite logged in either as an administrator
or using the same user which was used during the installation. If you do not
use the same user or an administrator, then the uninstallation may not be able
to remove some Cygwin files due to permission restrictions. [BUG66656]
-
If one disables a feature and then re-enables it in the Manage Configuration
dialog, the enable may take a long time with no notification (e.g. up to 2
minutes in the case of disabling/enabling the PalmSource provided Cygwin
feature). During this time, the Manage Configuration dialog will be
unresponsive. The delay is because the system is reinstalling necessary files
outside of Palm OS Developer Suite. The user should be patient and wait for the
reinstallation to complete and the Manage Configuration dialog to become
responsive again. [BUG82517]
-
Uninstalling a feature installed via the Update Manager may not remove all
non-Eclipse code installed by the feature. For example, if one installs the
Palm OS Cygwin feature via the Update Manager and then uninstalls it, the
Cygwin files and directories will not be removed. The user is encouraged to
delete any unnecessary files on their system after uninstalling feature updates
if the files are no longer desired. [BUG82519]
-
Canceling an update operation in the Eclipse Update Manager feature may result
in an incomplete installation of Palm OS Developer Suite or whatever feature
you are updating. This is due to known issues with the Eclipse 3.0.1 Update
Manager feature. The workaround is to restart the IDE and retry but there are
cases where that may not work as well. In that case, reinstalling Palm OS
Developer Suite is the only recourse. Therefore, it is HIGHLY recommended not
to cancel any Update Manager installation in progress once started. [BUG85911]
-
When reverting or uninstalling Palm OS Developer Suite features, you should
ensure that no files being affected by the install are referenced while the
configuration action is taking place. For example, make sure all simulator
instances are shut down, make sure all Cygwin BASH shells are closed, and make
sure no directories that are related to Palm OS Developer Suite components are
being referenced. Windows-based systems do not handle multiple simultaneous
references to system resources very well and that could interfere with the
configuration action preventing its successful result. If you have resources
being referenced, it may prevent the revert or uninstall from successful
completion and the only recourse is to re-install Palm OS Developer Suite.
[BUG85857]
-
If you upgrade the Eclipse feature from 3.0.1 to 3.0.2 and then revert back to
3.0.1, an existing bug in the Eclipse core code will render Palm OS Developer
Suite unusable (i.e. the IDE will not start). Therefore we recommend that if
you upgrade to Eclipse 3.0.2 you should NOT revert back to Eclipse 3.0.2. The
workaround if you want to go back is to uninstall and then reinstall Palm OS
Developer Suite. [BUG86248]
Cygwin and prc-tools
-
If you previously had a Cygwin installed on your system for all users and then
uninstall it, registry entries are left over and not completely deleted. If you
then install Cygwin again and this time select a different root directory and
select "Install for just me", the palmdev-prep command may not be able to be
invoked properly and your 68K development environment will not be successfully
installed. This scenario may also occur if you are upgrading your Cygwin
installation through its setup.exe and change the "Install for" selection and
the Cygwin root directory. To correct this particular scenario, prior to your
reinstallation of Cygwin delete the Cygnus Solutions keys from the registry.
-
gdb does not step into C++ base class constructors when debugging a derived
class constructor. This bug affects debugging applications in Palm OS
simulators since gdb is the underlying debugger used by Palm OS Developer Suite
for Garnet and Cobalt simulator debugging.
Global Preferences
-
The following global preferences are not properly propagated to standard
makefile projects upon creation. The user must manually apply these settings to
the makefiles if the defaults in the standard makefiles are not desired.
[BUG70719]
-
GNU compiler assertions and exceptions settings
-
Protein linker Generate cross references, image map, and symbols list settings
-
In Preferences > Palm OS Development > Target Environment Settings >
Targets > Simulator, clicking "new" will create a new simulator
target and leave the path empty. Currently the target can be saved with an
empty path resulting in an error being generated when trying to use that
target. Be sure to change this path to point to a valid simulator that you wish
to associate with this new simulator target.
68K Development
-
The content assist and open declarations are not functional for 68K and PNO
project development in this release due to numerous outstanding CDT issues.
-
prc-tools contains a partial implementation of C standard library that may
produce compilation or link errors when used in C++ files. For instance, one
known issue is that using
printf()
in a C++ source file results in link errors. This is a known issue with
prc-tools and bugs have been filed with prc-tools to get these issues
addressed. It is recommended to use STLport functionality where possible in C++
source files.
-
If you directly include the SDK 5.4 header files
DLCommon.h
, DLServer.h
,
ExgLib.h
, or ModemMgr.h
in your 68K code, do not use
full paths in specifying the headers. If you use full paths in the include
specification, you may receive warnings about unused pragmas in those headers.
These pragma warnings do not prevent successful compilation of the 68K code and
can be ignored.
PNO Development
-
The content assist and open declarations are not functional for 68K and PNO
project development in this release due to numerous outstanding CDT issues.
-
In this release it is not supported to include any SDK header file in PNO code
except for
AdnDebugMgr.h
and PceNativeCall.h
.
-
When using the
-map
, -symbols
, or -xref
options
in a PNO managed make device target build, the -list
option is set
to link_output.txt
by default. You can change the output file for
those options by modifying the option in the C/C++ Build > Configuration
Settings > Palm OS C/C++ Linker > Miscellaneous > Additional options
field, or you can remove the -list
option altogether from that field to get the output in the C-Build view.
-
The Palm OS Cobalt Simulator attempts to deference the void* pointer value
provided in the second parameter of the PceNativeCall() function. If that value
does not point to a valid memory location, an error dialog with occur in the
simulator stating something similar to:
Emul68KCommon.c(2312): Read from inaccessible address 4
To work around this issue, it is recommended to provide a valid memory location
in that parameter regardless of whether the data is needed or not in the PNO
native code. An example is to have a local variable of UINT32 type and pass in
the address of that variable. This will prevent the internal code deference of
the parameter from producing the error.
-
Global data is not supported in the Palm OS Protein C/C++ compiler when
building PNOs. If you use global data, you get a warning message from the
pelf2bin command about a non-empty data section.
Protein Development
-
When compiling C++ source files for a simulator target in a Protein managed
make project, gcc emits the following warning:
cc1plus: warning: "-std=c99"
is valid for C/ObjC but not for C++
This warning does not prevent successful compilation of the source file and
thus can be ignored.
-
When compiling C source files for a simulator target in a Protein managed make
project, gcc emits the following warning:
cc1: warning: "-frtti" is
valid for C++ but not for C/ObjC
This warning does not prevent successful compilation of the source file and
thus can be ignored.
-
The PalmSource C/C++ compiler documentation lists a
-P
option to preprocess output to a file. This option is not supported in a
Protein or PNO managed make project. To accomplish the same desired output
(that is, get preprocessing output to a file for source files), you can execute
the compiler against the desired file from the command line with the required
options.
-
If you include
<HWREngine.h>
file in your source files to
use Graffiti2 functionality, then for the device target you have to update your
makefile/project to link to the graffiti2lib library explicitly because this
library is not included by linking in PalmOS.a
.
-
When using the
-map
, -symbols
, or -xref
options
in a Protein managed make device target build, the -list
option is
set to link_output.txt
by default. You can change the output file
for those options by modifying the option in the C/C++ Build > Palm OS C/C++
Linker > Miscellaneous > Additional options field, or you can
remove the -list
option altogether from that field to get the output in the C-Build view.
-
The compilers for Protein device and simulator targets do not perform two-phase
template dependent name lookup by default. If you wish to use two-phase lookup
with modern C++ code, this can be enabled for the compiler used for device
builds with the
‑‑dep_name
command line option. The current version of the compiler used for simulator
builds does not support two-phase lookup.
-
A problem with the configuration of the Palm OS Protein C/C++ Compiler runtime
libraries can cause the linker error "duplicated symbol '__cxa_bad_cast'."
Samples
-
The SDK 6 samples cannot build from the command line as is. You must import the
projects into Palm OS Developer Suite via "Import > Existing Project" and
compile there first in order to build from the command line. [BUG81995]
-
The sample "Memo" project generates warnings about incompatible pointer types.
-
Bluetooth Samples and Palm OS Simulator
Palm OS Simulator does not simulate Bluetooth hardware, so to run the Bluetooth
samples, you need to have Bluetooth hardware. If you attempt to run the
Bluetooth samples without Bluetooth hardware, Palm OS Simulator displays an
error message.
-
HardBall and SubHunt samples application do not run on Emulator. HardBall and
SubHunt use newer functions from PalmOS 5.x and these functions do not exist in
the older Emulator ROMs. To run/debug HardBall and SubHunt use the Palm OS
Cobalt Simulator or Palm OS Garnet Simulator.
-
If you choose to custom install SDKs, then building SDK samples using "make"
will not build the samples. To build samples by using "make ", first you have
to import samples in the Eclipse IDE so that it would generate the
auto-generated.mk file.Auto-generated.mk will set all the variables to correct
locations and is already conditionally being included in all the sample
makefiles.
-
Source files for the Protein SDK BooksLib sample library are no longer being
shipped with PODS 1.1. BooksLib is now part of the ROM for Palm OS Cobalt.
Headers files of the BooksLib samples still reside in its original location,
which is sdk-6.1\samples\Libraries\bookslib.
Compiling
This product contains a pre-release version of the PalmSource Palm OS Protein
C/C++ Compiler. Significant known issues in this compiler include:
-
While debugging, objects declared with a typedef will appear as the underlying
type, and not the typedef that the developer compiled with. The value and/or
members will still be visible, but the type may not be what was expected.
-
Link errors are possible with functions containing some forms of static nested
anonymous unions, if debugging is enabled.
-
By default, friend declarations will cause the friended declaration to be
visible to normal lookups. To disable this (and match the C++ standard) the
switch ‑‑no_friend_injection can be added to the C++ compiler
options.
-
By default, declaration-time template dependent name lookup is disabled, to
match the behavior of the included gcc compilers. To enable C++ standard
argument dependent lookup, the switch ‑‑dep_name can be added to
the C++ compiler options.
-
The compiler can emit 'unusual error's in some obscure optimization cases.
We would appreciate reports of any bugs or abnormal behavior that developers
encounter.
Debugging - 68K
-
Sometimes multiple target device settings may appear in the debug configuration
panel for managed make 68K projects. This is indicative that the project file
was produced corrupted by a wizard bug of yet unknown origins. The workaround
is to delete the project and recreate the project and reimport your source into
the new project.
-
The integrated debugger for 68K projects may lose communications with the
device when attempting to run a large application, for example the To Do
example program, due to a communications timeout.
-
Reinstalling a 68K application when DevNub is running can result in
destabilizing the Palm OS on the debug target, e.g. the Palm OS may crash or
not respond. The work around is to delete the 68K application from the Cobalt
Simulator prior to debugging and running using the debugger and DevNub.prc.
-
If you attempt to connect to a 68K device with the debugger before the device
has entered console mode (using shortcut dot two or one of the DotDotTwo or
DevNub programs), the device may crash requiring a physical reset. [BUG57828]
Debugging - PNO
-
Integrated debugging of PNO applications is not supported in this release of
Palm OS Developer Suite. You can debug the 68K portion of a 68K PNO application
from within Palm OS Developer Suite but you will not be able to step into the
ARM-native code in the PNO. In addition, you should comment out the line that
reads "#define __OS6DBG__" at the top of the PNO source file (PNOMain.c or
equivalent). This will disable PNO Debugging calls which would otherwise cause
the device to crash when debugging from within the Palm OS Developer Suite. If
you wish to debug inside the PNO code, you must use the standalone Palm OS
Debugger.
Debugging - Protein
-
There is a known issue with debugging of multithreaded Protein applications on
the Palm OS Cobalt simulator. The cause is as of yet unknown, but the result is
that one cannot debug multithreaded applications properly. While it occurs on
all machine types, it has been noticed to occur more frequently on multiple CPU
machines. [BUG66669]
-
There is a known issue with debugging Protein applications on Cobalt devices
from within Palm OS Developer Suite where continually stepping out of the code
may cause the device to freeze. The workaround is to use the standalone Palm OS
Debugger application. [BUG70676]
Debugging - General
-
In order to watch expressions in Palm OS Developer Suite, you must use "Add
Expression" in the Debug perspective to see the values. This is a known CDT
issue.
-
There is a known issue that the under certain scenarios the 'Evaluate' button
may not work in the Memory view in the Debug perspective. If you go to the
address text field in the Memory view and paste in an address and then hit the
'Evaluate' button, the memory displayed may not be updated. The workaround is
to hit the 'Enter' key after pasting in the address in the address text field;
hitting enter works while the Evaluate button does not always work. [BUG71236]
-
There is a known display issue in the Debug perspective in which symbols may
not available for viewing. If the Debug perspective needs to be opened after
hitting a breakpoint , then the wrong thread may be selected in the top left
panel (called the Launch View). The user can collapse that thread and expand
the correct one (typically the second from last thread in the list) and select
the function in the stack trace, thus bringing up the source file with the
breakpoint. Also, this happens only if the Debug perspective is not already
open, so the workaround is manually opening the Debug perspective first.
[BUG64868]
-
There is a known issue with termination of a debug session. If you attempt to
terminate a debug session by selecting the top-most tree item in the Debug view
in the Debug perspective (the top-most tree item is usually the application
name followed by Palm OS Application) and then right-clicking and selecting
Terminate, the debug session on the debugging target (e.g. simulator or device)
will not terminate. You must then either reset the device or close the
simulator in order to recove that debugging target. The workaround is to use
the Terminate button from the Debug perspective toolbar (the red square). You
can also right-click and terminate on the Palm OS Debugger entry (the second
entry in the tree in the Debug view). [BUG70653]
-
There is a known issue with viewing global variables in the Variables view that
affects 68K debugging and Protein device debugging. During debugging, if the
user right clicks in the Variables view and selects "Add Global Variables" from
the menu, the list of global variables will be empty. The workaround is to add
the global variable in the "Expressions view" by right clicking in the view and
selecting "Add Watch Expression" and then explicitly typing out the variable
name. [BUG68274]
-
The current CDT architecture for debugging applications utilizes the MI
interface of gdb for debugging command invocation and interpretation.
Unfortunately console output to sdtout and stderr in applications being
debugged also pass through this MI interface and are potentially misinterpreted
as MI commands. This affects printf statements in applications running in Palm
OS Simulators. Any printf statements (or any output to stdout or stderr for
that matter) beginning with a number or the characters ^, *, +, =, ~, @, or
& can be misinterpreted by the CDT debugging code. The result is either
malformed console output or worse yet debugging failures. The workaround for
this issue is to ensure that all console output not begin with the previously
specified characters or numbers. It is recommended to begin all output either
with spaces or the application name to avoid this issue.
-
The Palm OS simulators and the Palm OS emulator may share the same TCP/IP port
for debugging, especially in workspaces created using Palm OS Developer Suite
1.0.0. The result of this is that you must ensure that only one instance or any
of the simulators or emulators is running at one time when you try to debug.
For example, if an instance of simulator is running but you try to launch a
debug session targeting an emulator, the debug session will instead use the
simulator. The workaround is to always close your simulators and emulators
after stopping a debug session.
-
The Palm OS Cobalt simulator may freeze if you've completed a Run session in a
simulator instance and then immediately started a Debug session without first
shutting down the Simulator. The workaround is to shut down the simulator
instance after the run session. The debug session will then automatically
launch a new simulator instance.
-
When debugging using the standalone Palm OS Debugger application, breakpoints
will (by default) automatically be saved and restored from one debugging
session to another. Breakpoints are referenced by source file and line number.
If a source file has been changed, the saved line number(s) may become
incorrect. To avoid this, you can manually remove the ".pud" file that was
written in the same directory as the built ".prc" file. Another option is to go
to the "Debugger UI: Session" preference panel and change "Automatically
restore session settings for executables (exe.pud)" to "False". This will cause
the debugger to ask you whether you wish to restore old breakpoints from a
saved ".pud" file.
-
Known issues with stepping into shared library calls:
-
Stepping into a function call of a shared library for which you do not have
source code is not supported, as Palm OS Developer Suite does not support
stepping at the assembly language level. Attempting to step into such a library
will end your debugging session.
-
Stepping into a function call of a shared library for which you do have source
code will work as long as you single-step through the shared library's
call-stub function, provided that the library has already been loaded. If the
library has not yet been loaded then the library loader will be invoked and you
cannot step through that code (see previous issue). [BUG69310]
-
To debug your shared library, either set a breakpoint inside the shared
library, or be sure that the library has already loaded before attempting to
step into a library call from the calling code.
-
There may be some problems with certain configurations or usage scenarios
involving device debugging over USB. For example, a crash or abnormal
termination in PalmOSDebuggerMI.exe may be seen when terminating a 68K debug
session, or Palm OS Developer Suite may freeze when initiating a 68K Debug or
Run session. These problems have not been consistently reproduced and may still
exist.
If an "Application Error" dialog appears in PODS when terminating a Debug
session, clicking "OK" should allow subsequent Debug or Run sessions. Resetting
the target device may also help.
In some cases, like when Palm Desktop and HotSyncŪ 4.x are installed instead of
6.x, simply removing the device from the USB cradle and replacing it again can
unfreeze an unresponsive Palm OS Developer Suite. This is the easiest
workaround for the case where trying to Run (not Debug) a 68K target on a
device (over USB) twice in a row causes the desktop machine to reboot.
If device debugging over USB does not seem to be working at all (e.g.
attempting to start a Debug or Run session freezes Palm OS Developer Suite for
a while but eventually times out) there may be a DLL conflict. Other installed
software may cause the Microsoft C runtime library to deadlock when Palm OS
Developer Suite attempts to connect to the target device. Identifying the
source of this conflict can be difficult, but cases have been found where
removing (for example) an installed graphics tablet driver (which was patching
a system DLL to provide customized per-application settings) solved the
problem.
Other workarounds for USB debugging problems include:
-
Making sure the path to the USBPort DLL in Window > Preferences > Target
Environment Settings > Device > Device (USB) > USB Library Path
is set to "USBPort-POD.dll". Another option (if you have HotSyncŪ 4.x
installed) would be setting the path to the USBPort.dll file which is located
in the Palm (OS) Desktop folder, typically at C:\Palm, C:\Program Files\Palm
Desktop, or C:\Program Files\Palm OS Desktop (unless this causes freezes or
timeouts as described above).
-
Upgrading to Palm OS Desktop (and/or HotSyncŪ ) version 6.0 or later.
-
Using a serial connection to the device (if possible) instead of USB.
-
Using the standalone version of the Palm OS Debugger (the "ladybug" button on
the toolbar in the Palm OS C/C++ perspective) instead of PODS-integrated
debugging. Additionally, the standalone PalmOSDebugger.exe can be found in the
"Palm OS Developer Suite\PalmOSTools\Palm OS Debugger" folder. When running
Palm OS Debugger for the first time, be sure to import the correct preset
preferences file. To do this, select "Preferences" from the "Edit" menu, then
click "Import", locate the "Preset Prefs" folder, and select the correct file
to match the desired debugging configuration.
-
If one or more spaces is used in the name of a Protein application targeting
the Cobalt Simulator, there is a known issue in that breakpoints will not be
recognized when debugging this application. The workaround is to remove any
spaces from the application name and then rebuilding the application before
debugging. For standard make projects, the application name is changed in the
file
makefile
. For managed make projects, select the Manage...
button on the File > Properties > C/C++ Build property page for a
project and change the artifact name. [BUG82264]
General
-
Avoid using periods in project names. Palm OS Developer Suite may not be able
to automatically run an application on Palm OS Simulator if you use periods in
your project name.
-
When specifying directories in project properties, you must either escape any
whitespaces in the directory string or double quote the string so that the make
system an the underlying prc-tools system can properly interpret your
directories.
-
The "Apply Defaults" button on a managed make project's C/C++ Build property
page does not restore the default preferences set in the global Palm OS
preferences. This is due to a system limitation in CDT, so it is not
recommended to use the "Apply Defaults" if you've changed your default Palm OS
preferences. This will be fixed in a future release of Palm OS Developer Suite.
-
The release of the CDT (C Development Tools) from Eclipse that is included in
Palm OS Developer Suite does not support having source files in any linked
folders in a project. This is a known issue with the CDT and therefore affects
all Palm OS Developer Suite projects that attempt to use linked folders.
-
The Eclipse Help viewer uses Internet Explorer to render the HTML pages. If
your IE security settings are set to "High", no help items are displayed for
topics. The help system also may not work if JavaScript is turned off or if
your firewall blocks port 4995 on your local machine from access.
-
Some key mappings may not work if your operating system is configured for a
locale other than English. For example, the print key mapping (Ctrl+P) doesn't
work when the locale is set to Chinese. It is recommended to always use the
English locale in the operating system when using Palm OS Developer Suite.
[BUG71237]
-
The included documentation in the Workbench Users Guide > Tasks > Updating
features with the update manager > Restoring a saved configuration contains
an error. It incorrectly states "Open the main update manager by clicking Help
> Software Updates > Update Manager. This opens the
Install/Update perspective". This should be "Open the Manage Configuration
dialog by clicking Help > Software Updates > Manage Configuration...
This opens the Manage Configuration dialog". [BUG82682]
Undocumented Features
The Palm OS Protein C/C++ Compiler has a --preinclude
switch that
acts like the prefix file feature in the CodeWarrior compilers. The text of the
file specified by this switch is included before each source file, as if it
were #included immediately before the source text begins. The usage is --preinclude=filename.h
.
Licensing
-
The Palm OS Emulator is licensed under the GNU General Public License (GPL).
Per section 3 for the GPL, the source for Palm OS Emulator available at the
PalmSource website at http://www.palmos.com/dev/dl/dl_tools/dl_emulator/.
-
Cygwin is licensed under the GNU General Public License (GPL). PalmSource has
made modifications to Cygwin to fix bugs and/or enhance functionality. Per
section 3 of the GPL, the patched source is available as part of the Palm OS
Developer Suite download and on the PalmSource website. The patched source is
located in well labelled zip files Palm OS Developer Suite in the directory
<root
install>/eclipse/plugins/com.palmsource.eclipse.cygwin.mods.win32_X.X.X.X
, where X.X.X.X indicates the Palm OS Developer Suite version of the
modifications distributed. The source on the website is located at
http://www.palmos.com/dev/tools/dev_suite.html. Follow the link for
downloading Palm OS Developer Suite. The patches and source are located in the
download area along side the developer suite download.
-
Eclipse 3.0.1 and CDT 2.0.2 are licensed under the Common Public License (CPL).
PalmSource has made modifications to CDT to fix bugs and/or enhance
functionality. The description o fhte patches made is availabie as part of the
Palm OS Developer Suite download and on the PalmSource website. The patch
description is located in Palm OS Developer Suite in the directory
<root
install>/eclipse/features/org.eclipse.cdt_X.X.X.X
, where X.X.X.X
indicates the Palm OS Developer Suite version of the modifications distributed.
The source on the website is located at
http://www.palmos.com/dev/tools/dev_suite.html
. Follow the link for downloading Palm OS Developer Suite. The patch
descriptions are located in the download area along side the developer suite
download.
-
STLport code included in Palm OS Developer Suite requires the following
licensing, copyright, and permission notices:
Copyright 1999,2000 Boris Fomitchev
This material is provided "as is", with absolutely no warranty
expressed or implied. Any use is at your own risk.
Permission to use or copy this software for any purpose is hereby granted
without fee, provided the above notices are retained on all copies. Permission
to modify the code and to distribute modified code is granted, provided the
above notices are retained, and a notice that the code was modified is included
with the above copyright notice.
Copyright 1994 Hewlett-Packard Company
Copyright 1996,97 Silicon Graphics Computer Systems, Inc.
Copyright 1997 Moscow Center for SPARC Technology.
Permission to use, copy, modify, distribute and sell this software and
its documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation.
Hewlett-Packard Company makes no representations about the suitability of this
software for any purpose. It is provided "as is" without express or implied
warranty.
Permission to use, copy, modify, distribute and sell this software and
its documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation. Silicon
Graphics makes no representations about the suitability of this software for
any purpose. It is provided "as is" without express or implied warranty.
Permission to use, copy, modify, distribute and
sell this software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear in supporting
documentation. Moscow Center for SPARC Technology makes no representations
about the suitability of this software for any purpose. It is provided "as is"
without express or implied warranty.
Portions
Copyright (c) 1997 Mark of the Unicorn, Inc.
Permission to use, copy, modify, distribute and sell this software
and its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting documentation.
Mark of the Unicorn makes no representations about the suitability of this
software for any purpose. It is provided "as is" without express or implied
warranty.
-
PalmSource copyright notice:
PalmSource, the PalmSource logo, HotSync, Palm, the Palm logo, and Palm OS are
trademarks of PalmSource, Inc. or its affiliates. All other product and brand
names may be trademarks or registered trademarks of their respective owners.
PalmSource, Inc.
1188 East Arques Avenue
Sunnyvale, California 94085
(408) 400-3000