Mingyuan Zhirui MY-IMX6 Linux-4.1.15 Compilation Reference Manual (3)
[Copy link]
[Continued from the previous chapter MY-IMX6 Linux-4.1.15 Compilation Reference Manual (2)] 4.3 Compile device tree target fileExecute the compilation command ======> Input: make myimx6ek140p-6y-256m-emmc.dtb =====> Output: DTC arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dtb =====> Output: DTC arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dtb Note: The myimx6ek140p-6y-256m-emmc.dtb after make should be changed to the configuration file corresponding to the development board model. ********** MY-IMX6-EK140 ********** myimx6ek140-6g-128m-emmc.dtb myimx6ek140-6y-128m-emmc.dtb myimx6ek140-6g-128m-nand.dtb myimx6ek140-6y-128m-nand.dtb myimx6ek140-6g-256m-emmc.dtb myimx6ek140-6y-256m-emmc.dtb myimx6ek140-6g-256m-nand.dtb myimx6ek140-6y-256m-nand.dtb myimx6ek140-6g-512m-emmc.dtb myimx6ek140-6y-512m-emmc.dtb myimx6ek140-6g-512m-nand.dtb myimx6ek140-6y-512m-nand.dtb ********** MY-IMX6-EK140P ********** myimx6ek140p-6g-128m-emmc.dtb myimx6ek140p-6y-128m-emmc.dtb myimx6ek140p-6g-128m-nand.dtb myimx6ek140p-6y-128m-nand.dtb myimx6ek140p-6g-256m-emmc.dtb myimx6ek140p-6y-256m-emmc.dtb myimx6ek140p-6g-256m-nand.dtb myimx6ek140p-6y-256m-nand.dtb myimx6ek140p-6g-512m-emmc.dtb myimx6ek140p-6y-512m-emmc.dtb myimx6ek140p-6g-512m-nand.dtb myimx6ek140p-6y-512m-nand.dtb ********** MY-IMX6-EK200 ********** myimx6ek200-6q-1g.dtb myimx6ek200-6q-2g.dtb myimx6ek200-6q-512m.dtb myimx6ek200-6u-1g.dtb myimx6ek200-6u-2g.dtb myimx6ek200-6u-512m.dtb myimx6ek200-6s-512m.dtb myimx6ek200-6s-1g.dtb myimx6ek200-6s-128m.dtb myimx6ek200-6qp-1g.dtb myimx6ek200-6qp-2g.dtb myimx6ek200-6qp-512m.dtb ********** MY-IMX6-EK314 ********** myimx6ek314-6q-1g.dtb myimx6ek314-6q-2g.dtb myimx6ek314-6q-512m.dtb myimx6ek314-6u-1g.dtb myimx6ek314-6u-2g.dtb myimx6ek314-6u-512m.dtb myimx6ek314-6s-512m.dtb myimx6ek314-6s-1g.dtb myimx6ek314-6s-128m.dtb myimx6ek314-6qp-1g.dtb myimx6ek314-6qp-2g.dtb myimx6ek314-6qp-512m.dtb ********** MY-IMX6-EK336 ********** myimx6ek336-6q-1g.dtb myimx6ek336-6q-2g.dtb myimx6ek336-6q-512m.dtb Copy device tree target file =====> Input: cp arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dtb ./ 4.4 Compile kernel module packageExecute compilation =====> Input: make modules =====> Output: scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release WRAP arch/arm/include/generated/asm/bitsperlong.h WRAP arch/arm/include/generated/asm/current.h ...... LD [M] sound/usb/snd-usb-audio.ko[ /b] LD [M] sound/usb/snd-usbmidi-lib.ko LD [M] sound/core/snd-rawmidi.ko Create a directory to save kernel modules ======> Input: mkdir modules Install kernel modules to the specified directory =====> Input: make modules_install INSTALL_MOD_PATH=./modules =====> Output: INSTALL crypto/tcrypt.ko INSTALL drivers/dma/dmatest.ko drivers/i2c/algos/i2c-algo-pca.ko ...... INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-lib.ko DEPMOD 4.1.15-myimx6-svn368 =====> Input:tar cjf kernel-modules.tar.bz2 -C modules lib 4.5 Target fileszImage, myimx6ek*.dtb and kernel-modules.tar.bz2 That is, the compiled target file, save these three files 5 Linux C program compilation5.1 Prepare source codeOpen the network disk to 5_MY-Demo -> MY-Linux-C-Demo, download the hello.c file, and copy it to the virtual machine. 5.2 Compile the target file ======> Input: $CC hello.c -o hello.out Note: If there is a message of “command not found”, it is because the configuration of the cross-compilation toolchain has not taken effect. You can press the “source toolchain configuration file” in the previous “Cross-compilation toolchain installation” and then perform this step. 5.3 RunLinux C target programCopy the compiled hello.out to the development board RunLinux C target program on the development board ======> Input: chmod +x ./hello.out ./hello.out =====> Output: MYZR Technology Co.,Ltd. Tel: 0756-3628023/3628021 6 Linux QT5 program compilation6.1 Prepare source codeOpen the network disk to 5_MY-Demo, download the MY-Linux-QT5-Demo-AboutUs-svn*.tar.bz2 file and copy it to the virtual machine. Unzip the source code package to the working directory ======> Input: tar xf MY-Linux-QT5-Demo-AboutUs-svn*.tar.bz2-C ~/my-work/02_source/ 6.2 QT program compilationEnter the source code directory ======> Input: cd ~/my-work/02_source/AboutUs/ GenerateMakefile =====> Input: qmake Note: If there is a message “'qamke' command not found”, it is because the configuration of the cross-compilation toolchain has not taken effect. You can press the “source toolchain configuration file” in the previous “Cross-compilation toolchain installation”. Execute this step again after operating once Compile target file ======> Input: make ======> Output: /home/myzr/my-work/03_toolchain/fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0/sysroots/x86_6 4-pokysdk-linux/usr/bin/qt5/uic widget.ui -o ui_widget.h ...... arm-poky-linux-gnueabi-g++ -march=armv7ve - mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/myzr/my-work/03_toolchain/fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0/sysroots/cortexa7hf-neon -poky-linux-gnueabi -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -o AboutUs main.o widget.o qrc_source.o moc_widget.o -lQt5Widgets -lQt5Gui -lQt5Core -lGLESv2 -lEGL -lpthread [/ size] 6.3 [font =Microsoft YaHei]Running on MY-IMX6-A9 device[align=left Copy the compiled AboutUs to the development board and run the QT5 target program on the development board. ======> Input: chmod +x ./AboutUs[/ font] ./AboutUs -platform eglfs[/ align] 6.4 in MY-IMX6- Run on A7 deviceCompiled AboutUs Copy to the development board and run the QT5 target program on the development board. Black]=====> Input: [size=11pt ]export DISPLAY=:0.0 chmod +x AboutUs ./AboutUs[/align ] 6.5 Running results You can see the MYZR logo and some information are output on the development board display. /size] /AboutUs -platform eglfs 6.4 Run on MY-IMX6-A7 deviceCopy the compiled AboutUs to the development board Run on the development boardQT5 target program ======> Input: export DISPLAY=:0.0 chmod +x AboutUs ./AboutUs 6.5 Running ResultYou can see the output on the display of the development board MYZR Logo and some information./AboutUs -platform eglfs 6.4 Run on MY-IMX6-A7 deviceCopy the compiled AboutUs to the development board Run on the development boardQT5 target program ======> Input: export DISPLAY=:0.0 chmod +x AboutUs ./AboutUs 6.5 Running ResultYou can see the output on the display of the development board MYZR Logo and some information.
|