
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51

Бул окуу куралы Raspberry Piде реалдуу убакытта 64 биттик ядро куруу жана орнотуу процессин камтыйт. RT Kernel ROS2 жана башка Real Time IOT чечимдеринин толук иштеши үчүн абдан маанилүү.
Ядро x64 негизделген Raspbianге орнотулган, аны бул жерден алса болот
Эскертүү. Бул окуу куралы Linux операциялык тутумунун негизги билимин талап кылат.
Ошондой эле бул платформанын чектөөлөрүнөн улам бардык http шилтемелеринде h жок. Аларды оңдоо үчүн шилтеменин алдына "h" белгисин кошуңуз
Жабдуулар
Linux менен иштеген x64 негизделген PC
Raspberry 64 менен Raspberry Pi 4B мурунтан эле орнотулган
Интернетке туташуу.
1 -кадам: Керектүү шаймандарды алуу
Биринчиден, биз керектүү куралдарды колдонушубуз керек.
Аларды Linux терминалында төмөнкү буйруктарды аткаруу аркылуу алууга болот
sudo apt-get install-essential libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flexsudo apt-get libncurses-dev libssl-dev орнотуу
2 -кадам: Кросс -компиляция үчүн Native Build куралдарын чогултуу
Кийинки кадам - биздин ядронун кайчылаш компиляциясы үчүн инструменттерди даярдоо жана чогултуу.
Биз орното турган 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 модель: single gcc version 8.4.0 (GCC))
3 -кадам: ядрону жамоо жана ядрону конфигурациялоо
Эми биздин ядро менен RT патчын алууга убакыт келди.
Бул окуу куралы rpi ядро v 5.4 жана RT патч RT32 колдонот. Бул комбинация мен үчүн жакшы иштеди. Бирок баары башка версиялар менен жакшы иштеши керек.
mkdir ~/rpi-ядро
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
Качан биз учурдагы конфигурацияга муктажбыз, андан кийин өтүңүз
General -> Preemtion Model жана Real Time опциясын тандаңыз.
караганда биз жаңы конфигурацияны сактап, менюдан чыгабыз.
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
Эми биз 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 файлын түзөтүү жана кийинки сапты кошуу.
ядро = kernel8.img
Пи кайра жүктөлгөндөн кийин баары жакшы иштеши керек.
Жаңы ядро ийгиликтүү орнотулганын текшерүү үчүн, аны аткарсаңыз болот
uname -a
буйрук
Сунушталууда:
Чоңойтууну башкаруу үчүн гитара баатырдык гитараны колдонуу (Windows үчүн гана): 9 кадам

Масштабды көзөмөлдөө үчүн гитара баатырдык гитараны колдонуу (Windows үчүн гана): Биз глобалдык пандемиянын ортосунда турганыбыз үчүн, көбүбүз үйдү тазалап, Zoomдагы жолугушууларга катышып жатабыз. Бир аз убакыттан кийин, бул абдан жумшак жана кызыксыз болуп калышы мүмкүн. Үйүмдү тазалап жатып, ыргытып жиберилген эски гитара баатырын таптым
Эмне үчүн үйлөнүү үчүн робот куруш керек?: 9 кадам

Эмне үчүн үйлөнүү үлпөтүнө робот жасоо керек? Эмнеге менин жашоомдун эң маанилүү күнү үчүн мындай кылбаска? Үйлөнүү тоюна даярдык болуп жаткандыктан, шакектерди коридорго алып бара турган роботту жасадым
Ардуино үчүн температура сенсору COVID 19 үчүн колдонулат: 12 кадам (Сүрөттөр менен)

Ардуино үчүн температура сенсору COVID 19 үчүн колдонулат: Arduino үчүн температура сенсору адамдын денесиндеги процессордун температурасын өлчөгүбүз келгенде негизги элемент болуп саналат. Arduino менен температура сенсору жылуулуктун деңгээлин кабыл алуу жана өлчөө үчүн байланышта же жакын болушу керек. Мына ушинтип
IPad үчүн дубалга орнотуу Үйдү автоматташтыруунун башкаруу панели катары, Экранды иштетүү үчүн Servo башкарылган магнитти колдонуу: 4 кадам (Сүрөттөр менен)

IPad үчүн дубалга орнотуу Үйдү автоматташтыруунун башкаруу панели катары, Экранды иштетүү үчүн Servo Control Magnetтин жардамы менен: Акыркы убакта мен үйдүн ичинде жана айланасында нерселерди автоматташтырууга көп убакыт бөлдүм. Мен Domoticzди үй автоматташтыруу тиркемеси катары колдонуп жатам, чоо -жайын билүү үчүн www.domoticz.com караңыз. Менин издөөдө, бардык Domoticz маалыматтарын көрсөтүүчү панель колдонмосу
Oculus Rift үчүн 160yen үчүн ички кулакчын жасаңыз. 5 кадам

Oculus Rift үчүн гана ички кулакчын жасаңыз 160yen .: Окулустун ички кулагынын хедафонунун баасы 5800yen (болжол менен $ 50) турат. Мен бул нерсе менен арзан гарнитура жасадым Сфералык учтуу жазгы жүктөлгөн зонддорду текшерүү Pinsand ички кулакчын