i.MX 6ULL 驱动开发 一:搭建开发环境

2023-10-27

一、搭建编译环境

1、工具

工具 版本
开发板 正点原子 imx6ull 开发板
gcc gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
uboot uboot-imx-2016.03-2.1.0
linux linux-imx-4.1.15

2、搭建 tftp 服务器

ubuntu20.04 搭建tftp服务器_lqonlylove的博客-CSDN博客_ubuntu配置tftp服务器

3、搭建 nfs 服务器

ubuntu20.04 搭建NFS服务器_lqonlylove的博客-CSDN博客

二、配置编译工具链

1、版本选择

在这里插入图片描述

2、解压

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

解压后名字太长,更改 gcc 文件夹名:

onlylove@ubuntu:~/my/gcc$ ls
gcc-linaro-4.9.4  gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
onlylove@ubuntu:~/my/gcc$

3、配置

打开/etc/profile 以后,在最后面输入如下所示内容:

export PATH=$PATH:/home/onlylove/my/gcc/gcc-linaro-4.9.4/bin

配置完后,重启主机。

4、验证

onlylove@ubuntu:~$ ls
Desktop  Documents  Downloads  Music  my  Pictures  Public  Templates  Videos
onlylove@ubuntu:~$ arm-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/onlylove/my/gcc/gcc-linaro-4.9.4/bin/../libexec/gcc/arm-linux-gnueabihf/4.9.4/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/snapshots/gcc-linaro-4.9-2017.01/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-objc-gc --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=hard --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 4.9.4 (Linaro GCC 4.9-2017.01) 
onlylove@ubuntu:~$

三、uboot

1、版本选择

因使用正点原子开发板,因此选择正点原子提供uboot版本。
在这里插入图片描述

2、解压

tar -xvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ pwd
/home/onlylove/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls 
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$

3、编译脚本

onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ cat mx6ull_alientek_emmc.sh 
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig
make V=0  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$

4、编译

onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ./mx6ull_alientek_emmc.sh
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api    common     doc       fs             include  Licenses     Makefile                  net      snapshot.commit
arch   config.mk  drivers   imxdownload    Kbuild   load.imx     mx6ull_14x14_evk_emmc.sh  post     test
board  configs    dts       imxdownload.c  Kconfig  MAINTAINERS  mx6ull_alientek_emmc.sh   README   tools
cmd    disk       examples  imxdownload.h  lib      MAKEALL      mx6ull_alientek_nand.sh   scripts  uboot.code-workspace
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ./mx6ull_alientek_emmc.sh 
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated
  CLEAN   .config include/config.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2534:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:771:19: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  771 |  sprintf(newname, "%s%s", dirname, basename);
      |                   ^~~~~~
scripts/kconfig/confdata.c:771:19: note: assuming directive output of 7 bytes
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 1 or more bytes (assuming 4104) into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from scripts/kconfig/zconf.tab.c:2534:
scripts/kconfig/confdata.c:774:20: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  774 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |                    ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 13 and 4119 bytes into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  UPD     include/config/uboot.release
  CFG     u-boot.cfg
  CHK     include/generated/version_autogenerated.h
  UPD     include/generated/version_autogenerated.h
  CC      lib/asm-offsets.s
  CC      arch/arm/lib/asm-offsets.s
  CHK     include/generated/generic-asm-offsets.h
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/generic-asm-offsets.h
  UPD     include/generated/asm-offsets.h
  HOSTCC  tools/bmp_logo
  HOSTCC  tools/gen_eth_addr
  HOSTCC  tools/img2srec
  LDS     u-boot.lds
  HOSTCC  tools/mkenvimage.o
  HOSTCC  tools/os_support.o
  WRAP    tools/lib/crc32.c
  HOSTCC  tools/aisimage.o
  HOSTCC  tools/atmelimage.o
  WRAP    tools/common/bootm.c
  HOSTCC  tools/default_image.o
  WRAP    tools/lib/fdtdec_common.c
  WRAP    tools/lib/fdtdec.c
  HOSTCC  tools/fit_common.o
  HOSTCC  tools/fit_image.o
  HOSTCC  tools/gpimage.o
  HOSTCC  tools/gpimage-common.o
  WRAP    tools/common/image-fit.c
  HOSTCC  tools/image-host.o
  WRAP    tools/common/image.c
  HOSTCC  tools/imagetool.o
  HOSTCC  tools/imximage.o
  HOSTCC  tools/kwbimage.o
  WRAP    tools/lib/md5.c
  HOSTCC  tools/lpc32xximage.o
  HOSTCC  tools/mxsimage.o
  HOSTCC  tools/omapimage.o
  HOSTCC  tools/pblimage.o
  HOSTCC  tools/pbl_crc32.o
  WRAP    tools/lib/rc4.c
  HOSTCC  tools/rkcommon.o
  HOSTCC  tools/rkimage.o
  HOSTCC  tools/rksd.o
  HOSTCC  tools/rkspi.o
  HOSTCC  tools/socfpgaimage.o
  WRAP    tools/lib/sha1.c
  WRAP    tools/lib/sha256.c
  WRAP    tools/common/hash.c
  HOSTCC  tools/ublimage.o
  HOSTCC  tools/zynqimage.o
  WRAP    tools/lib/libfdt/fdt.c
  WRAP    tools/lib/libfdt/fdt_ro.c
  WRAP    tools/lib/libfdt/fdt_rw.c
  WRAP    tools/lib/libfdt/fdt_strerror.c
  WRAP    tools/lib/libfdt/fdt_wip.c
  WRAP    tools/lib/libfdt/fdt_region.c
  HOSTCC  tools/dumpimage.o
  HOSTCC  tools/mkimage.o
  HOSTCC  tools/proftool
  HOSTCC  tools/fdtgrep.o
tools/bmp_logo --gen-info ./tools/logos/freescale.bmp > include/bmp_logo.h
tools/bmp_logo --gen-data ./tools/logos/freescale.bmp > include/bmp_logo_data.h
  HOSTCC  tools/lib/crc32.o
  HOSTCC  tools/common/bootm.o
  HOSTCC  tools/lib/fdtdec_common.o
  HOSTCC  tools/lib/fdtdec.o
  HOSTCC  tools/common/image-fit.o
  HOSTCC  tools/common/image.o
  HOSTCC  tools/lib/md5.o
  HOSTCC  tools/lib/rc4.o
  HOSTCC  tools/lib/sha1.o
  HOSTCC  tools/lib/sha256.o
  HOSTCC  tools/common/hash.o
  HOSTCC  tools/lib/libfdt/fdt.o
  HOSTCC  tools/lib/libfdt/fdt_ro.o
  HOSTCC  tools/lib/libfdt/fdt_rw.o
  HOSTCC  tools/lib/libfdt/fdt_strerror.o
  HOSTCC  tools/lib/libfdt/fdt_wip.o
  HOSTCC  tools/lib/libfdt/fdt_region.o
  HOSTLD  tools/mkenvimage
  HOSTLD  tools/dumpimage
  HOSTLD  tools/mkimage
  HOSTLD  tools/fdtgrep
  LD      arch/arm/cpu/built-in.o
  CC      arch/arm/cpu/armv7/cache_v7.o
  CC      arch/arm/imx-common/iomux-v3.o
  CC      board/freescale/common/mmc.o
  AS      arch/arm/lib/vectors.o
  AS      arch/arm/lib/crt0.o
  AS      arch/arm/lib/relocate.o
  LD      board/freescale/common/built-in.o
  CC      arch/arm/imx-common/cpu.o
  CC      arch/arm/lib/bootm-fdt.o
  CC      board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.o
  CC      arch/arm/cpu/armv7/cpu.o
  CC      arch/arm/lib/bootm.o
  CC      arch/arm/cpu/armv7/cp15.o
  CC      arch/arm/imx-common/speed.o
board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.c:127:22: warning: ‘seq’ defined but not used [-Wunused-variable]
 static enum qn_level seq[3][2] = {
                      ^
board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.c:131:21: warning: ‘qn_output’ defined but not used [-Wunused-variable]
 static enum qn_func qn_output[8] = {
                     ^
  CC      arch/arm/cpu/armv7/syslib.o
  CC      arch/arm/lib/sections.o
  CC      arch/arm/imx-common/i2c-mxv7.o
  CC      arch/arm/lib/stack.o
  LD      board/freescale/mx6ull_alientek_emmc/built-in.o
  AS      arch/arm/cpu/armv7/lowlevel_init.o
  CC      arch/arm/cpu/armv7/mx6/soc.o
  CC      arch/arm/lib/interrupts.o
  CC      arch/arm/imx-common/misc.o
  CC      cmd/boot.o
  CC      arch/arm/imx-common/cache.o
  CC      arch/arm/lib/reset.o
  CC      cmd/bootm.o
  CC      arch/arm/imx-common/init.o
  CC      arch/arm/lib/cache.o
  CC      arch/arm/cpu/armv7/mx6/clock.o
  CC      arch/arm/lib/cache-cp15.o
  CC      cmd/help.o
  CC      arch/arm/imx-common/video.o
  CC      cmd/version.o
  CC      arch/arm/imx-common/syscounter.o
  AR      arch/arm/lib/lib.a
  CC      arch/arm/lib/eabi_compat.o
  CC      cmd/source.o
  LD      arch/arm/lib/built-in.o
  CC      arch/arm/imx-common/cmd_bmode.o
  CC      cmd/bdinfo.o
  CC      common/init/board_init.o
  LD      arch/arm/imx-common/built-in.o
  CC      cmd/bmp.o
  CC      disk/part.o
  LD      arch/arm/cpu/armv7/mx6/built-in.o
  AS      arch/arm/cpu/armv7/start.o
  LD      common/init/built-in.o
  CC      common/main.o
  LD      arch/arm/cpu/armv7/built-in.o
  LD      drivers/adc/built-in.o
  CC      drivers/block/disk-uclass.o
  CC      cmd/cache.o
  CC      common/exports.o
  LD      drivers/block/built-in.o
  CC      disk/part_dos.o
  CC      drivers/core/device.o
  CC      cmd/console.o
  CC      common/hash.o
  CC      cmd/echo.o
  CC      common/cli_hush.o
  LD      disk/built-in.o
  LD      drivers/dma/built-in.o
  CC      cmd/elf.o
  CC      drivers/gpio/mxc_gpio.o
  LD      drivers/gpio/built-in.o
  CC      drivers/core/lists.o
  CC      drivers/i2c/i2c_core.o
  CC      cmd/exit.o
  CC      cmd/ext4.o
  CC      drivers/core/root.o
  CC      drivers/i2c/mxc_i2c.o
  CC      cmd/ext2.o
  CC      drivers/core/uclass.o
  CC      cmd/fat.o
  CC      cmd/fdt.o
  CC      common/autoboot.o
  LD      drivers/i2c/built-in.o
  CC      drivers/mmc/fsl_esdhc.o
  CC      drivers/core/util.o
  CC      common/board_f.o
  CC      drivers/core/device-remove.o
  CC      drivers/mmc/mmc.o
  CC      drivers/core/dump.o
  CC      common/board_r.o
  CC      cmd/flash.o
  LD      drivers/core/built-in.o
  CC      drivers/crypto/fsl/sec.o
  CC      cmd/fs.o
  CC      common/board_info.o
  CC      cmd/fuse.o
  LD      drivers/crypto/fsl/built-in.o
  LD      drivers/crypto/rsa_mod_exp/built-in.o
  LD      drivers/crypto/built-in.o
  LD      drivers/dfu/built-in.o
  CC      common/bootm.o
  LD      drivers/hwmon/built-in.o
  CC      drivers/input/input.o
  CC      cmd/gpio.o
  CC      cmd/i2c.o
  CC      common/bootm_os.o
  LD      drivers/input/built-in.o
  LD      drivers/memory/built-in.o
  CC      drivers/misc/mxc_ocotp.o
  CC      drivers/mmc/mmc_write.o
  CC      common/env_attr.o
  LD      drivers/mmc/built-in.o
  CC      drivers/mtd/mtdcore.o
  LD      drivers/misc/built-in.o
  CC      cmd/itest.o
  CC      drivers/pcmcia/tqm8xx_pcmcia.o
  CC      common/env_callback.o
  LD      drivers/pcmcia/built-in.o
  LD      drivers/pwm/built-in.o
  CC      drivers/rtc/date.o
  CC      cmd/load.o
  CC      common/env_flags.o
  LD      drivers/rtc/built-in.o
  LD      drivers/soc/built-in.o
  LD      drivers/sound/built-in.o
  CC      drivers/thermal/thermal-uclass.o
  CC      drivers/mtd/mtd_uboot.o
  CC      drivers/thermal/imx_thermal.o
  CC      common/env_mmc.o
  LD      drivers/mtd/built-in.o
  LD      drivers/mtd/onenand/built-in.o
  CC      cmd/mem.o
  CC      drivers/mtd/spi/sf_probe.o
  LD      drivers/thermal/built-in.o
  LD      drivers/timer/built-in.o
  CC      common/fdt_support.o
  LD      drivers/tpm/built-in.o
  LD      drivers/twserial/built-in.o
  CC      drivers/video/cfb_console.o
  CC      drivers/mtd/spi/spi_flash.o
  CC      cmd/mii.o
  CC      cmd/mdio.o
  CC      common/miiphyutil.o
  CC      drivers/mtd/spi/sf_params.o
  CC      cmd/misc.o
  CC      drivers/mtd/spi/sf.o
  CC      common/usb.o
  CC      cmd/mmc.o
  LD      drivers/mtd/spi/built-in.o
  CC      cmd/net.o
  CC      drivers/video/mxsfb.o
  CC      cmd/pcmcia.o
  CC      drivers/video/videomodes.o
  CC      cmd/sf.o
  CC      cmd/setexpr.o
  CC      common/usb_hub.o
  CC      cmd/test.o
  LD      drivers/video/bridge/built-in.o
  LD      drivers/video/built-in.o
  CC      drivers/watchdog/imx_watchdog.o
  CC      cmd/usb.o
  LD      drivers/watchdog/built-in.o
  LD      drivers/built-in.o
  CC      cmd/ximg.o
  CC      drivers/net/fec_mxc.o
  CC      common/usb_storage.o
  CC      cmd/nvedit.o
  CC      cmd/disk.o
  LD      drivers/net/built-in.o
  CC      drivers/net/phy/phy.o
  CC      common/flash.o
  LD      cmd/built-in.o
  CC      common/splash.o
  CC      drivers/net/phy/smsc.o
  CC      common/env_common.o
  LD      drivers/pci/built-in.o
  CC      drivers/power/power_core.o
  CC      drivers/power/power_i2c.o
  CC      common/bouncebuf.o
  LD      drivers/net/phy/built-in.o
  LD      drivers/power/built-in.o
  LD      drivers/power/battery/built-in.o
  CC      common/console.o
  CC      common/dlmalloc.o
  LD      drivers/power/fuel_gauge/built-in.o
  LD      drivers/power/mfd/built-in.o
  CC      common/malloc_simple.o
  CC      drivers/power/pmic/pmic_pfuze3000.o
  LD      drivers/power/pmic/built-in.o
  LD      drivers/power/regulator/built-in.o
  CC      drivers/serial/serial.o
  CC      common/image.o
  CC      common/image-fdt.o
  CC      drivers/serial/serial_mxc.o
  CC      common/memsize.o
  CC      common/stdio.o
  CC      common/cli_simple.o
  CC      common/cli.o
  LD      drivers/serial/built-in.o
  CC      drivers/spi/spi.o
  CC      common/cli_readline.o
  CC      common/command.o
  CC      common/s_record.o
  CC      drivers/spi/fsl_qspi.o
  CC      common/xyzModem.o
  LD      drivers/spi/built-in.o
  LD      drivers/usb/dwc3/built-in.o
  LD      drivers/usb/emul/built-in.o
  LD      drivers/usb/gadget/built-in.o
  CC      drivers/usb/eth/usb_ether.o
  LD      drivers/usb/gadget/udc/built-in.o
  CC      drivers/usb/host/ehci-hcd.o
  LD      common/built-in.o
  CC      drivers/usb/eth/asix.o
  LD      drivers/usb/musb/built-in.o
  LD      drivers/usb/phy/built-in.o
  LD      drivers/usb/ulpi/built-in.o
  LD      drivers/usb/musb-new/built-in.o
  CC      fs/fs.o
  CC      lib/libfdt/fdt.o
  LD      drivers/usb/eth/built-in.o
  CC      net/checksum.o
  CC      lib/libfdt/fdt_ro.o
  CC      fs/ext4/ext4fs.o
  CC      net/arp.o
  CC      drivers/usb/host/ehci-mx6.o
  CC      net/bootp.o
  CC      fs/ext4/ext4_common.o
  LD      drivers/usb/host/built-in.o
  LD      test/built-in.o
  CC      test/dm/cmd_dm.o
  CC      lib/libfdt/fdt_rw.o
  LD      test/dm/built-in.o
  CC      lib/libfdt/fdt_strerror.o
  CC      net/eth_legacy.o
  CC      lib/libfdt/fdt_sw.o
  CC      lib/libfdt/fdt_wip.o
  CC      lib/libfdt/fdt_empty_tree.o
  CC      net/eth_common.o
  CC      lib/libfdt/fdt_addresses.o
  CC      lib/libfdt/fdt_region.o
  CC      net/net.o
  CC      net/nfs.o
  LD      lib/libfdt/built-in.o
  CC      lib/zlib/zlib.o
  CC      net/ping.o
  CC      fs/ext4/dev.o
  CC      net/tftp.o
  CC      fs/ext4/ext4_write.o
  CC      fs/ext4/ext4_journal.o
  LD      net/built-in.o
  CC      fs/ext4/crc16.o
  CC      lib/crc7.o
  CC      lib/crc8.o
  CC      lib/crc16.o
  CC      lib/gunzip.o
  CC      lib/initcall.o
  CC      lib/lmb.o
  LD      fs/ext4/built-in.o
  LD      lib/zlib/built-in.o
  CC      fs/fat/fat_write.o
  CC      lib/ldiv.o
  CC      lib/net_utils.o
  CC      lib/qsort.o
  CC      lib/rc4.o
  CC      lib/strmhz.o
  CC      lib/list_sort.o
  CC      lib/hashtable.o
  CC      lib/errno.o
  CC      lib/display_options.o
  CC      lib/crc32.o
  CC      lib/ctype.o
  CC      lib/div64.o
  CC      lib/hang.o
  CC      lib/linux_compat.o
  CC      lib/linux_string.o
  CC      lib/membuff.o
  CC      lib/slre.o
  CC      lib/string.o
  CC      lib/time.o
  CC      lib/vsprintf.o
  CC      fs/fat/file.o
  CC      lib/panic.o
  CC      lib/strto.o
  LD      fs/fat/built-in.o
  LD      fs/built-in.o
  LD      lib/built-in.o
  CC      examples/standalone/stubs.o
  CC      examples/standalone/hello_world.o
  LD      examples/standalone/libstubs.o
  LD      examples/standalone/hello_world
  OBJCOPY examples/standalone/hello_world.srec
  OBJCOPY examples/standalone/hello_world.bin
  LD      u-boot
  OBJCOPY u-boot-nodtb.bin
  OBJCOPY u-boot.srec
  SYM     u-boot.sym
  COPY    u-boot.bin
  CFGS    board/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp
  MKIMAGE u-boot.imx
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.1

5、将 uboot 烧录到 SD卡中

sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 conv=fsync
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 conv=fsync
[sudo] password for onlylove: 
419+0 records in
419+0 records out
429056 bytes (429 kB, 419 KiB) copied, 0.0837758 s, 5.1 MB/s
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$

6、启动 uboot

U-Boot 2016.03 (Aug 20 2022 - 00:46:14 -0700)

CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 43C
Reset cause: POR
Board: MX6ULL ALIENTEK EMMC
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
unsupported panel ATK-LCD-7-1024x600
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
Net:   FEC1
Normal Boot
Hit any key to stop autoboot:  0
=> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bmode   - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
bmp     - manipulate BMP image data
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
clocks  - display clocks
clrlogo - fill the boot logo area with black
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
flinfo  - print FLASH memory information
fstype  - Look up a filesystem type
fuse    - Fuse sub-system
go      - start application at address 'addr'
gpio    - query and control gpio pins
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
load    - load binary file from a filesystem
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mtest   - simple RAM read/write test
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
pmic    - PMIC
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
save    - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
sf      - SPI flash sub-system
showvar - print local hushshell variables
size    - determine a file's size
sleep   - delay execution for some time
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
boot_fdt=try
bootargs=console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.15:/home/onlylove/my/nfs/rootfs,proto=tcp rw ip=192.168.1.20:192.168.1.15:192.168.1.1:255.255.255.0::eth0:off
bootcmd=tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
ethact=FEC1
ethaddr=b8:ae:1d:01:00:00
ethprime=FEC
fdt_addr=0x83000000
fdt_file=imx6ull-14x14-emmc-7-1024x600-c.dtb
fdt_high=0xffffffff
fileaddr=83000000
filesize=9727
findfdt=if test $fdt_file = undefined; then if test $board_name = EVK && test $board_rev = 9X9; then setenv fdt_file imx6ull-9x9-evk.dtb; fi; if test $board_name = EVK && test $board_rev = 14X14; then setenv fdt_file imx6ull-14x14-evk.dtb; fi; if test $fdt_file = undefined; then echo WARNING: Could not determine dtb to use; fi; fi;
gatewayip=192.168.1.1
get_cmd=dhcp
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
ipaddr=192.168.1.10
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" clk_ignore_unused
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
netmask=255.255.255.0
panel=ATK-LCD-7-1024x600
script=boot.scr
serverip=192.168.1.15

Environment size: 2704/8188 bytes
=>

7、配置 uboot 参数

根据实际情况配置:

setenv ipaddr 192.168.6.200
setenv gatewayip 192.168.6.2
setenv serverip 192.168.6.129
saveenv

四、rootfs

1、版本选择

在这里插入图片描述

2、解压

tar -xvf rootfs.tar.bz2

五、Linux

1、版本选择

在这里插入图片描述

2、解压

tar -xvf linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ pwd
/home/onlylove/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
arch     Documentation  init     lib                   mx6ull_14x14_evk_nand.sh  REPORTING-BUGS  tools
block    drivers        ipc      linux.code-workspace  mx6ull_alientek_emmc.sh   samples         usr
COPYING  firmware       Kbuild   MAINTAINERS           mx6ull_alientek_nand.sh   scripts         virt
CREDITS  fs             Kconfig  Makefile              net                       security        vmlinux.dis
crypto   include        kernel   mm                    README                    sound
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$

3、编译

onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
arch     Documentation  init     lib                   mx6ull_14x14_evk_nand.sh  REPORTING-BUGS  tools
block    drivers        ipc      linux.code-workspace  mx6ull_alientek_emmc.sh   samples         usr
COPYING  firmware       Kbuild   MAINTAINERS           mx6ull_alientek_nand.sh   scripts         virt
CREDITS  fs             Kconfig  Makefile              net                       security        vmlinux.dis
crypto   include        kernel   mm                    README                    sound
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ cat mx6ull_alientek_emmc.sh 
#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$

编译成功后,将 zImage 和 设备树拷贝到 tftp 下载目录下。

onlylove@ubuntu:~/my/tftp$ pwd
/home/onlylove/my/tftp
onlylove@ubuntu:~/my/tftp$ ls
imx6ull-alientek-emmc.dtb  zImage
onlylove@ubuntu:~/my/tftp$

4、uboot 加载启动 linux

1、uboot加载命令

tftp 80800000 zImage
tftp 83000000 imx6ull-alientek-emmc.dtb
bootz 80800000 - 83000000

2、uboot加载参数配置

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.6.129:/home/onlylove/my/nfs,proto=tcp,nfsvers=4 rw ip=192.168.6.200:192.168.6.129:192.168.6.2:255.255.255.0::eth0:off'
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;'
saveenv

3、加载过程

U-Boot 2016.03 (Aug 20 2022 - 00:46:14 -0700)

CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 54C
Reset cause: POR
Board: MX6ULL ALIENTEK EMMC
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
unsupported panel ATK-LCD-7-1024x600
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
Net:   FEC1
Normal Boot
Hit any key to stop autoboot:  0
FEC1 Waiting for PHY auto negotiation to complete.... done
Using FEC1 device
TFTP from server 192.168.6.129; our IP address is 192.168.6.20
Filename 'zImage'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############
         2.3 MiB/s
done
Bytes transferred = 5901752 (5a0db8 hex)
Using FEC1 device
TFTP from server 192.168.6.129; our IP address is 192.168.6.20
Filename 'imx6ull-alientek-emmc.dtb'.
Load address: 0x83000000
Loading: ###
         3.4 MiB/s
done
Bytes transferred = 39280 (9970 hex)
Kernel image @ 0x80800000 [ 0x000000 - 0x5a0db8 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300c96f

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15 (onlylove@ubuntu) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #1 SMP PREEMPT Sat Aug 20 01:19:15 PDT 2022
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 ULL 14x14 EVK Board
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb2f000 s16768 r8192 d24192 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.6.129:/home/onlylove/my/nfs,proto=tcp,nfsvers=4 rw ip=192.168.6.200:192.168.6.129:192.168.6.2:255.255.255.0::eth0:off
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 180220K/524288K available (7300K kernel code, 333K rwdata, 2524K rodata, 404K init, 439K bss, 16388K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x809a0308   (9825 kB)
      .init : 0x809a1000 - 0x80a06000   ( 404 kB)
      .data : 0x80a06000 - 0x80a595e0   ( 334 kB)
       .bss : 0x80a5c000 - 0x80ac9fc4   ( 440 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
        Additional per-CPU info printed with stalls.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082f0
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
device-tree: Duplicate name in lcdif@021c8000, renamed to "display#1"
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/flexcan2grp
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/uart2dtegrp
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx6ul-pinctrl 2290000.iomuxc-snvs: Invalid fsl,pins property in node /soc/aips-bus@02200000/iomuxc-snvs@02290000/imx6ul-evk/lcdifresetgrp
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
Advanced Linux Sound Architecture Driver Initialized.
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
backlight supply power not found, using dummy regulator
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
Console: switching to colour frame buffer device 128x37
mxsfb 21c8000.lcdif: initialized
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 233, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
fsl-quadspi 21e0000.qspi: unrecognized JEDEC id bytes: ff, ff, ff
fsl-quadspi 21e0000.qspi: Freescale QuadSPI probe failed
spi_imx 2010000.ecspi: probed
CAN device driver interface
flexcan 2090000.can: device registered (reg_base=a09e8000, irq=25)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet eth1: registered PHC device 1
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbcore: registered new interface driver rtl8187
usbcore: registered new interface driver rndis_wlan
usbcore: registered new interface driver r8152
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
GobiNet: Quectel_WCDMA&LTE_Linux&Android_GobiNet_Driver_V1.3.0
usbcore: registered new interface driver GobiNet
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver option
usbserial: USB Serial support registered for GSM modem (1-port)
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
usbcore: registered new interface driver xpad
usb 2-1: new high-speed USB device number 2 using ci_hdrc
input: EP0820M09 as /devices/platform/soc/2100000.aips-bus/21a4000.i2c/i2c-1/1-0038/input/input1
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2: initialized
imx2-wdt 20bc000.wdog: use WDOG_B to reboot.
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc0: host does not support reading read-only switch, assuming write-enable
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SC16G 14.8 GiB
 mmcblk0: p1
fsl-asrc 2034000.asrc: driver registered
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
imx-wm8960 sound: snd-soc-dummy-dai <-> 2034000.asrc mapping ok
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmc1: MAN_BKOPS_EN bit is not set
NET: Registered protocol family 10
mmc1: new HS200 MMC card at address 0001
mmcblk1: mmc1:0001 8GTF4R 7.28 GiB
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
mmcblk1boot0: mmc1:0001 8GTF4R partition 1 4.00 MiB
mmcblk1boot1: mmc1:0001 8GTF4R partition 2 4.00 MiB
mmcblk1rpmb: mmc1:0001 8GTF4R partition 3 512 KiB
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
 mmcblk1: p1 p2
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
lib80211: common routines for IEEE802.11 drivers
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
input: gpio-keys as /devices/platform/gpio-keys/input/input2
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:23:05 UTC (1385)
fec 20b4000.ethernet eth0: Freescale FEC PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Complete:
     device=eth0, hwaddr=b8:ae:1d:01:00:00, ipaddr=192.168.6.200, mask=255.255.255.0, gw=192.168.6.2
     host=192.168.6.200, domain=, nis-domain=(none)
     bootserver=192.168.6.129, rootserver=192.168.6.129, rootpath=
gpio_dvfs: disabling
can-3v3: disabling
ALSA device list:
  #0: wm8960-audio
VFS: Mounted root (nfs4 filesystem) on device 0:15.
devtmpfs: mounted
Freeing unused kernel memory: 404K (809a1000 - 80a06000)
ALSA: Restoring mixer setting......

Please press Enter to activate this console. random: nonblocking pool is initialized
/var/empty must be owned by root and not group or world-writable.

/ # ls
bin           home          mnt           share         video
dev           include       music         sys           中文测试
drivers       lib           proc          tmp
etc           linuxrc       root          usr
gdbtest       minicom.log   sbin          var
/ #

5、挂载异常解决

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

i.MX 6ULL 驱动开发 一:搭建开发环境 的相关文章

  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl

随机推荐

  • 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs

    http www cnblogs com siwy p 5045556 html 从Java的角度理解前端框架 nodejs reactjs angularjs requirejs seajs 前端神秘的面纱 对后端开发来说 前端是神秘的
  • Chrome,IE等浏览器主页被hao123等篡改的解决方法

    概述 今天自己装了一个破解版的软件 然后我电脑上所有浏览器主页都被篡改了 不管是chrome IE 搜狗全部中招 MD Fuck 忍不了啊 上网搜解决方法 然后一步一步试吧 最后问题解决了 但是在网上找到的答案并不完整 我还算对电脑熟悉 摸
  • <python爬虫之JS逆向实例-2>某宇创-状态码521-加速乐

    声明 本文只作学习研究 禁止用于非法用途 否则后果自负 如有侵犯了您的合法权益 请告知 我将及时更正 删除 谢谢 邮箱地址 lc1139411732 163 com 目标站点 aHR0cHM6Ly93d3cuc2VlYnVnLm9yZy92
  • STC12C5A系列单片机内部 EEPROM 的应用

    参考范例程序 eeprom c include eeprom h Disable ISP IAP EEPROM function Make MCU in a safe state void IapIdle IAP CONTR 0 Close
  • 零基础如何自学Java?

    零基础学习Java 肯定得先去了解Java这门语言 Java是什么 都需要学习什么内容 学出来都能做什么 了解清楚之后在针对性的去学习 这样学习效果才会好 不要盲目的去学习 当然 学习Java肯定是要清楚自己为什么学Java 带有目标性的去
  • python快速抽取二维列表第二维元素

    有一个二维列表 如果需要遍历每一行 相信大家都会 matrix 1 2 3 4 5 6 7 8 9 for row in matrix print row 如果要每次取一列 如果借助numpy的话 我们可以这样 import numpy a
  • android 网络邻居,魅族Flyme系统中怎么设置网络邻居?

    魅族Flyme3 0系统后 系统功能增添了很多新的有趣的功能 在手机的文件管理中有个网络邻居功能 正常情况下是不常用 但在电脑被使用 你需要看电脑的文件时 这个功能就显得很方便 1 打开电脑 在电脑桌面上找到我的电脑 右键 属性 2 在属性
  • 什么是jsp?与servlet区别?request responds cookies session 整理与使用?controller与servlet的区别?

    1 什么是servlet Servlet Servlet Applet 是用JAVA编写的服务器端程序 1 定义 狭义上 指java语言实现的一个接口 广义上 指任意一个实现了这个Servlet接口的类 2 作用 servlet由servl
  • 解决java.net.UnknownHostException:namenode

    报错 原因在于spark配置文件spark defaults conf中配置出错了 错误配置如下 解决方案 spark master 修改成正确的 spark eventLog dir 修改成正确的
  • AesEncryptHelper帮助类,实现C#版Aes加解密

  • Spring Boot 2.x使用篇(一)—— 初识Spring Boot

    文章目录 1 Spring Boot 2 x概述 1 1 Spring Boot与Spring 1 2 Spring Boot与Spring MVC 1 3 Spring Boot的优点 2 IntelliJ IDEA中搭建Spring B
  • virtio 与vhost_net介绍

    1 virtio基本构建模块 virtio是一种I O半虚拟化解决方案 是一套通用I O设备虚拟化的程序 是对半虚拟化Hypervisior中的一组通用I O设备的抽象 是标准化的的开放接口 以使得VM能够访问简化的设备 如块设备和网络设备
  • jAVA编写员工类Employee

    public class Employee private int id private byte sex private String name private String duty private float salary priva
  • 爬虫怎么解决IP限制问题?

    爬虫时 我们不可避免地会遇到网页的反爬封锁 所以有了爬虫的攻防 两股力量在攻防之间不断的对抗 接下来 我们将介绍六种爬虫时ip限制的方法 方法一 1 IP是必须的 如果条件允许 建议使用代理IP 2 在具有外部网络IP的机器上部署代理服务器
  • 良许Linux

    密码的重要性 相信大家都不言而喻 而密码泄漏或信息泄漏 经常是层出不穷地出现 令人防不胜防 所以 一个强大而复杂的密码是保证自己账户安全的第一步 为了防止信息泄漏 我们可以做些什么呢 密码足够复杂 每个平台密码都不一样 比如QQ 微信 邮箱
  • spring-security--基础--4.1--案例:简单登陆登出

    spring security 基础 4 1 案例 简单登陆登出 代码位置 https gitee com DanShenGuiZu learnDemo tree master spring security learn 1 介绍 通过Sp
  • 前端单页面(SPA)和多页面(MPA)

    了解单页面和多页面应用程序 单页面和多页面 SPA Single Page Application 单页面应用程序 例如 后台管理系统 整个应用中只有一个页面 index html MPA Multiple Page Application
  • C#网页设计 - Web控件

    1 服务器控件 ASP NET控件分为服务器控件和HTML标记 服务器控件是在服务器端运行的执行程序逻辑的组件 服务器端的程序可以访问这类控件 而HTML标记是在客户端运行的 服务器端程序不能访问这类控件 服务器控件编程的关键是runat属
  • 软件测试简历项目经验该怎么写?【两年经验】

    在写简历之前 我们先来看看失败者的简历和成功者的简历之间有什么区别 为什么成功者的简历可以在求职中起到 四两拨千斤 的作用 而失败者的简历却被丢进了垃圾桶 这两者到底有什么不同 成功的简历与失败的简历 我们发现 成功的简历尽管每一份都不同
  • i.MX 6ULL 驱动开发 一:搭建开发环境

    一 搭建编译环境 1 工具 工具 版本 开发板 正点原子 imx6ull 开发板 gcc gcc linaro 4 9 4 2017 01 x86 64 arm linux gnueabihf uboot uboot imx 2016 03