I-AVNET MaaXBoard8ULP Ikhompyutha Yebhodi Elilodwa

Ulwazi Lomkhiqizo
- Igama Lomkhiqizo: I-MaaXBoard 8ULP
- Inguqulo Yomhlahlandlela Wokuthuthukiswa: V3.1
- Isitatimende se-copyright: I-MaaXBoard-8ULP-Linux-Yocto-Development-guide-V3.0
- Umnikazi we-copyright: Avnet
- Ukuthobela Umthetho: I-CE, i-FCC ne-SRRC iqinisekisiwe
- Umkhiqizo Webindawo: I-MaaXBoard 8ULP
Umlando Wokubuyekeza
| Inguqulo | Usuku lokukhulula | Umbhali |
|---|---|---|
| V1.0 | - | Umnduze |
| V2.0 | - | Umnduze |
| V3.0 | 2023/05/16 | Umnduze |
| V3.1 | 2023/06/30 | Umnduze |
Isahluko 1: Yakha nge-Yocto
Setha Imvelo Yokwakha
Ukusetha indawo yokwakha, uzodinga
- Izingxenyekazi zekhompuyutha: Kunconywa ukuthi okungenani ube nesikhala sediski esingu-300GB kanye ne-4GB ye-RAM.
- Isoftware: Ubuntu 64-bit OS, inguqulo 20.04 LTS noma inguqulo ye-LTS yakamuva (Ubuntu Desktop noma inguqulo ye-Ubuntu Server). Ungaphinda usebenzise i-Ubuntu 64-bit OS emshinini obonakalayo noma esitsheni sedokhu.
Amaphakheji alandelayo ayadingeka endaweni yokuthuthukiswa. Ungawafaka usebenzisa iskripthi se-bash esingezansi:
$ sudo apt-get update
$ sudo apt-get install -y wget git-core diffstat unzip texinfo gcc-multilib
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev
pylint3 xterm rsync curl gawk zstd lz4 locales bash-completion
FAQ
- Q: Ubani umnikazi wekhompyutha yebhodi eyodwa ye-MaaXBoard 8ULP?
A: Ikhompuyutha yebhodi elilodwa le-MaaXBoard 8ULP kanye nempahla ebhaliwe yengqondo ehlobene iphethwe yi-Avnet. - Q: Yiziphi izitifiketi enazo ikhompyutha yebhodi ye-MaaXBoard 8ULP?
A: Ikhompyutha yebhodi elilodwa le-MaaXBoard 8ULP isiphumelele isitifiketi se-CE, i-FCC ne-SRRC. - Q: Ngingalutholaphi ulwazi olwengeziwe mayelana ne-MaaXBoard 8ULP?
A: Ungathola ulwazi olwengeziwe mayelana ne-MaaXBoard 8ULP ku umkhiqizo webindawo.
I-MaaXBoard 8ULP
I-Linux Yocto Development Guide
V3.1
Isitatimende se-copyright
- Ikhompiyutha yebhodi elilodwa le-MaaXBoard 8ULP kanye nempahla ebhaliwe yengqondo ehlobene iphethwe yi-Avnet.
- I-Avnet ine-copyright yale dokhumenti futhi igodla wonke amalungelo. Noma iyiphi ingxenye yedokhumenti akufanele ilungiswe, isatshalaliswe noma iphindwe nganoma iyiphi indlela nangendlela ngemvume ebhaliwe ekhishwe ngabakwa-Avnet.
Umshwana wokuzihlangula
I-Avnet ayithathi iwaranti yanoma yiluphi uhlobo, evezwe noma eshiwo, mayelana nekhodi yomthombo wohlelo, isofthiwe namadokhumenti ahlinzekwe kanye nemikhiqizo, futhi kuhlanganisa, kodwa kungagcini nje, iziqinisekiso zokufaneleka ngenjongo ethile; Yonke ingozi mayelana nekhwalithi noma ukusebenza kohlelo ikumsebenzisi wemikhiqizo.
Ukuthobela Umthetho
Ikhompyutha ye-MaaXBoard 8ULP yebhodi elilodwa isiphumelele isitifiketi se-CE, i-FCC ne-SRRC.
Umlando Wokubuyekeza
| Inguqulo | Qaphela | Umbhali | Usuku lokukhulula |
| V1.0 | Inguqulo yokuqala | Umnduze | 2022/11/09 |
| V2.0 | Kubuyekezwe i-Yocto yaba yi-kirkstone(4.0), BSP_VERSION ukuze ibe ngu-5.15.71-2.2.0, Iguqula i- file fometha ukuze ubeke phansi | Umnduze | 20230516 |
| V3.0 | Kubuyekezwe i-Yocto yaba yi-Langdale(4.1), BSP_VERSION yaba ngu-lf-6.1.1- 1.0.0 | Umnduze | 20230630 |
| V3.1 | Kubuyekezwe i-Yocto yaba yi-mickledore(4.2), BSP_VERSION ukuze ibe ngu-lf- 6.1.22-2.0.0 | Umnduze | 20231024 |
Isahluko 1 Yakha ngeYocto
Setha Imvelo Yokwakha
Ukusetha indawo yokwakha udinga:
- Izingxenyekazi zekhompuyutha: Kunconywa ukuthi okungenani i-300GB yesikhala sediski kanye ne-4GB ye-RAM
- Isofthiwe: Ubuntu 64-bit OS, 20.04 LTS inguqulo noma inguqulo yakamuva ye-LTS (Ubuntu Desktop noma inguqulo ye-Ubuntu Server). Ungase futhi usebenzise i-Ubuntu 64-bit OS emshinini obonakalayo noma esitsheni se-docker.
Amaphakheji alandelayo ayadingeka endaweni yokuthuthukiswa. Amaphakheji adingekayo angafakwa kusetshenziswa iskripthi se-bash esingezansi:
- $ sudo apt-get update
- $ sudo apt-get install -y wget git-core diffstat unzip texinfo gcc-multilib \
- build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
- xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
- pylint3 xterm rsync curl i-gawk zstd lz4 izifunda ze-bash-ukuqedwa
Faka i-repo
- $ mkdir -p ~/bin
- $curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
- $ chmod a+x ~/bin/repo
- $ thekelisa INDLELA=~/bin:$PATH
Setha ukucushwa kwe-Git
- $ git config -global user.name "Igama Lakho"
- $ git config -global user.email “wena@isibampcom“
Landa Ikhodi Yomthombo
Landa izendlalelo ze-meta ku-NXP
- $ mkdir ~/imx-yocto-bsp
- $ cd ~/imx-yocto-bsp
- $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-mickledore -m imx-6.1.22-
- 2.0.0.xml
- $ repo ukuvumelanisa
Landa Ikhodi Yomthombo ye-MaaXBoard 8ULP
Ukulanda ikhodi yomthombo ye-MaaXBoard 8ULP, fanisa indawo yokugcina ku-Github:
- $ cd ~/imx-yocto-bsp/sources
- $ git clone https://github.com/Avnet/meta-maaxboard.git -b mickledore meta-maaxboard
Yakha
Hlela ukucushwa kwesakhiwo
Uma ufuna ukwakha ifolda yokwakha entsha noma usethe ukucushwa okokuqala ngqa, sebenzisa umyalo:
- $ cd ~/imx-yocto-bsp
- $ MACHINE=maaxboard-8ulp imithombo yomthombo/meta-maaxboard/tools/maaxboard-setup.sh -b
maaxboard-8ulp/build
Uma ufuna ukwakha kufolda yokwakha ekhona, sebenzisa umyalo olandelayo:
- $ cd ~/imx-yocto-bsp
- $ imithombo yomthombo/poky/oe-init-build-env maaxboard-8ulp/build
Yakha
Yenza umyalo olandelayo ukuze wakhe isithombe sase-Weston Wayland:
- $ bitbake avnet-isithombe-full
Ngemuva kokuthi ukwakhiwa kuqedwe ngempumelelo, okukhiphayo files afakwe ku: ~/imx-yocto-bsp/maaxboard-8ulp/build/tmp/deploy/images/maaxboard-8ulp/
| imx-boot-tagged | Isithombe se-Bootloader |
| i-avnet-image-full-maaxboard- 8ulp -xxxx.rootfs.wic | Isithombe sesistimu, lokhu kuhlanganisa: I-Linux kernel, i-DTB kanye nezimpande file uhlelo. |
| Isithombe | Isithombe se-Kernel |
| maaxboard-8ulp.dtb | MaaXBoard 8ULP idivayisi yesihlahla kanambambili |
| imbondela | I-MaaXBoard 8ULP imboza isihlahla sedivayisi kanambambili |
| i-avnet-image-full-maaxboard- 8ulp -xxxx.rootfs.tar.bz2 | Ingobo yomlando ecindezelwe yesithombe file |
Isahluko 2 Ukwakhiwa Okuzimele kwe-u-Boot neKernel
Lesi sahluko sichaza indlela yokwakha i-U-boot ne-Kernel usebenzisa i-SDK noma i-ARM GCC endaweni ezimele.
Iketanga lamathuluzi lokuhlanganisa
Iketango lamathuluzi lokuhlanganisa elisetshenziswayo, kungaba yi-ARM GCC noma i-Yocto SDK.
I-ARM GCC
Landa uchungechunge lwamathuluzi we-A-profile ukwakheka kwengalo Unjiniyela wekhasi le-GNU-A Lokulanda. Kunconywa ukusebenzisa inguqulo engu-10.3 kulokhu kukhishwa. Ungalanda i-“gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz “, bese ucindezela file ohlwini lwemibhalo lendawo.
- $ mkdir ~/toolchain
- $ tar -xJf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz -C ~/toolchain
Yenza umyalo olandelayo ukuze uhlole ukuthi i-toolchain ingasebenza ngokuqondile.
- $ cd toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/
- $ ./aarch64-none-linux-gnu-gcc -v
Ukuze uhlanganise iphrojekthi nge-ARM GCC, qala usethe indawo ezungezile ngemiyalo elandelayo ngaphambi kokwakha :
- $ TOOLCHAIN_PATH=$HOME/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linuxgnu/ bin
- $ thekelisa PATH=$TOOLCHAIN_PATH:$PATH
- $ thekelisa i-ARCH=arm64
- $ thekelisa CROSS_COMPILE=aarch64-none-linux-gnu-
I-Yocto SDK
Khiqiza i-SDK endaweni yokwakha ye-Yocto Project ngomyalo olandelayo ngemva kokukhiqiza isithombe esahlukweni esandulele.
- $ cd ~/imx-yocto-bsp
- $ imithombo yomthombo/poky/oe-init-build-env maaxboard-8ulp/build
- $ bitbake avnet-image-full -c populate_sdk
Okukhiqiziwe file yilena: ~/imx-yocto-bsp/maaxboard-8ulp/build/tmp/deploy/sdk/ fsl-imx-wayland-lite-glibc-x86_64-avnet-image-full-armv8a-maaxboard-8ulp-toolchain-6.1- mickledore..sh futhi usebenzise lesi skripthi ukuze ufake i-SDK. Indawo ezenzakalelayo ingu/khetha kodwa ingafakwa noma yikuphi emshinini wokusingathwa.
- $ sudo ./fsl-imx-wayland-lite-glibc-x86_64-avnet-image-full-armv8a-maaxboard-8ulp-toolchain-6.1- mickledore.sh
- I-NXP i.MX Release Distro SDK isifaki inguqulo engu-6.1-mickledore
- =========================================================
- Faka uhla lwemibhalo oluqondiwe lwe-SDK (okuzenzakalelayo: /opt/fsl-imx-wayland-lite/6.1-mickledore):
- Usuzofaka i-SDK ku-“/opt/fsl-imx-wayland-lite/6.1-mickledore”. Qhubeka [Y/n]?
- Iyakhipha
- I-SDK…………………………………………………………………………………………………………………………..kuqediwe
- Ukuyimisa...kwenziwe
- I-SDK isethwe ngempumelelo futhi isilungele ukusetshenziswa.
Uma usebenzisa i-SDK ukuze uhlanganise iphrojekthi, qala ngokukhipha umyalo olandelayo ukuze ulungiselele okuguquguqukayo kwendawo :
- $. /opt/fsl-imx-wayland-lite/6.1-mickledore/environment-setup-armv8a-poky-linux
Yakha i-U-Boot endaweni ezimele
Thola ikhodi yomthombo kanye ne-firmware
Ukuze uthole ikhodi yomthombo ye-u-boot, imx-atf kanye ne-imx-mkimage, yenza le miyalo elandelayo:
- $ mkdir tmp
- $ cd tmp
- $ git clone https://github.com/Avnet/uboot-imx.git -b maaxboard_lf-6.1.22-2.0.0
- $ git clone https://github.com/Avnet/imx-atf.git -b maaxboard_lf-6.1.22-2.0.0
- $ git clone https://github.com/Avnet/imx-mkimage.git -b maaxboard_lf-6.1.22-2.0.0
- Landa i-firmware-imx, decompress futhi wamukele i-NXP EULA uma isebenza:
- $ wget https://www.nxp.com.cn/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.20.bin
- $ chmod +x firmware-imx-8.20.bin
- $ ./firmware-imx-8.20.bin
- Faka umyalo 'ls' ku view inkomba ye-tmp:
- $ ls tmp
- firmware-imx-8.20 firmware-imx-8.20.bin imx-atf imx-mkimage uboot-imx
- Kuze kube manje, ikhodi yomthombo edingekayo kanye ne-firmware sekulungisiwe.
Hlanganisa umbhalo
Dala iskripthi se-bash kumkhombandlela we-tmp bese ushintsha ifayela le- file imodi:
- $ cd tmp
- $ touch make_mx8ulp_uboot.sh
- $ chmod 766 make_mx8ulp_uboot.sh
- $ vi make_mx8ulp_uboot.sh
- Kopisha okuqukethwe okulandelayo kusikripthi se-make_mx8ulp_uboot.sh:
- #!/umgqomo/bash
- PRJ_PATH=`pwd`
- thekelisa IMISEBENZI=`ikati /proc/cpuinfo | iprosesa ye-grep | wc -l`
- export CROSS_COMPILE=$HOME/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linuxgnu/
- bin/aarch64-none-linux-gnu-
- MKIMG_BIN_PATH=$PRJ_PATH/imx-mkimage/iMX8ULP/
- setha -e
- umsebenzi fetch_firmware()
- {
- uma [! -d firmware-sentinel-0.10 ]; bese
- wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-sentinel-0.10.bin
- bash firmware-sentinel-0.10.bin -auto-accept > /dev/null 2>&1
- fi
- uma [! -d firmware-upower-1.3.0 ] ; bese
- wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-upower-1.3.0.bin
- bash firmware-upower-1.3.0.bin -auto-accept > /dev/null 2>&1
- fi
- uma [! -d meta-maaxboard ]; bese
- git clone https://github.com/Avnet/meta-maaxboard.git -b mickledore
- fi
- rm -f *.bin
- }
- umsebenzi build_atf()
- {
- SRC=imx-atf
- uma [! -d $SRC ] ; bese
- git clone https://github.com/Avnet/$SRC.git -b maaxboard_lf-6.1.22-2.0.0
- fi
- cd $SRC
- yenza -j${JOBS} CROSS_COMPILE=${CROSS_COMPILE} PLAT=imx8ulp bl31
- cd $PRJ_PATH
- }
- umsebenzi build_cortexM()
- {
- DEMO_PATH=amabhodi/evkmimx8ulp/multicore_examples/rpmsg_lite_str_echo_rtos/armgcc
- DEMO_BIN=release/rpmsg_lite_str_echo_rtos.bin
- SRC=mcore_sdk_8ulp
- cd $PRJ_PATH/${SRC}
- cd $DEMO_PATH
- thekelisa i-ARMGCC_DIR=$MCORE_COMPILE
- #bash clean.sh
- uma [! -s $DEMO_BIN ] ; bese
- bash build_release.sh
- fi
- setha -x
- cp $DEMO_BIN $MKIMG_BIN_PATH/m33_image.bin
- # OkweYocto
- cp $DEMO_BIN $PRFX_PATH/maaxboard_8ulp_m33_image.bin
- setha +x
- }
- umsebenzi build_uboot()
- {
- SRC=uboot-imx
- uma [! -d $SRC ] ; bese
- git clone https://github.com/Avnet/$SRC.git -b maaxboard_lf-6.1.22-2.0.0
- fi
- cd $PRJ_PATH/${SRC}
- uma [! -f .config ] ; bese
- yenza i-ARCH=ingalo engu-${BOARD}_defconfig
- fi
- yenza -j${JOBS} CROSS_COMPILE=${CROSS_COMPILE} ARCH=arm
- cd $PRJ_PATH
- }
- umsebenzi build_imxboot()
- {
SRC=imx-mkimage
- uma [! -d $SRC ] ; bese
- git clone https://github.com/Avnet/$SRC.git -b maaxboard_lf-6.1.22-2.0.0
- fi
- cd $SRC
- # kopisha i-firmware
- cp $PRJ_PATH/firmware-upower-*/upower_a1.bin iMX8ULP/upower.bin
- cp $PRJ_PATH/firmware-sentinel-*/mx8ulpa0-ahab-container.img iMX8ULP/
- # kopisha isithombe se-atf-imx
- cp $PRJ_PATH/imx-atf/build/imx8ulp/release/bl31.bin iMX8ULP/
- # kopisha isithombe se-uboot-imx
- cp $PRJ_PATH/uboot-imx/u-boot.bin iMX8ULP/
- cp $PRJ_PATH/uboot-imx/u-boot-nodtb.bin iMX8ULP/
- cp $PRJ_PATH/uboot-imx/spl/u-boot-spl.bin iMX8ULP/
- cp $PRJ_PATH/uboot-imx/arch/arm/dts/maaxboard-8ulp.dtb iMX8ULP/imx8ulp-evk.dtb
- cp $PRJ_PATH/uboot-imx/tools/mkimage iMX8ULP/mkimage_uboot
- # khiqiza isithombe se-bootloader
- yenza i-SOC=iMX8ULP flash_singleboot_m33
- cp iMX8ULP/flash.bin u-boot-maaxboard-8ulp.imx
- I-chmod a+x u-boot-maaxboard-8ulp.imx
- # kopisha isithombe se-bootloader ngaphandle
- cp u-boot-maaxboard-8ulp.imx $PRJ_PATH
- }
- ukulanda_i-firmware
- ukwakha_atf
- ukwakha_cortexM
- build_uboot
- build_imxboot
- Sebenzisa iskripthi ukwakha:
- $ ./make_mx8ulp_uboot.sh
- $ ls -t
- u-boot-maaxboard-8ulp.imx uboot-imx meta-maaxboard firmware-sentinel-0.8 firmwareupower-
- 1.3.0
- imx-mkimage imx-atf make_mx8ulp_uboot.sh firmware-imx-8.18
Isithombe sokuqalisa se-Maaxboard 8ULP sithi u-boot-maaxboard-8ulp.imx kumkhombandlela wamanje.
Yakha i-Kernel endaweni ezimele
Thola ikhodi yomthombo we-Linux
$ git clone https://github.com/Avnet/linux-imx.git -b maaxboard_lf-6.1.22-2.0.0
Hlola ukuthi okuguquguqukayo kwemvelo kusethwe ngendlela efanele :
$ echo $CROSS_COMPILE $ARCH
Yakha imithombo ye-kernel
- $ cd linux-imx
- $ yenza disclean
- $ yenza i-maaxboard-8ulp_defconfig
- $ yenza -j4
Faka umyalo 'ls' ku view Isithombe kanye ne-dtb files ngemva kokuhlanganiswa.
- $ ls arch/arm64/boot/Image
- $ ls arch/arm64/boot/dts/freescale/maaxboard*dtb
- arch/arm64/boot/dts/freescale/maaxboard-8ulp.dtb
Yenza umyalo olandelayo ukuze uhlanganise amamojula e-kernel, bese ufaka amamojula kuma-rootfs kuhla lwemibhalo lwamanje.
- $ yenza amamojula
- $ yenza amamojula_ufake INSTALL_MOD_PATH=./rootfs
Isahluko 3 Amandla esistimu avuliwe futhi aqalise
Ukuze uhlele isithombe esisha se-Bootloader neSistimu files kumemori ye-EMMC ye-MaaXBoard 8ULP, noma ukuze uthole isiqondiso sokuvula i-MaaXBoard 8ULP, inqubo yokuqalisa, kanye nendlela yokusebenzisa izici ezisekelwayo ze-BSP ze-MaaXBoard 8ULP, sicela ubhekisele ku-MaaXBoard-8ULP-Linux-Yocto-UserManual.
Isahluko 4 Isithasiselo
Amadokhumenti e-Hardware
Ukuze uthole ukwaziswa okwengeziwe ngezingxenyekazi zekhompiyutha, sicela ubheke imanuwali yomsebenzisi we-Hardware ye-MaaXBoard 8ULP.
Imibhalo Yesofthiwe
I-MaaXBoard 8ULP isekela i-Yocto Linux, ukuze uthole ulwazi olwengeziwe, sicela ubheke le mibhalo elandelayo:
- I-MaaXBoard 8ULP Linux Yocto User Manual
- Ichaza indlela yokuqalisa i-MaaXBoard 8ULP nezici zokusebenza kwe-BSP
- I-MaaXBoard 8ULP Linux Yocto Development Guide
- Umhlahlandlela onemininingwane wokuthi ungasakha kanjani kabusha isithombe sesistimu ye-Linux (Lo mbhalo)
Ulwazi lokuxhumana
Umkhiqizo Webikhasi:
https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/maaxboard/maaxboard-8ulp/
Amadokhumenti / Izinsiza
![]() |
I-AVNET MaaXBoard8ULP Ikhompyutha Yebhodi Elilodwa [pdf] Umhlahlandlela Womsebenzisi EM-MC-SBC-IMX8M, MaaXBoard8ULP Ikhompyutha Yebhodi Eyodwa, MaaXBoard8ULP, Ikhompyutha Yebhodi Elilodwa, Ikhompyutha Yebhodi, Ikhompyutha |





