3d7 פורסם 2007 בדצמבר 19 Share פורסם 2007 בדצמבר 19 שלום! אני מחפש Tutorials (ספרים ו/או קבצי PDF) המסבירים היבטים חשובים (מעין קורס מזורז) הקשורים לתכנות בשפת C עבור מעבדי ARM ו-DSP. אשמח לקבל המלצות. תודה מראש! קישור לתוכן שתף באתרים אחרים More sharing options...
Niseg פורסם 2007 בדצמבר 20 Share פורסם 2007 בדצמבר 20 בגדול אתה יכול לכתוב הכל בc ולא תשים לב כלכך לפלתפורמה אולי רק בהבדלי אנדיאנים שזה חשוב לחלק מהתוכניות . אני מתעסק בעיקר ב PPC אבל אבל לא יוצא לי יותר מדי להשתמש בASM בעיקר אני משתמש בזה למקרים מסוימים כמו הפקודה של cntlz שסופרת leading zeros שימושית להמרות אודיו . אפשר גם לקרוא שעון של המערכת בפעולה אחת של מעבד עם mftbl שאפשר להשתמש בו בשביל בדיקות זמנים. יש לPPC גם פקודות שעושות הזזות בינאריות ואז and עם איזה mask . לרוב הcompiler יודע להמיר פקודות להזזות בינאריות מכל מני סוגים. החסרון הגדול של PPC שאין פעולת mod וחילוק בדומה למערכות אחרות זה פעולה יקרה. בגלל העובדה הזאת עדיך להשתמש במערכים מעגליים או queues בגודל של חזקה של 2 . לרוב כשמתחנתים בARM זה מאוד תלוי במערכת הפעלה אני לא מכיר כלכך את האכיטכטורה הזאת אבל זה בגדול RISC . יש ARM עם מעיצים כמו ה XSCALE שעבר לmarvel מאינטל . יש עוד כמה ARM של כל מני חברות אחרות . בגדול החברה שיש לה פטנט על הARM לא מרוויחה מיצור רחיבים אלא מתיכנון רכיבים. השימושים של ה ARM הם לרוב לPDA ולטלפונים סליולרים. לTI יש ARM שנקרא OMAP או משהו כזה שיש בו גם DSP קטן. יש כמה מערכות הפעלה שעובדות עם ARM הכי מוכרת זה windows mobile אני חושב שגם palmos יש לARM אבל אני לא בטוח כי אני חושב שפעם הם היו על ווריאציה של ה 68K שנקרא dragonball . אני די בטוח שיש לינוקס לARM ואפשר גם להריץ על ARM vxworks וsymbian . אני לא זוכר את כולם כי הרבה מערכות הפעלה עובדות ב ARM.בקשר ל DSP אני יודע שהיתרון שלהם הוא בעיקר שהם מסוגלים לעשות הרבה פעולות של multiply accumilate שנקרא בקיצור Mac במקביל. רוב ה DSP מסוגלים לעשות כמה Mac של 16 ביט בשעון אחד . אני מכיר את ה starcore שfreescale מתעסקת איתו אבל יש גם את ה DSP של TI שהם הרבה יותר פופולארים. המעבד שאני מכיר זה msc8101 , msc7116 . אני לא ממש מתכנת ב DSP אבל יש לי את הסביבה אם יתחשק לי אבל זה לא ממש העבודה שלי. המעבדים האילו הם לרוב עם 4 Mac + שתי פעלות ALU לשעון אבל אני לא בטוח . כל ה Mac האילו שימושיים לפילטרים וקורלציות וכל השטויות שאנשי DSP עושים. לרוב משתמשים ב fixed point שזה רפרזנתציה שדומה ל float רק בtwos compliment ועם exponent קבוע שהוא לרוב שלילי . למשל אם אתה רוצה מספרים בין 1 ל0 עם מספרים של 16 ביט אתה יכול להשתמש ב exponent של מינוס 14 . בכל מקרה בdsp עושים הרבה אופטימיזציות ב asm . קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2007 בדצמבר 21 Share פורסם 2007 בדצמבר 21 בדפי WIKIPEDIA יש מדי פעם קישורים ל-tutorials. תחפש נוזאים כמו ARM, DSP וכו'. קישור לתוכן שתף באתרים אחרים More sharing options...
3d7 פורסם 2007 בדצמבר 21 מחבר Share פורסם 2007 בדצמבר 21 מה שחשוב לי לדעת זה ההיבטים הייחודיים שרצוי לדעת כאשר כותבים קוד עבור ARM ו-DSP.ב-ARM מעניין אותי בעיקר תכנות ללא מערכת הפעלה עבור מערכות Embedded (לא PDA או טלפונים סלולאריים).אני מחפש Tutorials המסבירים למתכנת בשפת C את הדברים החשובים שהוא צריך לדעת כאשר הוא עובר לתכנת עבור ARM או DSP.אני מעוניין בהיבטים בתכנות עצמו (אופטימיזציות) ובדברים שחשוב לדעת במהדרים נפוצים.חיפשתי חומר בוויקיפדיה, ולא ממש מצאתי. קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2007 בדצמבר 21 Share פורסם 2007 בדצמבר 21 ברוב מערכות ה-embedded עובדים עם מערכת הפעלה כלשהי כבר שנים.רק במערכות קטנות במיוחד (מבחינת תוכנה) תמצא לפעמים איזה מיקרובקר ללא מערכת הפעלה.כמה דברים שכדאי לדעת כשעובדים ב-embedded:* הרבה פעמים יש זכרון משותף בין כל התהליכים (או threads או tasks). פירוש הדבר שכשיש דריסת זכרון, היא יכולה להגיע מכל רכיב בתוכנה אל כל רכיב אחר.* הקצאות זכרון דינמי הן בעייתיות מכמה בחינות: ראשית הן יקרות יותר, שנית הן נוטות להשפיע לרעה על יציבות המערכת עקב פרגמנטציה וזמן הקצאה לא דטרמיניסטי. הרבה פעמים מתכננים את התוכנה בכוונה להמנע הצורך בהקצאות זכרון דינמיות.* מערכות ההפעלה נוטות להיות שונות מ-general purpose OSs. פשוטות יותר, לרוב ללא שיקולי security. * גודל המחסנית בד"כ קבוע מראש וקטן בהרבה ממה שאתה רגיל. תלוי במערכת, אבל לפעמים אפילו לא תדע שעשית stack overflow עד שהתוכנה תקרוס.* על DSP-ים תצטרך להכיר לא רע את החומרה כדי להגיע לביצועים טובים. איך ה-pipeline בנוי? האם יש code cache? האם קיים DMA? ועוד.* הקומפיילרים, במיוחד ב-DSP, הם לפעמים מוגבלים מבחינת תמיכה ב-C++. גם כשהם תומכים, לא תמיד בהכל. הם מוגבלים גם בעוד דברים.* מצד שני, במיוחד עבור DSP-ים, ישנם קומפיילרים מדהימים ביכולות האופטימיזציה.* תתרגל לדבג עם הדפסות. זה נכון שהרבה בפעמים יש ICE או jtag debuggers ואחרים, אבל הרבה פעמים אין, או שהם לא עובדים, או שזה לא מספיק. באופן כללי דיבוג מערכת embedded הוא סיפור קשה יחסית, ודורש ראייה טובה של התוכנה שאותה אתה מדבג.* תכנות embedded זה כיף, אבל לפעמים נמאס. אחרי הרבה שנים של זה, אני מתחיל לחזור לתכנות desktop ובהחלט הרגשת החופש על desktop היא ממכרת.* אבל זה כיף.האמת היא שזו דיסיפלינה שלמה, ויכולתי לכתוב פה ספר קטן. אבל בטח מישהו כבר הקדים אותי. אולי בAMAZON יש ספרים על הנושא. קישור לתוכן שתף באתרים אחרים More sharing options...
exercise פורסם 2007 בדצמבר 21 Share פורסם 2007 בדצמבר 21 ממש כיף, כמו לדפוק את הראש בקיר...אבל כן, אם כבר בחרת להשתמש במעבד כמו ARM בשביל העבודה, אז עדיף כבר לבחור במערכת הפעלה שתקל על העבודה (החל ממשהו כמו ecos ועד למשהו כמו linux). אם אתה עושה משהו פשוט יחסית אז אולי עדיף להשתמש בבקר במקום. קישור לתוכן שתף באתרים אחרים More sharing options...
3d7 פורסם 2007 בדצמבר 21 מחבר Share פורסם 2007 בדצמבר 21 תודה על המידע!בעיקרון, ב-Embedded בד"כ אין צורך במערכת הפעלה מורכבת במכשירים שמבצעים דבר ייעודי (לא PDA או סלולארי).אני רואה שיש הרבה דברים שאני צריך לדעת.מישהו יכול להמליץ לי על ספר טוב ל-ARM וספר ל-DSP שמיועד למתחילים בתחום, ומסביר בתמציתיות אספקטים חשובים עם דוגמאות (משהו לא יותר מדי עב-כרס)?אפשר להזמין מחו"ל, אבל רצוי אם אפשר משהו בעברית עם זמינות מיידית בארץ. קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2007 בדצמבר 21 Share פורסם 2007 בדצמבר 21 רקע טוב בנושאים של הנדסת מחשבים יעזור לך, במיוחד תכן של מעבדים, ארכיטקטורה וכו'.לומדים C כמו שצריך, ונושאים כמו מערכות הפעלה, הנדסת מחשבים, תוכנה וכו'. אח"כ מגיעים למערכת ספציפית וממשיכים ללמוד עליה. וכו'.בכל מקרה לא נתקלתי בממש ספר שמלמד את זה (טוב, פעם אחת, והוא היה ביפנית), ואני אהיה מאוד מופתע אם תמצא ספר בעברית על זה. זה פשוט בלתי אפשרי להיות מתכנת embedded בלי לדעת אנגלית, כיון שצריך לקרוא כמויות גדולות של מידע על המערכת, המעבד, הקומפיילר, האלגוריתמים וכו'.מצד שני, חיפוש ב-Amazon על embedded systems programming הניב כמה תומצאות מבטיחות. לדעתי תקרא reviews של הספרים שם, תמצא את זה שנראה הכי טוב, תקנה ותנסה אותו.ואם הוא טוב, תספר לנו, שנדע. קישור לתוכן שתף באתרים אחרים More sharing options...
3d7 פורסם 2007 בדצמבר 21 מחבר Share פורסם 2007 בדצמבר 21 מצאתי באמאזון את הספרים הבאים:Programming Embedded Systems: With C and GNU Development Tools, 2nd Edition ++Programming Embedded Systems in C and C C Programming for Embedded Systems אשמח לקבל עוד המלצות.אם יש למישהו מסמך קצר וממצה בן עמודים בודדים עם טיפים וטריקים שימושיים, זה יכול מאוד לעזור לי. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.