I-AVNET-LOGO

I-AVNET MaaXBoard8ULP Ikhompyutha Yebhodi Elilodwa

I-AVNET-MaaXBoard8ULP-Single-Board-Computer-PRODUCT

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

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

Landa Ikhodi Yomthombo ye-MaaXBoard 8ULP
Ukulanda ikhodi yomthombo ye-MaaXBoard 8ULP, fanisa indawo yokugcina ku-Github:

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:

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/

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

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *