Upload
avidan
View
26
Download
0
Embed Size (px)
DESCRIPTION
Developing/Programming PalmOS Applications CS449 Introduction to Systems Software. Palm Application Development & GUI Programming. C Program hello .c SayHello( MainForm );. C header file hello .h #define MainForm 1000. hello .prc PalmOS executable. Palm Resource file (GUI Elements) - PowerPoint PPT Presentation
Citation preview
Developing/Programming
PalmOS Applications
CS449Introduction to Systems Software
Palm Application Development & GUI Programming
C Program
hello.cSayHello( MainForm );
Palm Resource file (GUI Elements)
hello.rcpFORM ID MainForm AT (0 0 160 160)USABLEBEGIN TITLE "Hello World"END
C header file
hello.h#define MainForm 1000
hello .prcPalmOS 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 68000 binary code”
m68k-palmos-gcc hello.o -o hello
PalmOS Resource Code (hello.rcp)
(3) PilRC hello.rcpUI 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-prcPost-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 Shell PalmOS 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
Example-5: VFS Program – Virtual File System
Palm OS Architecture
Hardware
Operating System Kernel
Library (Managers)
Applications
MemoryManager
WindowManager
DatabaseManager
Comm.Manager
VFSManager
User Mode
Kernel Mode
…