תוכנות פאלם Multi-segment ב- PODS

udifpalm

New member
תוכנות פאלם Multi-segment ב- PODS

מי שניסה (כמוני) לכתוב תוכנות Multi-segment (כלומר תוכנות בהם גודל הקוד מעל 64K) בעזרת סביבת הפיתוח החינמית PODS (סביבה מבוססת GCC ו-Eclipse למחשבי פאלם המחולקת חינם) יודע שזה לא טריוויאלי. למעשה, אני פשוט לא הצלחתי, התייאשתי, ופשוט מחקתי את PODS מהדיסק הקשיח שלי. הנה לינק שמצאתי היום שמסביר איך בכל זאת להצליח לעשות זאת. yoovee , איפה אתה?
 

IdleThought

New member
הבחורים בפאלם

לא השתמשו מעולם בדוס? אני זוכר שאז היו משתמשים בכל מני שיטות מחרידות כמו קבצי OVL בפסקל כדי להתגבר על הבעיה.. שמישהו ימציא בעבורכם מנוע ניהול זיכרון, זה ממש מביך
 

udifpalm

New member
במקרה שלא ידעת

פיתוח תוכנה "סטנדרטי" לפאלם מתבצע בשפת האסמבלי של מעבד ה- 68k "שהניע" את מכשירי הפאלם עד גרסה 4.(הפיתוח עצמו מתבצע בד"כ ב- C כמובן - הכוונה היא שהקומפיילר מייצר קבצי EXE, (הנקראים דוקא PRC בעולם הפאלם), המקומפלים לאסמבלי של 68k. הקובץ הנ"ל מורץ ע"י מנוע JIT בשם PACE (ר"ת של Palm Assembly Compatibility Environment או משהו דומה) המתרגם אותם בזמן ריצה לאסמבלי של ARM שהוא המעבד של כל מכשירי פאלם מגרסה 5 ומעלה. הדבר הנ"ל איפשר לפאלם להמשיך לתמוך בכל התוכנות הישנות במעבר לגרסה 5 בצורה שקופה לחלוטין ואחוזי חוסר תאימות די זניחים. ניתן דרך אגב לתכנת ישירות ל-ARM, אבל באופן רשמי אי אפשר לגשת ל- OS אלא רק להריץ מקטעים חישוביים. באופן פרקטי צצו כל מיני SDK צד ג' המאפשרים תכנות מלא ב- ARM (לא ניסיתי). לענינינו, באסמבלי של ה- 68k ניתן להקטין את התוכנה ע"י שימוש ב-relative addressing של 16 ביט. על מנת להריץ קוד גדול יותר פשוט צריך לחלק אותו לכמה בלוקים. אין פה שום דבר מסובך באופן עקרוני. בקומפיילר של metrowerks אני פשוט פותחאת ה-"עץ" של הסגמנטים ב- GUI ופשוט גורר את הקובץ לסגמנט המתאים. הקומפיילר עושה את כל השאר. זה פשוט PODS שהופך את הכל למסובך.
 

Ran sch

New member
נשברתי לבנתיים

לפני לא הרבה זמן ניסיתי להתחיל ללמוד לתכנת לפאלם - ולבסוף נשברתי - השילוב של תכנות שובר שיניים (לדעתי לפחות) שהדמיון שלו ל C רק עשה לי את החיים יותר קשים - ביחד עם חוסר זמן של סטודנט לבסוף ייאש אותי לגמרי. עם זאת אני חושב שאני אשאר כאן בפורום כחבר מן המניין (עד שיסלקו אותי החברה מהפרסומות). וכחבר שכזה חשבתי להתעדכן קצת על הפרוייקטים שעובדים עליהם כאן ? מישהו מתכנן לנו משהו נחמד ? יש פרוייקטים משותפים ? יש בכלל בסיס לפרוקייטים שכאלה (ז"א אם אחד כאן עובד על PODS ואחד אחר על גרסא קנויה של metro... אז זה עלול להיות יותר קשה לעשות עבודות ביחד) אני כשלעצמי עברתי לתכנות לטיפשים (-basic for palm hotpaw) - זה תכנות שאי אפשר לקמפל אבל ניתן להריץ עד 4 תוכנות כאלו על הפאלם מבלי לקנות את התוכנה.... (חינם אין כסף !) אני יכול להמליץ בחום על התוכנה - נניח שאתם ניצבים בפני חישוב רקורסיבי שהמחשבון שלכם לא מסוגל לעשות / אתם לא בסביבת MATLAB במקרה כזה אין לכם איך לפתור ... או למשל אתם צריכים תוכנה שתעשה משהו מאוד קטן ומאוד מסויים --- זה לא שווה לכם את הבזבוז זמן של לתכנת ממשק שלם לקמפל ולסנכרן לפאלם... בדיוק בשביל המקרים האלו התוכנה הזאת פשוט גאונית גם אם נדרשת לכם תוכנה שצריכה להיות מאוד מאוד גמישה - פשוט משנים את הקוד כל פעם שהיא צריכה לעשות משהו שונה... תוהה אם למישהו כאן יש המלצות לגבי ה- onboard-C (יעיל ? נוח ? הולך טוב עם חוטיני ?) ולבסוף אני אספר על הרעיון הנוכחי שלי (כרגע ועד להודעה חדשה אני מתכנן להוציא אותו רק בגרסת hotpaw) תוכנה שמבצעת בדיקות שמיעה - בשלב הבא היא תייצר גרף בסקאלה לינארית (לעומת סקאלת DB בה משתמשים בבדיקות שמיעה אמיתיות) של השמיעה שלנו כפונקציה של תדר (מאפשר לאנשים לעשות לעצמם בדיקת שמיעה ראשונית כדי לזהות נזק...) התוכנה תוכל גם לשמש לבדיקת תגובת התדר של רמקולים / אוזניות (למי כמוני שאין לו כמעט שום דרך להשוות בין כמה סוגים של רמקולים / אוזניות)
 

IdleThought

New member
הממפ

כתבתי פרוייקט לפאלם פעם , שהשתמש ביכולות של מעבד OMAP וזה די היה סיוט (למרות שחייבים להוריד את הכובע בפני טקסס אינסטרומנטס, הם באמת עשו שם משהו מדהים) ואני ממש לא רואה את עצמי חוזר לפאלם מתישהו בגלגולים הנוכחיים שלו .. כמובן שברגע שיהיה PORT חביב ונחמד ל MONO יש מצב שאני אחזור בי ..
 
למעלה