![Raspberry Pi 4B үшін 64 биттік RT ядро компиляциясы.: 5 қадам Raspberry Pi 4B үшін 64 биттік RT ядро компиляциясы.: 5 қадам](https://i.howwhatproduce.com/images/001/image-528-24-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:50
![Raspberry Pi 4B үшін 64bit RT Kernel Compilation Raspberry Pi 4B үшін 64bit RT Kernel Compilation](https://i.howwhatproduce.com/images/001/image-528-25-j.webp)
Бұл оқулықта Raspberry Pi -де нақты уақыттық 64 биттік ядро құру және орнату процесі қарастырылады. RT Kernel ROS2 мен басқа да нақты уақыттағы IOT шешімдерінің толық жұмыс істеуі үшін өте маңызды.
Ядро x64 негізіндегі Raspbian -ға орнатылған, оны мына жерден алуға болады
Ескерту. Бұл нұсқаулық Linux операциялық жүйесі туралы қарапайым білімді қажет етеді.
Сондай -ақ, бұл платформаның шектеулеріне байланысты барлық http сілтемелерінде h жоқ. Оларды түзету үшін сілтеменің алдыңғы жағына «h» қосыңыз
Жабдықтар
Linux жүйесінде жұмыс істейтін x64 компьютері
Raspbian 64 бар Raspberry Pi 4B орнатылған
Интернетке қосылу.
1 -қадам: Қажет құралдарды алу
Алдымен біз қажет емес құралдарды алуымыз керек.
Оларды Linux терминалында келесі командаларды орындау арқылы алуға болады
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 make install
мұндағы -jx қанша жұмысты орындағыңыз келетінін білдіреді i parrarell. Негізгі ереже - бұл сіздің жүйеңіздегі ағындардың санынан жоғары емес. (мысалы -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 --with-headers / --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-with-headers --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Thread моделі: бірыңғай gcc нұсқасы 8.4.0 (GCC)
3 -қадам: ядро түзету және ядро конфигурациясы
Енді біздің ядро мен RT патчын алу уақыты келді.
Бұл оқулықта rpi ядросы v 5.4 және RT патч RT32 қолданылады. Бұл комбинация мен үшін жақсы жұмыс жасады. Дегенмен, әр түрлі нұсқада бәрі жақсы жұмыс істеуі керек.
mkdir ~/rpi-ядро
cd ~/rpi-ядро 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 ядродан шыққан 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 жасаңыз
Ол күлген кезде бізде бар конфигурация қажет, содан кейін өтіңіз
Жалпы -> Алдын алу моделі және нақты уақыт опциясын таңдаңыз.
біз жаңа конфигурацияны сақтап, мәзірден шығамыз.
4 -қадам: RT ядросын құру
Енді оның құрастыру уақыты. Есіңізде болсын, бұл компьютердің мүмкіндіктеріне байланысты ұзақ уақыт алуы мүмкін.
жасау -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Бұрынғыдай -jx жұмыс орындарының санын білдіреді. Сәтті құрастырылғаннан кейін бізге ядро жинап, оны Raspberry Pi -ге жіберу керек. Ол үшін келесі командаларды орындаймыз.
экспорттау INSTALL_MOD_PATH = ~/rpi-ядро/rt-kernelexport INSTALL_DTBS_PATH = ~/rpi-ядро/rt-kernelmake O =../kernel-out/ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- modules_install dt.. 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 boot sudo cp -rd */boot/cd../lib sudo cp -dr */lib/cd../overlays sudo cp -dr */boot/overlays cd../ broadcom sudo cp -dr bcm* /жүктеу /
Осыдан кейін /boot/config.txt файлын өңдеу және келесі жолды қосу керек.
ядро = ядро8.img
Pi қайта жүктелгеннен кейін бәрі жақсы жұмыс істеуі керек.
Жаңа ядро сәтті орнатылғанын тексеру үшін оны орындауға болады
uname -a
бұйрық
Ұсынылған:
Arduino Nano-MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр оқулығы: 4 қадам
![Arduino Nano-MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр оқулығы: 4 қадам Arduino Nano-MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр оқулығы: 4 қадам](https://i.howwhatproduce.com/images/002/image-5562-j.webp)
Arduino Nano-MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр оқулығы: MMA8452Q-бұл ақылды, қуаты аз, үш осьті, сыйымдылығы бар, микромахинді акселерометр, рұқсаты 12 бит. Қолданбалы бағдарламаланатын икемді опциялар акселерометрге ендірілген функциялардың көмегімен қамтамасыз етілген, екі үзіліспен реттеледі
Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр Python оқулығы: 4 қадам
![Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр Python оқулығы: 4 қадам Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік цифрлық акселерометр Python оқулығы: 4 қадам](https://i.howwhatproduce.com/images/004/image-9985-j.webp)
Raspberry Pi MMA8452Q 3-осьтік 12-биттік/8-биттік цифрлық акселерометр Python оқулығы: MMA8452Q-ақылды, қуаты аз, үш осьті, сыйымдылығы, микромашиналы акселерометр, рұқсаты 12 бит. Қолданбалы бағдарламаланатын икемді опциялар акселерометрге ендірілген функциялардың көмегімен қамтамасыз етілген, екі үзіліспен реттеледі
Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам
![Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам Raspberry Pi MMA8452Q 3 осьтік 12 биттік/8 биттік сандық акселерометр Java оқулығы: 4 қадам](https://i.howwhatproduce.com/images/002/image-3153-20-j.webp)
Raspberry Pi MMA8452Q 3-осьтік 12-биттік/8-биттік сандық акселерометр Java оқулығы: MMA8452Q-ақылды, қуаты аз, үш осьті, сыйымдылығы бар, микромахинді акселерометр, ажыратымдылығы 12 бит. Қолданбалы бағдарламаланатын икемді опциялар акселерометрге ендірілген функциялардың көмегімен қамтамасыз етілген, екі үзіліспен реттеледі
Windows жүйесінде ядро түзетушісін желіде қалай орнату керек: 6 қадам
![Windows жүйесінде ядро түзетушісін желіде қалай орнату керек: 6 қадам Windows жүйесінде ядро түзетушісін желіде қалай орнату керек: 6 қадам](https://i.howwhatproduce.com/images/002/image-5370-22-j.webp)
Желіде Windows ядро түзетушісін қалай орнату керек: Отладка - бұл қатенің түпкі себебін анықтау үшін қолданылатын танымал құрал. Қате өзін әр түрлі жолмен жұқтыруы мүмкін. бұл жүйенің бұзылуына әкелуі мүмкін (көгілдір экран/BSOD), ол қосымшаның бұзылуына әкелуі мүмкін, бұл сіздің жүйеңіздің қатып қалуына себеп болуы мүмкін
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру оңай, пайдалану оңай, портқа оңай: 3 қадам
![DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру оңай, пайдалану оңай, портқа оңай: 3 қадам DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру оңай, пайдалану оңай, портқа оңай: 3 қадам](https://i.howwhatproduce.com/images/002/image-5944-30-j.webp)
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру, пайдалану оңай, портқа оңай. Бұл жоба Arduino тақтасына 18 жарықдиодты (6 қызыл + 6 көк + 6 сары) қосуға және компьютердің дыбыстық картасының нақты уақыттағы сигналдарын талдауға және оларды таратуға көмектеседі. жарық диодтары оларды соққы әсеріне қарай жарықтандырады (тұзақ, биік қалпақ, соққы)