תוכן עניינים:
- שלב 1: הורד את כלי Sunxi
- שלב 2: פרק את קוד המקור
- שלב 3: הורד קוד:: בלוקים
- שלב 4: בדוק את ה- IDE שלך
- שלב 5: השלם את הבדיקה
- שלב 6: צור פרויקט חדש
- שלב 7: הוסף קבצים לפרויקט
- שלב 8: הקפד על Gcc עקוב אחר תקן השפה ISO ISO 1999
- שלב 9: מצא את התלות החסרה
- שלב 10: פרק את ה- Mman
- שלב 11: והוסף אותם לפרויקט
- שלב 12: הנתיב הנכון
- שלב 13: גירוש שדים
- שלב 14: הערות
וִידֵאוֹ: Orange PI HowTo: הידור כלי Sunxi עבור Windows תחת Windows: 14 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
דרישות:
אתה תצטרך
- מחשב (שולחן עבודה) שבו פועל Windows.
- חיבור לאינטרנט.
- לוח PI כתום.
האחרון הוא אופציונלי, אבל אני בטוח שכבר יש לך את זה. אחרת לא תקרא את זה להוראה.
כאשר אתה קונה את מחשב הלוח היחיד Orange PI הוא נשאר רק פיסת מתכת מתה עד שתוגדר כראוי. וקובץ התצורה העיקרי שלו: "script.bin" הוא המפתח הראשון שהביא אותו לחיים. קובץ זה ממוקם במחיצת האתחול של כרטיס ה- SD הניתן לאתחול שלך. ולמרבה המזל לנו, ברוב הפצות הלינוקס מהאתר הרשמי (https://www.orangepi.org/downloadresources/) מחיצה זו היא FAT32 וניתן לראות אותה בקלות על ידי כל מחשב Windows. זה אכן מפשט את הדברים, כיוון שעדיין אין דרך אמינה לכתוב למחיצות ext2 של Linux מתחת לחלונות.
למזלנו, קובץ התצורה script.bin כולל פורמט בינארי שאינו ידידותי לחלוטין לעריכה אנושית. צריך איזה כלי תוכנה על מנת לפענח אותו ולהצפין בחזרה לאחר ביצוע השינויים הדרושים. ומערכת כלים כזו אכן קיימת. זהו כלי SUNXI לשמצה. הזבוב במשחה הוא שהיא מיועדת לפעול תחת לינוקס ואנו גם צריכים להחזיק מכונת לינוקס ייעודית רק לשימוש בכלי sunxi, או בכדי למצוא דרך כיצד לאסוף אותם לחלונות.
אני יכול פשוט לאסוף את זה ולשתף את קובץ ההפעלה, אבל אף אחד לא יודע אם הם רוצים להוציא מהדורה חדשה ותצטרך אוסף חדש בהקדם האפשרי. אז החלטתי להכין מדריך כיצד להרכיב את הכלי החיוני מהמקורות. בואו נתחיל.
שלב 1: הורד את כלי Sunxi
קבל את הגרסה העדכנית (או ההכרחית) של קוד המקור sunxi-tools. עבור אל כתובת האתר: https://github.com/linux-sunxi/sunxi-tools/releases ובחר להוריד כארכיון zip.
שלב 2: פרק את קוד המקור
לאחר השלמת ההורדה, פרקו את קוד המקור לתיקייה שתבחרו. (יתר על כן אני מניח שהתיקיה הזו היא c: / sunxitools \, אז תחליף את הנתיב בנתיב משלך).
שלב 3: הורד קוד:: בלוקים
אם יש לך עותק מותקן של מהדר c ++ תפעולי כלשהו עבור חלונות. ואם אתה יודע כיצד להשתמש בו, תוכל להמשיך ישירות לשלב 3. אחרים צריכים לקבל מהדר c ++ מתאים ופגז (IDE) כדי להשתמש בו בנוחות. הבחירה שלי היא קוד:: בלוקים עבור Windows יחד עם שרשרת כלים מותקנת מראש של MinGW. אתה יכול לקבל את זה מכאן:
הורד והתקן אותו.
שלב 4: בדוק את ה- IDE שלך
כדי לבדוק אם הדברים מסתדרים, הפעל חסימות קוד, לחץ על "צור פרוייקט חדש", בחר "יישום קונסולה", בחר c או c ++, הקלד את כותרת פרוייקט התשלום, שמור את ברירות המחדל ללא שינוי בחלון הבא ולחץ על "סיום ".
שלב 5: השלם את הבדיקה
לאחר מכן לחץ על משולש ירוק בלוח העליון של ה- IDE או השתמש בנקודת התפריט Build-> Run. אם הדברים התנהלו כשורה אתה אמור לראות הודעה מהאפליקציה "עולם עולם" שנוצר אוטומטית שלך בחלון "DOS" השחור.
אם לא, זה אומר ש- IDE והמהדר אינם פועלים כראוי ותצטרך לחקור כיצד להגדיר אותו נכון. כנראה שתצטרך להוריד גרסה נוספת של כלי התכנות או לבדוק את הרשאותיהם בחומת האש/תוכנת האנטי וירוס שלך.
שלב 6: צור פרויקט חדש
כעת אמורה להיות לך ערכת כלים מתכנת C/C ++ תפעולית וקודי המקור של sunxi-tools לא ארוזים בתיקייה c: / sunxitools / במחשב שלך. הגיע הזמן להרכיב פרויקט. צור פרויקט חדש ב- IDE שלך. בחר בפרוייקט C רגיל (לא c ++) מסוג "יישום קונסולה".
וודא שאתה יוצר פרויקט בתיקייה c: / sunxitools / ולא במקום אחר. (חסימות קוד EG נוטות ליצור תיקיית משנה עם אותו שם כמו לפרויקט. אז אם שמת את הפרויקט שלך, אמור "בדוק" ונסה למקם אותו ב- c: / sunxitools \, אתה עלול לסיים שהפרויקט נעלם ל- c: / sunxitools / test / אם אינך מספיק קשוב.) כלי Sunxi מכילים מספר כלי עזר, אך לצורךנו נצטרך רק אחד: כלי השירות שנקרא "fexc".
שלב 7: הוסף קבצים לפרויקט
כלי השירות "fexc" אחראי להמרת script.bin לפורמט טקסט ולהמרה אחורית לבינארית. חשוב שתהליך ההפעלה של כלי השירות הזה יקבל את השם "fexc.exe", אז טוב אם קראת לפרויקט שלך בשם "fexc". עם זאת תוכל להשתמש בכל שם אחר של הפרויקט, מכיוון שתמיד תוכל לשנות את שם ההפעלה לאחר האוסף, או שתוכל לבחור "פרויקט-> מאפיינים" מתפריט הנפתח העליון ובחלון המופיע לחץ על הכרטיסייה "בנה מטרות", וערוך את השדה "פלט שם קובץ" כדי לעקוף את שם ההפעלה.
לפרויקט שנוצר אוטומטית עליך להוסיף חמישה קבצי מקור בלבד:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
ושבעה קבצי כותרות:
- list.h (העבר אותו מטופס c: / sunxitools / include / תיקייה לתיקייה c: / sunxitools / תיקייה)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- version.h
הקפד להוציא את main.c שנוצר אוטומטית מהפרויקט, מכיוון של- fxc.c יש כבר את הפונקציה "int main". (זכור שלכל תוכנית צריכה להיות רק פונקציה עיקרית אחת?).
כל קבצי קוד המקור הדרושים כבר נמצאים בתיקיית המשנה, אליה פרקת את קוד המקור. קבצי הכותרת ראויים לזוג מילים, היכן ניתן להשיג אותן. "list.h" - הוא בדרך כלל בתיקיית המשנה "כולל" של ערכת קוד המקור שלא ארוז. "version.h" - פשוט צור אותו בעצמך. שים שם מחרוזת כמו:
#define גרסה "Win32"
לאחר מכן שמור וסגור את הקובץ. (אתה יכול לקשט אותו עם #define's ו- #ifdef's אם תרצה.)
אם כעת תנסה להרכיב את הפרויקט הוא יתלונן על הרבה שגיאות וקובץ אחד חסר. הטעויות נובעות בעיקר מקצת חופש מוגזם בסגנון, מתכנתים של sunxi השתמשו בעבר, והקובץ החסר הוא התלות שאינה כלולה בחבילת קוד המקור. בואו להתמודד עם זה צעד אחר צעד.
שלב 8: הקפד על Gcc עקוב אחר תקן השפה ISO ISO 1999
על מנת שהמהדר לא יתלונן סגנון התכנות החופשי מדי הגדר את הסטנדרט "с99" של האוסף. בחסימות קוד נכנסים לתפריט "פרויקט -> אפשרויות בנייה" וב"הגדרות מהדר -> דגלי מהדר "סמן את תיבת הסימון" האם gcc בצע את תקן שפת ISO C 1999 ". או שאתה יכול פשוט להוסיף "-std = c99" למחרוזת האפשרויות של המהדר שלך. עכשיו, אם אתה מנסה להרכיב את הפרויקט, טונות של טעויות צריכות להתחיל ואתה אחד לאחד עם התלות החסרה.
שלב 9: מצא את התלות החסרה
התלות החסרה היא קובץ "mman.h" - הכותרת של איזה סוג של מנהל זיכרון לינוקס. ל- Windows C מקורי אין קובץ כזה, אך למרבה המזל יש יציאת Windows שלו. עבור אל https://github.com/witwall/mman-win32 עבור Windows. הורד את תמונת המצב של מאגר git.
שלב 10: פרק את ה- Mman
פרק את קבצי mman.c ו- mman.h, הנח אותם בתיקייה c: / sunxitools \.
שלב 11: והוסף אותם לפרויקט
שלב 12: הנתיב הנכון
ובקובץ "fex.c" שורת raplece:
#לִכלוֹל
אל ה
#כלול "mman.h"
בשלב זה המהדר שלך לא אמור להתלונן על שום דבר ותקבל את ההמתנה הארוכה fexc.exe כפלט. אל תהיה מאושר מוקדם מדי. השירות עדיין לא מתפקד במלואו. אתה יכול להבטיח זאת על ידי פענוח קובץ script.bin חוקי כלשהו לתוך טופס הטקסט - script.fex ובהמשך הצפנת קובץ script.fex חזרה לתוך script.bin. תוכל לציין כי גודל script.bin שהתקבל שונה במקצת מגודל script.bin המקורי. ואם תנסה לפענח את התוצאה שוב היא תיכשל. אף ה- PI של Orange לא יעבוד עם script.bin זה. כדי לקבל את השירות הפונקציונלי עלינו לפרוק פצצת קוד, שמישהו הכניס לקוד המקור של sunxi-tools. זה יהיה השלב הבא שלנו.
שלב 13: גירוש שדים
כדי לפרוק את פצצת הקוד פתח את קובץ הקוד fexc.c ומצא שם מחרוזת טקסט של התוכן הבא:
אחרת אם ((out = open (שם קובץ, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
פשוט החלף אותו במחרוזת הבאה:
אחרת אם ((out = open (שם קובץ, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
אם לא הספרות הרעות "666" במחרוזת הראשונה הייתי חושב שהמקודד פשוט שכח להשתמש בדגל O_BINARY. אבל מספר החיה אכן מבהיר את כוונותיו בצורה שקופה. קח בחשבון, כמה זה גאוני: בשל ההבדל העדין באופן עיבוד הקבצים ב- Windows ובלינוקס אין לפצצה השפעה כאשר הכלי מורכב ומשתמש תחת Linux. אבל זה הורס הכל כאשר השירות משמש תחת Windows.
לאחר פירוק הנשק, תוכל סוף סוף לאסוף ולשתמש בבטחה בכלי השירות fexc במחשב השולחני של Windows.
שלב 14: הערות
1) כדי להשתמש בנוחות ב- fxc, עליך לקבל שני קבצי אצווה:
bin2fex.bat - ו- - fex2bin.bat.
אתה יכול להשיג אותם מאיזה build fexc.exe חינמי עבור Windows, או שתוכל להקליד אותם בעצמך:
- bin2fex.bat צריך להכיל "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat צריך להכיל "fexc -O bin -I fex script.fex script.bin"
2) אם קשה למצוא את מנהל ה- mman עבור Windows אפשר להימנע מהשימוש בו בכלל. עם זאת נדרשת עריכה רבה יותר של קובץ fexc.c ודורשת לפחות ידע כלשהו ב- c. למען השכנוע שלך, אני משתף את קוד המקור העריך של ה- fexc מ- sunxi-tools v1.4 ללא תלות ב- mman.h יחד עם קובץ פרוייקט codeblocks ועם script.bin לדוגמא מ- Pi כתום. אתה יכול להוריד fexc_nomman.zip
3) ייתכן שבגרסאות הנגרמות של כלי sunxi הם יוסיפו עוד תלות. אל תהסס למצוא אותם דרך האינטרנט ולהוסיף אותם לפרויקט האוסף שלך.
5) לבסוף הנה הגירסה המורכבת מראש של fexc.exe עבור Win32:
fexc_nomman.zip
אם אתה עצלן מספיק אל תהסס להשתמש ב- ver. עם זאת היזהר שזה לא יתעדכן אם/כאשר הגרסאות החדשות יותר של SunxiTools/Windows יהיו זמינות. אז עדיף ללמוד כיצד לאסוף אותם מאשר להיות תלוי באיזה מבנה בינארי קבוע, אני מניח.
4) ה- "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" וכו '… הם סימני המסחר של בעליהם בהתאמה.
5) אם המהדר מתלונן על לא למצוא פונקציות mman, כמו:
הפניה לא מוגדרת ל '_ imp_mmap'
שים לב שאוהבי קהילת הפיתוח של mman הגדירו ששכחו שניתן לקבץ את הקוד לא רק כספריית dll. זה יכול להיות גם ספרייה סטטית או קוד עצמאי כמו שיש לנו כאן. כדי לתקן את הבעיה ערוך את קובץ "mman.h" כדלקמן:
א) מצא את המיתרים:
#if מוגדר (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
ב) הוסף את המחרוזת
#הגדר MMANSHARED_EXPORT
ממש מתחת למחרוזות שנמצאו בשלב הקודם
מוּמלָץ:
Z80 MBC2 - הידור מחדש של ביוס ומטען QP/M: 6 שלבים
Z80 MBC2 - הידור מחדש של ביוס ומטען של QP/M: אם כמוך אתה מוצא את עצמך במצב שבו אתה צריך לאסוף מחדש את ה- bio של QP/M עבור MBC2 שלך - כך אתה עושה זאת. תיעדתי התהליך, כיצד לאסוף מחדש את הגרסה הקיימת. זה תלוי בך לבצע שינויים בביוס בפועל
Z80 MBC2 - הידור מחדש של CPM2.2 Bios: 4 שלבים
Z80 MBC2 - הידור מחדש של CPM2.2 Bios: אם, כמוני, אתה מוצא את עצמך במצב שבו אתה צריך לאסוף מחדש את ה- bios של CP/M (2.2) עבור MBC2 שלך - כך אתה עושה זאת. במקרה שלי רציתי להסיר את הודעת "WARM BOOT" בכל פעם שקיימת תוכנית או כשעשית ctrl-c. אני א
חיישן טמפרטורה עבור Arduino מיושם עבור COVID 19: 12 שלבים (עם תמונות)
חיישן טמפרטורה עבור Arduino מיושם עבור COVID 19: חיישן הטמפרטורה עבור Arduino הוא מרכיב בסיסי כאשר אנו רוצים למדוד את הטמפרטורה של מעבד של גוף האדם. חיישן הטמפרטורה עם Arduino חייב להיות במגע או קרוב כדי לקבל ולמדוד את רמת החום. כך לא
עשה זאת בעצמך: מטוס RC המופעל על ידי שמש תחת 50 $: 8 שלבים (עם תמונות)
עשה זאת בעצמך: מטוס RC המופעל באמצעות סולאריות מתחת ל 50 $: בדרך כלל דרישות ההספק של מטוס RC נעות בין כמה עשרות וואט למאות וואט. ואם אנחנו מדברים על אנרגיה סולארית יש לה צפיפות הספק נמוכה מאוד (הספק/שטח) בדרך כלל 150 וואט/מ"ר מקסימלית, כדי להפחית ולשתנות בהתאם לעונה, לזמן
מערכת מעקב לייזר תחת $ 20: 7 שלבים (עם תמונות)
מערכת מעקב לייזר עבור פחות מ 20 $: אזהרה: פרויקט זה כולל שימוש ושינוי של מכשירי לייזר. בעוד שהלייזרים שאני מציע להשתמש בהם (מצביעים אדומים שנרכשו בחנות) בטוחים יחסית לטיפול, לעולם אל תסתכל ישירות לקרן לייזר, היזהר מהשתקפויות והיזהר במיוחד