Developing/Programming PalmOS Applications CS449 Introduction to Systems Software
Palm Application Development & GUI Programming C Program hello.c SayHello( MainForm ); Palm Resource file (GUI Elements) hello.rcp FORM ID MainForm AT ( ) USABLE BEGIN TITLE "Hello World" END C header file hello.h #define MainForm 1000 hello.prc PalmOS executable
Palm Resource file (GUI Elements) Forms Alerts Menus Tables Lists/Popup Buttons Push buttons Check boxes Sliders, scrollbars Labels Look Up: Form bitmaps TextFields
Compiling & Linking a PalmOS Application (Hello World example) C source code (hello.c) C Preprocessor Header file (hello.h) (1) C Compiler m68k-palmos-gcc -c hello.c –o hello.o C Object code “Motorola binary code” m68k-palmos-gcc hello.o -o hello PalmOS Resource Code (hello.rcp) (3) PilRC hello.rcp UI Resource Compiler Convert.rcp to binary formatted A number of.bin files Palm Executable (.prc) (2) Post-Processor m68k-palmos-obj-res hello Separate code Resources typeXXX.myfile.grc files (type=code, data, pref, rloc) (4) Build-prc Post-Linker Combine all objects into a binary.prc Palm executable build-prc -t appl -o hello.prc -n “Hello” -c *.grc *.bin
Programming Tools Without IDE (Command-line) PRC-tools: m68k-palmos-gcc (C Compiler) m68k-palmos-obj-res (gcc Post-Processor) PilRC (UI Resource Compiler) Build-PRC (PalmOS Post-Linker) Cmd-line debugger Test/Run executable: Simulator Emulator PDA (HotSync) With IDE (GUI) Good Environment to: Edit/Develop Code Build Project Run Step in/out during execution Trace/Report Built-in PRC-tools Built-in Debugger Test/Run executable: »Built-in Simulator »Built-in Emulator »PDA (HotSync) Cygwin ShellPalmOS Developer Studio
Cygwin Shell
Palm Examples: Hello World Program GUI & Run
PalmOS Developer Studio
Makefile-1 Script file to automate program compilation and linking (making) Makefile is a list of rules and commands: target : source file(s) command (must be preceded by a tab) CC=gcc CFLAGS=-g hello: hello.c $CC $(CFLAGS) -ohello hello.c
Makefile-2 PalmOS Application Makefile
Examples: 1.CS Calculator
Example-2: IR Chat Program - Serial Communications using IR/Serial Ports
Example-3: Attack Game - Serial Communications
Example-4: GPad Program - Communicating over a network with TCP/IP
Example-5: VFS Program – Virtual File System
Palm OS Architecture Hardware Operating System Kernel Library (Managers) Applications Memory Manager Window Manager Database Manager Comm. Manager VFS Manager User Mode Kernel Mode …