תוכן עניינים:
- אספקה
- שלב 1: קבלת כלים נלווים
- שלב 2: אוסף כלי בנייה מקוריים להרכבה צולבת
- שלב 3: תיקון ליבה ותצורה של ליבה
- שלב 4: בניית גרעין RT
- שלב 5: התקנת ליבה חדשה
וִידֵאוֹ: אוסף ליבה של 64 סיביות ל- Raspberry Pi 4B.: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
הדרכה זו תכסה את תהליך הבנייה וההתקנה של 64 ביט ליבה בזמן אמת ב- Raspberry Pi. ליבת RT חיונית לפונקציונליות המלאה של ROS2 ופתרונות IOT בזמן אמת אחרים.
Kernel הותקן על Raspbian מבוסס x64 שניתן להשיג כאן
הערה. הדרכה זו אם כי פשוטה דורשת ידע בסיסי במערכת ההפעלה Linux.
גם בשל מגבלות פלטפורמה זו כל קישורי ה- http חסרים h. כדי לתקן אותם פשוט הוסף "h" בחזית הקישור
אספקה
מחשב מבוסס x64 שמריץ לינוקס
Raspberry Pi 4B עם Raspbian 64 כבר מותקן
חיבור לאינטרנט.
שלב 1: קבלת כלים נלווים
ראשית עלינו לבחור בכלי התפתחות של הצורך.
ניתן להשיג אותם על ידי ביצוע פקודות הבאות במסוף לינוקס
sudo apt-get install build-essential libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flexsudo apt-get install libncurses-dev libssl-dev
שלב 2: אוסף כלי בנייה מקוריים להרכבה צולבת
השלב הבא הוא הכנה מוקדמת וריכוז כלים להרכבה צולבת של הגרעין שלנו.
כלי Firs שנתקין הוא Binutils הדרכה זו נבדקה עם binutils גירסה 2.35.
cd ~/Downloadswget ttps: //ftp.gnu.org/gnu/binutils/binutils-2.35.tar.bz2tar xf binutils-2.35.tar.bz2cd binutils-2.35 /./ configure --prefix =/opt/aarch64- target = aarch64-linux-gnu --disable-nls
לאחר סיום התצורה עלינו לאסוף תוכנה באמצעות הפקודות הבאות
לעשות -jx
sudo עשה התקנה
כאשר -jx פירושו כמה משרות אתה רוצה להפעיל i parrarell. כלל האצבע הוא לשים אותו לא גבוה מכמות האשכולות שיש למערכת שלך. (למשל make -j16)
ולבסוף עלינו לייצא את השביל
ייצא PATH = $ PATH:/opt/aarch64/bin/
משנמשיך בבניית והתקנת GCC
cd..wget ttps: //ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xztar xf gcc-8.4.0.tar.xzcd gcc-8.4.0/. /contrib/download_prerequisites./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu-with-newlib-בלי כותרות \-disable-nls-disable-shared-disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp-disable-libatomic / --enable-languages = c-disable-multilib
יותר מזה שלפני שאנחנו יוצרים ומתקינים את המהדר שלנו
לעשות all -gcc -jx
sudo צור install-gcc
אם הכל הלך חלק בעקבות הפקודה
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
צריך לבקש מחדש בתגובה דומה לזה.
ux-gnu-gcc -v שימוש במפרט מובנה. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper יעד: aarch64-linux-gnu מוגדר עם:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu-with-newlib-ללא כותרות-disable-nls-disable-shared-disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic-enable-languages = c --disable-multilib דגם אשכול: גרסת gcc יחידה 8.4.0 (GCC)
שלב 3: תיקון ליבה ותצורה של ליבה
עכשיו הגיע הזמן לקבל את הגרעין והתיקון RT שלנו.
הדרכה זו תשתמש ב- kernel rpi v 5.4 ו- RT patch RT32. השילוב הזה עבד לי טוב. עם זאת הכל אמור לעבוד בסדר עם גרסאות שונות.
mkdir ~/rpi-kernel
cd ~/rpi-kernel git clone ttps: //github.com/raspberrypi/linux.git -b rpi-5.4.y wget ttps: //mirrors.edge.kernel.org/pub/linux/kernel/projects/rt /5.4/older/patch-5.4.54-rt32.patch.gz mkdir kernel-out cd linux
לאחר מכן פרק את התיקון.
gzip -cd../patch-5.4.54-rt32.patch.gz | תיקון -p1 -מילולי
ואתחול תצורה עבור Rpi 4B
הפוך O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
לאחר מכן עלינו להיכנס לתפריט
הפוך O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
כשזה משתבח אנחנו צריכים את התצורה הקיימת, ואז עבור אל
כללי -> מודל Preemtion ובחר באפשרות זמן אמת.
משאנחנו שומרים תצורה חדשה ויוצאים מהתפריט.
שלב 4: בניית גרעין RT
עכשיו זמן האוסף שלו. שים לב שזה עשוי להימשך זמן רב בהתאם ליכולות המחשב האישי שלך.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
כמו לפני -jx פירושו מספר משרות. לאחר אוסף מוצלח עלינו לארוז את הקרנל שלנו ולשלוח אותו ל- Raspberry Pi. לשם כך אנו מבצעים את הפקודות הבאות.
ייצא INSTALL_MOD_PATH = ~/rpi-kernel/rt-kernelexport INSTALL_DTBS_PATH = ~/rpi-kernel/rt-kernelmake O =../kernel-out/ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- modules_install dtbs_installp/ out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
עכשיו הגרעין שלנו צריך להיות בתוך ארכיון rt-kernel.tgz והוא מוכן לשליחה ולהתקנה.
שלב 5: התקנת ליבה חדשה
הדרך הקלה ביותר לשלוח את הגרעין שלנו ל- raspbperry היא באמצעות scp.
אנו פשוט מבצעים את הפקודה הבאה.
scp rt-kernel.tgz pi@:/tmp
עכשיו אנחנו צריכים להיכנס ל- pi שלנו באמצעות ssh ולפרוק את הליבה שלנו.
ssh pi@
כאשר אנו מחוברים אנו מעתיקים את הקבצים שלנו באמצעות הפקודות הבאות.
cd/tmptar xzf rt -kernel.tgz אתחול cd sudo cp -rd */boot/cd../lib sudo cp -dr */lib/cd../overlays sudo cp -dr */boot/overlays cd../ Broadcom sudo cp -dr bcm* /boot /
לאחר מכן מה שנותר לעשות הוא לערוך את הקובץ /boot/config.txt ולהוסיף את השורה הבאה.
kernel = kernel8.img
לאחר אתחול pi הכל אמור לעבוד בסדר.
כדי לבדוק אם גרעין חדש הותקן בהצלחה תוכל לבצע
uname -a
פקודה
מוּמלָץ:
Arduino Nano-MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי: 4 שלבים
Arduino Nano-MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי: ה- MMA8452Q הוא מד תאוצה חכם בעל הספק נמוך, בעל שלושה צירים, קיבולי, מיקרומכני עם 12 סיביות רזולוציה. אפשרויות לתכנות גמישות למשתמש ניתנות בעזרת פונקציות מוטבעות במד התאוצה, הניתנות להגדרה לשני מפסיקים
אוסף של מסופי ANSI: 10 שלבים
אוסף של מסופי ANSI: פרויקט זה התחיל כדרך להציג 80 טקסט של עמודות על צג LCD המתאים להפעלת מעבד תמלילים מיושן כגון Wordstar. נוספו תצוגות שונות אחרות בגודלן בין 0.96 עד 6 אינץ '. התצוגות משתמשות בשיר
UCL - IIoT - אוסף נתוני לחות: 6 שלבים
UCL - IIoT - אוסף נתוני לחות: הוראה זו תספק לך את המידע על הלחות מהלכלוך, שתוכל לצפות בממשק משתמש עם אדום צומת, יתר על כן, הנתונים ייאספו ויכניסו למסד נתונים של MySQL, זה יכול לעזור לך ללמוד את דפוסי ההשקיה של
DIY MusiLED, נוריות מוזיקה מסונכרנות עם יישום Windows ולינוקס בלחיצה אחת (32 סיביות ו 64 סיביות). קל לשחזור, קל לשימוש, קל לנייד: 3 שלבים
DIY MusiLED, נוריות מוזיקה מסונכרנות עם יישום Windows ולינוקס בלחיצה אחת (32 סיביות ו 64 סיביות). קל לשחזור, קל לשימוש, קל לנייד: פרויקט זה יעזור לך לחבר 18 נוריות LED (6 אדומות + 6 כחולות + 6 צהובות) ללוח ה- Arduino ולנתח את אותות כרטיס הקול של המחשב שלך בזמן אמת ולהעביר אותן אל הנורות כדי להאיר אותן בהתאם לאפקטים של קצב (סנאר, כובע גבוה, בעיטה)
צור מקלדת אוסף משלך: 5 שלבים (עם תמונות)
צור מקלדת אוסף משלך: האם אי פעם רצית אחד מאותם מקלדות יוקרתיות אך לא רצית להוציא את הכסף? הנה דרך מהירה ומלוכלכת להכין בעצמכם