freewing 发表于 2021-6-3 09:06:27

mtd-utils工具远程升级镜像

【导语】目前天嵌IMX6UL烧录固件方式可通过USB、SD卡、TFTP网络烧录镜像,当无法使用这三种方式进行烧录时,我们考虑使用mtd-util工具远程网络更换板子镜像,以下介绍该工具在IMX6UL板卡上的移植及使用:1.mtd-utils及依赖工具下载mtd-utils-1.4.4.tar.bz2zlib-1.2.3.tar.gzlzo-2.09.tar.gze2fsprogs-1.46.1.tar.gz2. 解压工具压缩包tar xvf xxx.tar.gz3.编译安装lzo-2.09CC=arm-linux-gnueabihf-gcc./configure --host=arm-linux --prefix=/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/makemake install4.编译安装zlib-1.2.3CC=arm-linux-gnueabihf-gcc./configure --shared--prefix=/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihfmakemake install5.编译安装e2fsprogs-1.46.1exportCROSS=arm-linux-gnueabihf-./configure --host=arm-linux--target=arm-linux--prefix=/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/makemake install-libs6.编译安装mtd-utils-1.4.4export WIiTHOUT_XATTR=1exportCROSS=arm-linux-gnueabihf-exportDESTDIR=/home/mm/date/mtd-util/installexportCFLAGS="-I/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/include-L/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib"
#CC=arm-linux-gnueabihf-gcc./configure --host=arm-linux --prefix=/home/mm/date/mtd-util/installmakemake install最后生成相关命令如下:7.命令的使用将相关命令拷贝至板子/usr/sbin目录下,这里使用IMX6UL、Linux系统进行测试,使用命令前用cat /proc/mtd 查看一下mtdchar字符设备# cat /proc/mtddev:    sizeerasesizenamemtd0: 00400000 00020000"u-boot"mtd1: 00200000 00020000"u-boot-env"mtd2: 00400000 00020000"logo"mtd3: 00a00000 00020000"kernel"mtd4: 00200000 00020000"dtb"mtd5: 0ea00000 00020000"rootfs"这时通过nfs、ftpget等网络方式可将下载镜像拷贝到板子,即可使用nandwrite往nand flash写入镜像数据,写入后需reboot重启验证是否已经写入。# nandwrite -p/dev/mtd3 /mnt/zImage Writing data to block 0 atoffset 0x0Writing data to block 1 atoffset 0x20000Writing data to block 2 atoffset 0x40000Writing data to block 3 atoffset 0x60000更多命令可添加 --help查看使用参数
页: [1]
查看完整版本: mtd-utils工具远程升级镜像