PDAce   PDAce   PDAce
 
סקירות ומדריכים
חפש
 
דף הבית
סקירות ומדריכים
השוואת מכשירים
מילון מונחים
תוכנות מומלצות
קישורים לאתרים נבחרים
הוראות שימוש באתר
מי אנחנו
טאגליינס
 
החיים מבעד ל-PDA
PDAce - Stories שדרוג ה-ROM ל-WM6 של ה- TyTN של עומרי האוזר ושל HP 2790 של איילת
הספקות, ההתלבטויות, הפחד, התקווה, האימה, התפילה – סיפורן של חברות אמיצה והרפתקה.

 
 
טאגליינס

פיתוח תוכנה לפאלם

 
מאת: אודי פינקלשטיין
סביבות פיתוח תוכנה ב- ++C/C למכשירי פאלם
מטרת מאמר זה איננה ללמד איך לתכנת בכלל, או ++C/C בפרט, ובוודאי לא באופן ספציפי על מכשירי פאלם! מאמר זה אמור בסה"כ להציג את סביבת הפיתוח למכשירי הפאלם, עם אוריינטציה לתכנות ++C/C.

תחנה ראשונה - רישום באתר חברת PalmSource

לפני מספר שנים פוצלה חברת פאלם המקורית לשתי חברות: PalmOne המייצרת חומרה, וחברת PalmSource המייצרת את מערכת ההפעלה ומוכרת זכיונות ל-PalmOne וזכיינים אחרים. לאחרונה נמכרה חברת PalmSource לחברה יפנית בשם Access, ואילו חברת PalmOne רכשה בחזרה את זכויות השימוש בשם Palm וכך היא נקראת עתה.
באתר חברת PalmSource נמצא חומר עזר למפתחי תוכנה הכולל SDK, כלי פיתוח, פורומים לדיון, ומאגר מרכזי לרישום אפליקציות. בשלב ראשון, יש להירשם באתר עם שם משתמש ייחודי על מנת לקבל הרשאות להורדת כלי הפיתוח וה- SDK.

היסטוריית מערכות ההפעלה של פאלם

ניתן לחלק (כמו כל דבר בחיים) את מערכות ההפעלה של פאלם לשלוש:

  • מערכות ההפעלה עד גרסה 4.1 רצו על גבי מעבדים מסדרת 68k של חברת מוטורולה. כל התוכנות שרצות על מערכת הפעלה זו מקומפלות לשפת מכונה של מעבד ה- 68k.
  • מערכות ההפעלה בגרסאות ‎5.x השונות מבוססות על מעבד ARM, אך כוללות "אמולטור" המאפשר להריץ ללא שינוי את כל התוכנות הישנות שנכתבו למעבד 68k. למעשה אף יותר מכך - תוכנות שאינן תוכנות מערכת אמורות להמשיך להיכתב למעבד ה- 68k ואין דרך נוחה לכתוב קוד למעבד ה-ARM ישירות. מערכת הפעלה זו מכונה Garnet.
  • מערכת ההפעלה בגרסה 6‎.x נקראת Cobalt. מערכת זו נכתבה מחדש עבור מעבד ה- ARM תוך ניצול יכולותיו. היא תומכת בריבוי משימות אמיתי וחומרה מתקדמת. מערכת זו יכולה להריץ גם תוכנות ישנות על ידי אמולציה. על מנת לנצל את תכונותיה באופן טבעי, יש להשתמש ב- API חדש שנקרא Protein

באתר PalmSource נראה שניתן להוריד SDK למערכות מבוססות Garnet או למערכות מבוססות Protein

ובכן, עבור איזה API כדאי לכתוב - 68k או Protein?

התשובה פשוטה למדי. אם ברצוננו לתכנת להתקנים שגם קיימים במציאות ואפשר להחזיקם ביד, ואפילו לקנות, נתכנת ל-68k על מנת להריץ תוכנות על מכשירי Garnet.
מערכת Cobalt וה-API שלה (Protein) קיימת רק על גבי סימולטור, למעט מודל יחיד של טלפון מחברה בשם oswin שנמכר באחד מכנסי המפתחים במספר יחידות בודדות.
אין גם שום טעם לבזבז את זמננו על Cobalt כהשקעה במערכת ההפעלה העתידית של פאלם, היות שמערכת זו, הידועה בשם ALP, לא תהיה מבוססת על Cobalt - לא מבחינת ה-Kernal (לינוקס) ולא מבחינת ה- GUI. לקוד שנכתב למערכת Garnet יש סיכוי טוב יותר לרוץ על ALP מאשר קוד שנכתב ל-Cobalt.

אוקיי, הורדנו SDK. מה הלאה? באיזה קומפיילר נשתמש?

על מנת לכתוב תוכנה ב- ++C/C אנו זקוקים לקומפיילר. בהמחה שאנו מפתחים על גבי מחשב PC המריץ Windows, יש 3 אופציות מעשיות (מתוכן 2 אופציות בעלות הבדלים קוסמטיים בלבד):

הקומפיילר המוביל נקרא CodeWarrior והוא נכתב על ידי חברת Metrowerks. הקומפיילר כיום בגרסה 9.3, אך נראה שפיתוחו מעצר, ולא נראה שתצא איזו שהיא גרסה מתקדמת בעתיד.קומפיילר זה מהווה את סטנדרט דה-פקטו לפיתוח רציני בפאלם, ולמיטב ידיעתי הינו משמש גם לקומפילציה של מערכת ההפעלה עצמה).

הקומפיילר הנוסף הוא GCC, המופץ ב-2 צורות:
  • tools היא סביבת command line לפיתוח עבור פאלם, הכוללת את GCC ומספר כלים נוספים הספציפיים לפיתוח של פאלם. הסביבה רצה גם על Linux וגם על Windows. למיטב זכרוני הסביבה אינה כוללת SDK ויש צורך להוריד אותו בנפרד. Prc-tools ניתנת להורדה בכתובת http://prc-tools.sf.net
  • 2 היא סביבה מבוססת Eclipse הכוללת בתוכה את הכלים של prc-tools - ומיועדת למפתחים שלא רוצים לעבוד ב- command line. למיטב זכרוני הורדה של PODS כוללת בתוכה את ה- SDK. הסביבה כוללת גם קומפיילר לקוד ARM שאינו מבוסס GCC. סביבה זו ניתנת להורדה חינם מאתר PalmSource (לאחר רישום כמובן).

מה לגבי אמולטור/סימולטור?

למי שאינו שולט בהגדרות, אמולטור (בהקשר זה) הינו כלי תוכנה המריץ דימוי של חומרה אמיתית עד רמת הרגיסטר, מריץ מערכת הפעלה אמיתית של מכשירים קיימים, ולכן מאפשר להריץ תמיכה עברית תקנית תחתיו. חסרון של האמולטור לפאלם הוא שאין אמולטור למכשירים מבוססי ARM - רק עבור מכשירי 68K ומערכת הפעלה 4.1 (לכל היותר). האמולטור אגב, מבוסס קוד פתוח.
סימולטור מריץ למעשה אמולטור 68k שמחובר לגרסה של מערכת ההפעלה שמקומפלת ישירות על ארכיטקטורת ה-PC ומסיבה זו הסימולטור לא ממש תומך ב-hacks ותוכנות שחודרות אל תוך קרבי מערכת ההפעלה. למיטב ידיעתי הסימולטור אינו מסוגל להריץ תמיכה עברית עקב סיבה זו. יתרונו של הסימולטור הוא האפשרות להריץ תוכנות המצריכות את מערכת ההפעלה בגרסה 5, ולבדוק תכונות כמו תמיכה במסכי HVGA ותכונות יחודיות למחשבי סוני (בגרסת הסימולטור המתאימה כמובן).
קיים אמולטור לגרסה 5 שנקרא Janeiro והוא מדמה לוח פיתוח מבוסס ARM שמריץ PalmOS 5. התוכנה מחולקת רק למנויי Inside Track (תוכנית המפתחים של PalmSource שהרישום אליה עולה $150 לשנה). האמולטור אינו ניתן להשגה למי שאינו חבר בתוכנית זו.

כלי פיתוח וספריות נוספות

קיימים SDK נוספים לדוגמא:
CDK לפיתוח מודולים לסנכרון בין הפאלם ל-PC (ה-CDK מיועד לכתיבת תוכנה שרצה על ה- PC ומקשרת עם הפאלם).
SDKs משלימים של יצרני מכשירים, כמו למשל SDK של סוני למכשירי ה- Clie , של Palm למכשיריה, SDK של Fossil, וכו'. כל ה-SDK הנ"ל משלימים את ה- SDK של PalmSource ואינם באים במקומו.
קיימים SDK נוספים לתוכנות צד ג' (לדוגמא ישנו API ל- Piloc, תמיכת העברית לפאלם, המאפשר לשלוט על בחירת השפה מתוך אפליקציות). חלק מה- SDK הנ"ל מגיעים יחד עם CodeWarrior, אם כי לא בהכרח בגרסאותיהם העדכניות ביותר.
 
6-Sep-2006