脚本下载地址可参考我写的另一篇博文 https://blog.csdn.net/qq_17270067/article/details/109067027

软件版本代表了uuu能解析这个脚本的最小版本

uuu指令的格式为 PROTOCOL: CMD

uuu_version 1.2.39# Please Replace below items with actually file names
# @_flash.bin          | boot loader
# @_Image          | kernel image, arm64 is Image, arm32 it is zImage
# @_board.dtb          | board dtb file
# @_initramfs.cpio.gz.uboot    | mfgtool init ramfs
# @_rootfs.tar.bz2     | rootfs
# @_uTee.tar           | optee image, put dummy _uTee.tar file here if platform is not MX6/MX7*# 前面这些SDP SDPS SDPU SDPV命令应该是用于下载bootloader的 但是具体下载到哪里就不清楚了 查了uuu工具的wiki也没找到对应说明。
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f flash.bin# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f flash.bin# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f flash.bin -offset 0x57c00
SDPU: jump
# }# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f flash.bin -skipspl
SDPV: jump
# }# use uboot burn bootloader to eMMC
# becaue difference chip, offset is difference
# you can use kernel to do that for specific boards
FB: ucmd setenv fastboot_dev mmc# emmc_dev是u-boot内环境变量 默认值为0
FB: ucmd setenv mmcdev ${emmc_dev}
FB: flash bootloader flash.bin# 判断是否存在名为emmc_ack的环境变量 如果不存在则设置为0
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;# mmc partconf 用于设置emmc的启动分区 设置后会自动保存
# mmc partconf <dev> <boot_ack> <boot_partition> <partition_acces>
# 设置boot1为引导分区 对应emmc的boot0分区
# 这个是个关键 如果你想修改启动的位置 可以参考imx8qxp数据第5章:System Boot
FB: ucmd setenv emmc_cmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0# 判断环境变量emmc_skip_fb是否是yes 如果不是执行emmc_cmd
FB: ucmd if test "${emmc_skip_fb}" != "yes"; then run emmc_cmd; fi# mmc bootbus <dev> <bus_width> <reset_boot_bus_width> <boot_mode>
# 设置位宽 启动模式
FB: ucmd setenv emmc_cmd mmc bootbus ${emmc_dev} 2 2 1;
FB: ucmd if test "${emmc_skip_fb}" != "yes"; then run emmc_cmd; fi# 下载内核 设备树 initrd文件系统
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f Image
FB: ucmd setenv fastboot_buffer ${fdt_addr}
FB: download -f fsl-imx8qxp-nushine.dtb
FB: ucmd setenv fastboot_buffer ${initrd_addr}
FB: download -f fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
#FB: ucmd setenv bootargs console=${console},${baudrate} earlycon=${earlycon},${baudrate}
# 传入内核 initrd文件系统 设备树 在内存中的地址 然后启动内核
# initrd是一个专门用于烧录文件的ramfs
FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}# 通过内核命令行获取emmc编号
# 等待emmc设备节点
FBK: ucmd while [ ! -e /dev/mmcblk*boot0 ]; do sleep 1; echo "wait for /dev/mmcblk*boot* appear"; done;# 查找emmc设备编号, 如果你的平台有两个以上的emmc, 需要用命令确定使用哪个emmc
# echo dev number >/tmp/mmcdev
FBK: ucmd dev=`ls /dev/mmcblk*boot*`; dev=($dev); dev=${dev[0]}; dev=${dev#/dev/mmcblk}; dev=${dev%boot*}; echo $dev > /tmp/mmcdev;# 清除存在的MBR分区 与emmc的特性有关
FBK: ucmd mmc=`cat /tmp/mmcdev`; dd if=/dev/zero of=/dev/mmcblk${mmc} bs=512 count=1# 创建分区 MBR分区最多创建4个 可以使用GPT分区创建更多的分区
# 例子如下 FBK: ucmd mmc=`cat /tmp/mmcdev` ;PARTSTR=$'label:gpt\n,32M,H,*\n,2048M,L,-\n,32M,L,-\n,32M,L,-\n,1M,L,-\n,1024M,L,-\n,,L,-\n'; echo "$PARTSTR" | sfdisk --force /dev/mmcblk${mmc}
FBK: ucmd mmc=`cat /tmp/mmcdev`; PARTSTR=$'10M,500M,0c\n600M,,83\n'; echo "$PARTSTR" | sfdisk --force /dev/mmcblk${mmc}FBK: ucmd mmc=`cat /tmp/mmcdev`; dd if=/dev/zero of=/dev/mmcblk${mmc} bs=1k seek=4096 count=1
FBK: ucmd sync# 下列代码可用于烧录bootloader 不过对于不同的平台有不同的偏移地址 seek需要修改一下
#FBK: ucmd mmc=`cat /tmp/mmcdev`; echo 0 > /sys/block/mmcblk${mmc}boot0/force_ro
#FBK: ucp  flash.bin t:/tmp
#FBK: ucmd mmc=`cat /tmp/mmcdev`; dd if=/tmp/flash.bin of=/dev/mmc${mmc}boot0 bs=1K seek=32
#FBK: ucmd mmc=`cat /tmp/mmcdev`; echo 1 > /sys/block/mmcblk${mmc}boot0/force_ro# 下面的代码用于烧录Image和dtb
FBK: ucmd mmc=`cat /tmp/mmcdev`; while [ ! -e /dev/mmcblk${mmc}p1 ]; do sleep 1; done
# 格式化对应分区
FBK: ucmd mmc=`cat /tmp/mmcdev`; mkfs.vfat /dev/mmcblk${mmc}p1
FBK: ucmd mmc=`cat /tmp/mmcdev`; mkdir -p /mnt/fat
# 挂载到/mnt/fat
FBK: ucmd mmc=`cat /tmp/mmcdev`; mount -t vfat /dev/mmcblk${mmc}p1 /mnt/fat
# 烧录Image和dtb
FBK: ucp  Image t:/mnt/fat
FBK: ucp  fsl-imx8qxp-nushine.dtb t:/mnt/fat
#FBK: ucp  _uTee.tar t:/tmp/op.tar
#FBK: ucmd tar -xf /tmp/op.tar -C /mnt/fat
FBK: ucmd umount /mnt/fat# 下面的代码用于烧录rootfs
# 格式化对应分区
FBK: ucmd mmc=`cat /tmp/mmcdev`; mkfs.ext3 -F -E nodiscard /dev/mmcblk${mmc}p2
FBK: ucmd mkdir -p /mnt/ext3
# 挂载到/mnt/ext3
FBK: ucmd mmc=`cat /tmp/mmcdev`; mount /dev/mmcblk${mmc}p2 /mnt/ext3
FBK: acmd export EXTRACT_UNSAFE_SYMLINKS=1; tar -jx -C /mnt/ext3
FBK: ucp  imx8qxpmek-4.14-obu-rootfs.tar.bz2 t:-
FBK: Sync
FBK: ucmd umount /mnt/ext3
FBK: DONE

imx8qxp uuu 下载脚本example_kernel_emmc.uuu注释相关推荐

  1. 还在为pip安装发愁?whl自助搜索查找及下载脚本问世!

    0.导语 在学习Python的过程中,大家肯定会遇到pip安装失败的问题,要么是因为网速问题,要么是因为win系统上与vs绑定,必须要装vs等一些系列问题,而这些问题有个很关键的解决办法,那就是直接下 ...

  2. pycharm python脚本自动头文件注释

    pycharm python脚本自动头文件注释 用的脚本 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...

  3. python代码示例下载-Python实现多线程下载脚本的示例代码

    0x01 分析 一个简单的多线程下载资源的Python脚本,主要实现部分包含两个类: Download类:包含download()和get_complete_rate()两种方法.download() ...

  4. phoenixcard 获取下载脚本失败,请确认固件版本是否正确

    在玩全志芯片的开发板时,习惯于用 PhoenixCard  将镜像文件写入SD卡. 当时看到pine+的板子比较便宜,就买了一片,当时安装的是android5.1的系统.时间长了也记不得当时用哪种软件 ...

  5. EC600 QuecPython下载脚本代码到开发板、设置开机自运行

    同专栏的上一篇介绍了 EC600 QuecPython 的开发环境搭建和固件下载,本篇介绍如何 下载脚本代码到开发板.设置开机自运行. 下载脚本到EC600开发板并运行 编辑脚本,建议使用 Pycha ...

  6. GNSS数据下载脚本(Perl+Python)

    下面的Perl脚本为武汉大学测绘学院李星星教授开源的linux端GNSS数据下载脚本,为了方便使用,本人编写了Python脚本用于数据分类.解压缩和重命名等操作 使用方式为:./download_fi ...

  7. 三菱FX3U/FX1N底层源码,PLSR源码, 总体功能和指令可能支持在RUN中下载程序,支持注释的写入和读取,支持脉冲输出与定位指令(包括PLSY /PWM/PLSR/PLSV/DRVI /DRV

    三菱FX3U/FX1N底层源码,PLSR源码, 总体功能和指令可能支持在RUN中下载程序,支持注释的写入和读取,支持脉冲输出与定位指令(包括PLSY /PWM/PLSR/PLSV/DRVI /DRVA ...

  8. tensorflow教程中的mnist数据下载脚本

    安利一篇我翻译的国外大牛的神经网络入门文章 阅读tensorflow教程过程中,最初的例子使用mnist,官方提供的下载脚本链接已经失效,从网上一直没有找到正确的input_data.py的脚本,查看 ...

  9. python简单的批量下载脚本

    最近在学django,需要下载学习视频,然后我用IDM下载的时候发现下载url的文件后缀是有规律的,类似于a_01.mp4,a_02.mp4,所以我写了一个python的下载脚本,这样的话就不用一个一 ...

  10. TED演讲字幕下载脚本的使用方法

    有朋友反映TEDHelper1.1已经不能使用,想试用TED字幕下载脚本,不过我现在老家休假,手头上只有适用于win7平台的打包工具.为保证脚本的正常使用,这里介绍一个较通用的方法. 这个方法稍微有些 ...

最新文章

  1. 【独立开发人员er Cocos2d-x实战 009】Cocos2dx 菜单项CCMenu使用
  2. 用Jenkins自动化构建Android和iOS应用
  3. innobackupex自动备份脚本
  4. 【MATLAB】matlab 文档使用 ( 文档查询 | 文档层次 | 自带搜索工具 | 帮助命令 | 学习导引 )
  5. [蓝桥杯][历届试题]小朋友排队(树状数组)
  6. 各抓包软件的之间差异_系统软件和应用程序软件之间的差异
  7. 算法(Algorithms)第4版 练习 2.1.24
  8. Linux调优/优化
  9. Java魔法堂:自定义和解析注解
  10. mongodb聚合内存不足解决方案
  11. python 基础 5 while循环语句
  12. 给大家推荐个vs里面的小插件,自动对齐代码
  13. keySet和entrySet效率比较
  14. 海豚蓝牙ASIO驱动程序使用说明
  15. 有道词典的本地/扩展/离线词库
  16. Unit3D--人机交互入门
  17. 一站购遍全球 史上最长亚马逊Prime会员日即将开启
  18. 如何评价深度学习相关顶级期刊论文难复现的问题?
  19. 【Tableau 设计提示16】如何在 Tableau 中使用标记(批注)
  20. HDUOJ 2048 - 神、上帝以及老天爷(错排公式)

热门文章

  1. Django实战【一】—CRM需求分析
  2. mumu模拟器Android版本才6,MuMu模拟器官方下载
  3. 实现xtrabackup全量备份与全量恢复
  4. 关于打开CMD窗口一闪而退的解决方法
  5. 电脑取消撤销快捷键是什么_撤销快捷键ctrl加什么
  6. ps编辑工具:渐隐/合并拷贝
  7. 深层和浅层卷积_浅层vs深层javascript
  8. 2021最新文本综述:从浅层到深度学习(附PDF下载)
  9. python读取tif图片报错
  10. box-sizing 的使用