
Abstract
This document was inspired by my efforts to get a functioning development environment up and running on a Linux machine. Trying to put a development environment together under the Cygwin environment infuriated me so I focused on getting everything working under Linux. This will explain what software needs to be installed which includes an emulator, compiler, and SDK. This will also explain what configuration issues need to be addressed. Introduction A friend and I one day said, "Wouldn't it be great if we could write our own palm apps?" It sounded like a great idea, so I started looking into what it would take to get a development environment put together. He is primarily a win32 user, and I am almost soley a *nix user. Since win32 was a common platform available to both of us I began this process by looking into available tools. For win32 there are two main ways to go for C development. One of these is Metrowerk's CodeWarrior for Palm, which was expensive for our hobby style project. The other option was using the PRC tools that would run under the cygwin environment. If you are not framilliar with the cygwin package, is it available from http://sources.redhat.com/cygwin/ . The cygwin package makes your win32 machine feel a lot more like a *nix machine and provides win32 ports of many common *nix tools (ls, dd, gcc, etc.). After fighting with the tools on win32 for most of a week and getting nowhere, I decided to scrap the idea of developing on win32. Therefor, Linux, specifically RedHat 6.0 and 6.2, was the next choice and the ultimate solution. There are several pieces that need to be assembled to get everything working and usable on Linux. Here is a basic list of what is needed:
Installing the Compiler and Its Dependents
A few pieces need to be installed for everything to function. These are the
PRC tools, a SDK from palm, and the PilRC tool. The PRC tools are a port of
the GCC tools we all know and love, but they produce output for the Palm.
The SDK is a few libraries and a whole bunch of header files for the Palm
API. Finally, the PilRC tool is the resource compiler.
The PRC tools can be found at http://sourceforge.net/projects/prc-tools/.
This is a bunch of patches to binutils, gdb, and GCC, and linker tools to
support the PalmOS. RPM's are also available at http://www.palmos.com/dev/tech/tools/gcc/dist/prc-tools-2.0-1.Linux-i386.rpm.
Next comes the SDK's. These are available from the palm.com site. The
PalmOS 3.5 SDK (the latest as of this writing) is available only to
registered developers in palm.com's provider pavillion. Earlier SDK's are
available here: http://www.palmos.com/dev/tech/tools/gcc/dist/palmos-1-2-3.1-sdks-1.tar.gz.
The 3.5 SDK contains documentation that covers previous SDK's as well. The
older SDK's do not contain these docs.
The PRC install will make a directory called /usr/local/palmdev . The sdk's
should be untar-ed here. A symbolic link called "sdk" should be made that
points to the SDK that you wish to use. For exmaple, this is what my
/usr/local/palmdev looks like.
[scooter@scooter scooter]# ls -l /usr/local/palmdev/
total 28
drwxr-xr-x 4 root root 4096 Mar 8 2000 Palm OS 3.5 Support
drwxr-xr-x 3 root root 4096 Nov 1 10:03 doc
drwxr-xr-x 2 root root 4096 Dec 21 1999 include
drwxr-xr-x 3 root root 4096 Nov 1 10:02 lib
lrwxrwxrwx 1 root root 7 Nov 1 10:07 sdk -> sdk-3.1
drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-1
drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-2
drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-3.1
The last tool that is needed is PilRC which compiles all of the resource
files to generate a binary. This has most to do with buttons, menus, and
placement of graphics on the screen. It can be found at http://www.ardiri.com/index.cfm?redir=palm&cat=pilrc.
Once all of these tools are put together you have a functional development
environment. We are used to using gcc for compiling C programs on Linux so
the C compiler for PalmOS is m68k-palmos-gcc. Most of the PRC compiler
tools are named m68k-palmos-* .