【接上一章節(jié)明遠(yuǎn)智睿MY-IMX6 Linux-4.1.15 編譯參考手冊(2)】
4.3 編譯設(shè)備樹目標(biāo)文件執(zhí)行編譯命令 =====> Input: make myimx6ek140p-6y-256m-emmc.dtb =====> Output: DTC arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dtb 【注意】:上面 make 后面的 myimx6ek140p-6y-256m-emmc.dtb 改為與開發(fā)板型號對應(yīng)的配置文件。
********** 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
復(fù)制設(shè)備樹目標(biāo)文件 =====> Input: cp arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dtb ./
4.4 編譯內(nèi)核模塊包執(zhí)行編譯 =====> 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 LD [M] sound/usb/snd-usbmidi-lib.ko LD [M] sound/core/snd-rawmidi.ko
創(chuàng)建內(nèi)核模塊的保存目錄 =====> Input: mkdir modules
安裝內(nèi)核模塊到指定目錄 =====> Input: make modules_install INSTALL_MOD_PATH=./modules =====> Output: INSTALL crypto/tcrypt.ko INSTALL drivers/dma/dmatest.ko INSTALL drivers/i2c/algos/i2c-algo-pca.ko ...... INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-lib.ko DEPMOD 4.1.15-myimx6-svn368
打包內(nèi)核模塊文件 =====> Input: tar cjf kernel-modules.tar.bz2 -C modules lib
4.5 目標(biāo)文件zImage、myimx6ek*.dtb 和 kernel-modules.tar.bz2 即編譯得到的目標(biāo)文件,保存這三個文件
5 Linux C程序編譯5.1 準(zhǔn)備源碼打開網(wǎng)盤到 5_MY-Demo -> MY-Linux-C-Demo,下載 hello.c 文件,并復(fù)制到虛擬機(jī)。
5.2 編譯目標(biāo)文件=====> Input: $CC hello.c -o hello.out Note: 如果有“未找到命令”的信息,是因?yàn)榻徊婢幾g工具鏈的配置沒有生效,可以按前面 “交叉編譯工具鏈安裝” 中的 “source 工具鏈配置文件” 操作一次后再執(zhí)行此步驟
5.3 運(yùn)行Linux C目標(biāo)程序把編譯得到的 hello.out 復(fù)制到開發(fā)板上 在開發(fā)板上運(yùn)行Linux C目標(biāo)程序 =====> Input: chmod +x ./hello.out ./hello.out =====> Output: MYZR Technology Co.,Ltd.
6 Linux QT5程序編譯6.1 準(zhǔn)備源碼打開網(wǎng)盤到 5_MY-Demo,下載 MY-Linux-QT5-Demo-AboutUs-svn*.tar.bz2 文件,并復(fù)制到虛擬機(jī)。 解壓源碼包到工作目錄 =====> Input: tar xf MY-Linux-QT5-Demo-AboutUs-svn*.tar.bz2-C ~/my-work/02_source/
6.2 QT程序編譯進(jìn)入源碼目錄 =====> Input: cd ~/my-work/02_source/AboutUs/
生成Makefile文件 =====> Input: qmake Note: 如果有“未找到 'qamke' 命令”的信息,是因?yàn)榻徊婢幾g工具鏈的配置沒有生效,可以按前面 “交叉編譯工具鏈安裝” 中的 “source 工具鏈配置文件” 操作一次后再執(zhí)行此步驟
編譯目標(biāo)文件 =====> 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_64-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
6.3 在 MY-IMX6-A9 設(shè)備上運(yùn)行把編譯得到的 AboutUs 復(fù)制到開發(fā)板上 在開發(fā)板上運(yùn)行QT5目標(biāo)程序 =====> Input: chmod +x ./AboutUs ./AboutUs -platform eglfs
6.4 在 MY-IMX6-A7 設(shè)備上運(yùn)行把編譯得到的 AboutUs 復(fù)制到開發(fā)板上 在開發(fā)板上運(yùn)行QT5目標(biāo)程序 =====> Input: export DISPLAY=:0.0 chmod +x AboutUs ./AboutUs
6.5 運(yùn)行結(jié)果可以看到開發(fā)板顯示屏上輸出了 MYZR 的 Logo 和一些信息。
|