This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
下面的票证显示了一个问题、而尝试从 eMMC 引导分区引导 时出现 引导模式[7] = 0时、tiboot3.bin 尝试从"FS"而不是"RAW"错误地加载 tispl.bin。
它提供了一个 u-boot 补丁来作为工作循环来修复它。
(1)[常见问题解答] AM62A 上以 eMMC 引导模式[7]="0"启动时出现 A53引导二进制(tispl.bin)加载错误-处理器论坛- TI E2E 支持论坛
基于此补丁、以下是启用 eMMC UDA 引导模式和 eMMC 引导模式的分步指南。
HW:AM62A EVM、 SK-AM62A-LP 评估板| TI.com
软件:TI SDK、 ti-processor-sdk-linux-am62axx-evm-08.06.00.45。 https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM62A
------------------------------------------------------------------------------------------------------
1. SW2/SW3和引导模式引脚之间的引脚映射。
引导模式(SW2/SW3)
LSB 最高有效位 LSB 最高有效位
SD 引导模式: SW2:1100 0010 SW3:0100 0000
eMMC UDA 引导模式: SW2:1100 0010 SW3:0000 0000
eMMC 引导模式: SW2:1101 0010 SW3:0000 0000
以 SD 引导模式为例、SW2为低字节、SW3为高字节。 在每个字节中、LSB 是高位。
------------------------------------------------------------------------------------------------------
2.实例:使用 EMMC 引导模式进行引导。
建议擦除 eMMC boot0分区并删除 eMMC 用户分区中的分区表、以避免首先发生冲突。 请参阅附录 E 和 F。检查是否擦除并删除"正常"、请参阅附录 G 和 H
步骤1:向 ti-processor-sdk-linux-am62axx-evm-08.06.00.45中的 u-boot 源应用补丁0001-port-script-from-host-PC-to-client-evm.patch。 见附录 A.
步骤2:在 PC 上使用 tisdk-edgeai-image-am62axx-evm.tar.xz 创建 SD 卡、请参阅附录 B
步骤3:准备 SD 卡及相关文件以写入 eMMC。 见附录 C.
步骤4: 向 ti-processor-sdk-linux-am62axx-evm-08.06.00.45中的 u-boot 源应用补丁0001-am62a-bootmode7-eMMC.patch 。 并更新到 SD 卡。 见附录 D
步骤5: 切换到 SD 引导模式、然后插入 SD 卡、为 AM62A EVM 上电。 使用 uboot 命令将 rootfs 位置设置为 SD 中的 rootfs 分区。
按任意键以停止自动引导:0
=>
=> setenv bootpart 1:2
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
=>
步骤6: 再次为 EVM 上电、在 Linux 控制台中运行以下命令以格式化 eMMC 并准备引导和 rootfs 分区。
Arago Project am62axx-EVM ttyS2
Arago 2021.09 am62axx-EVM ttyS2
am62axx-EVM 登录名:root
root@am62axx-evm:/opt/edgeai-gst-apps CD
root@am62axx-evm:~# chmod +x create-sdcard_client.sh
root@am62axx-evm:~#./create-sdcard_client.sh
Notice1:当前器件(mmcblk1)是 SD 卡;器件(mmcblk0)是 AM62A EVM 上的 eMMC。
如果它在您的电路板上相反,请在 check_for_mm ()函数中将 ROOTDRIVE 更改为"mmcblk0"。
/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/bin/create-sdcard_client.sh
tcheck_for_emmc ()
{
#找到可用的 eMMC
ROOTDRIVE=mmcblk1.
partition_test=`cat /proc/partitions | grep -v $ROOTDRIVE | grep '\ \|\ '| grep -n '`
如果["$PARTITION_TEST"=""];则
echo -e "未找到 eMMC \n"
从1号出口下
和数据
}
注释2:
有时、/dev/mmcblk0p2上存在已有文件系统、需要输入命令以使脚本恢复运行。
##################################################################出##############################
分区 rootfs
##################################################################出##############################
mke2fs 1.45.7 (2021年1月28日)
/dev/mmcblk0p2包含标记为"rootfs"的 ext3文件系统
最后安装在/home/root/rootfs 2月27日星期一10:38:19 2023
是否仍继续? (是、否)
步骤7: 转到内核。 eMMC 中的引导分区为空。
root@am62axx-evm:~ ls -l /dev/mmc *
BRW-RW-----1根磁盘179, 0 Feb 27 10:40 /dev/mmcblk0
BRW-RW--> 1根磁盘179, 32 Feb 27 10:38 /dev/mmcblk0boot0
BRW-RW-----1根磁盘179, 64 Feb 27 10:38 /dev/mmcblk0boot1
BRW-RW-----1根磁盘179, 1 Feb 27 10:40 /dev/mmcblk0p1
BRW-RW-----1根磁盘179, 2 Feb 27 10:40 /dev/mmcblk0p2
crw------- 1根237、0 Feb 27 10:38 /dev/mmcblk0rpmb
BRW-RW-----1根磁盘179, 96二月27 10:38 /dev/mmcblk1
BRW-RW--> 1根磁盘179, 97 Feb 27 10:38 /dev/mmcblk1p1
BRW-RW-----1根磁盘179, 98 Feb 27 10:38 /dev/mmcblk1p2
root@am62axx-evm:~# mkdir -p eMMC_boot
root@am62axx-EVM:~# mount /dev/mmcblk0p1 eMMC_boot/
root@am62axx-EVM:~ ls -l eMMC_boot/
共计2527
-rwxrwx--1根磁盘360193二月27 10:40 tiboot3.bin
-rwxrwx--1根磁盘1210016二月27 10:40 tispl.bin
- rwxrwx-- 1根磁盘1015424二月27 10:40 u-boot.img
-rwxrwx--1根磁盘486二月27 10:40 uEnv.txt
root@am62axx-evm:~ rm -rf eMMC_boot/*
root@am62axx-EVM:~ ls -l eMMC_boot/
总计0
root@am62axx-evm:~#同步
步骤8: 再次为 AM62A EVM 上电。 然后在 uboot 控制台中运行以下命令、将 tiboot3/tispl/u-boot 写入 eMMC boot0分区。
按任意键以停止自动引导:0
=>
=> MMC dev 0 1.
切换到分区#1,确定
mmc0 (第1部分)是当前器件
=> MMC 擦除0x0 0x2000
MMC 擦除:dev # 0,block # 0,count 8192... 8192个块已擦除:好的
=> fatload MMC 1 ${loadaddr}tiboot3.bin
360193字节20ms 内读取(17.2MiB/s)
=> MMC 写入${loadaddr}0x0 0x400
MMC 写:dev # 0,block # 0,count 1024... 写入了1024个块:好的
=> fatload MMC 1 ${loadaddr}tispl.bin
1210016字节56ms 内读取(20.6MiB/s)
=> MMC 写入${loadaddr}0x400 0x1000
MMC 写:dev # 0,block # 1024,count 4096... 已写入4096个块:好的
=> fatload MMC 1 ${loadaddr}u-boot.img
47ms 内读取1015424字节(20.6MiB/s)
=> MMC 写入${loadaddr}0x1400 0x2000
MMC write: dev # 0, block # 5120, count 8192... 8192个块写入:好的
=>MMC partconf 0 1 1.
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
步骤9: 切换到 EMMC 引导模式、移除 SD 卡、为 AM62A EVM 上电。 然后在 uboot 控制台中运行以下命令。
按任意键以停止自动引导:0
=>
=> MMC bootbus 0 2 0 0
=> setenv bootpart 0:2
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
步骤9:再次为 EVM 上电。 然后它将进入 Linux 控制台、这意味着系统成功启动。
此外、您可以再次检查引导分区是否为空、这证明系统应从 boot0分区引导。
root@am62axx-evm:/opt/edgeai-gst-apps ls -l /dev/mmc *
BRW-RW-----1根磁盘179, 0 Feb 27 10:38 /dev/mmcblk0
BRW-RW--> 1根磁盘179, 32 Feb 27 10:38 /dev/mmcblk0boot0
BRW-RW-----1根磁盘179, 64 Feb 27 10:38 /dev/mmcblk0boot1
BRW-RW-----1根磁盘179, 1 Feb 27 10:38 /dev/mmcblk0p1
BRW-RW-----1根磁盘179, 2 Feb 27 10:38 /dev/mmcblk0p2
crw------- 1根237、0 Feb 27 10:38 /dev/mmcblk0rpmb
root@am62axx-evm:/opt/edgeai-gst-apps CD
root@am62axx-evm:~# mkdir -p eMMC_boot
root@am62axx-EVM:~# mount /dev/mmcblk0p1 eMMC_boot
root@am62axx-EVM:~ ls -l eMMC_boot/
总计0
root@am62axx-EVM:~# mkdir -p eMMC_rootfs
root@am62axx-EVM:~# mount /dev/mmcblk0p2 eMMC_rootfs
安装:/home/root/emmc_rootfs:/dev/mmcblk0p2已安装在/上。
------------------------------------------------------------------------------------------------------
3.情况: 使用 EMMC UDA 引导模式进行引导。
建议擦除 eMMC boot0分区并删除 eMMC 用户分区中的分区表、以避免首先发生冲突。 请参阅附录 E 和 F。 检查是否擦除并删除"正常"、请参阅附录 G 和 H
第1步:与上面的第1步相同
第2步:与上面的第2步相同
步骤3:与上面的步骤3相同
步骤4:与上面的步骤4相同
步骤5:与上面的步骤5相同
步骤6:与上面的步骤6相同
步骤7: 切换到 SD 引导模式、然后插入 SD 卡。 为 AM62A EVM 上电。 然后在 uboot 控制台中运行以下命令。
按任意键以停止自动引导:0
=>
=>MMC partconf 0 1 7 1.
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
步骤8: 切换到 EMMC UDA 引导模式、然后移除 SD 卡、为 AM62A EVM 上电。 然后在 uboot 控制台中运行以下命令。
按任意键以停止自动引导:0
=>
=> MMC bootbus 0 2 0 0
=> setenv bootpart 0:2
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
=>
步骤9: 再次为 AM62A EVM 上电。 然后进入 Linux 控制台、这意味着系统正常工作。
附录:
------------------------------------------------------------------------------------------------------
a.应用补丁0001-port-script-from-host-PC-to-client-evm.patch 的步骤
------------------------------------------------------------------------------------------------------
b. 在 PC 上使用 tisdk-edgeai-image-am62axx-evm.tar.xz 创建 SD 卡的步骤
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo ./bin/create-sdcard.sh
(选择1)
可用于将映像写入的驱动器:
#主要次要尺寸名称
1:8 16 62367744 sdb
输入 Device Number (设备编号)或 n 退出:1
(选择2)
##################################################################出##############################
***** 警告****
所选设备大于16GB
继续超过此点将擦除器件中的数据
再次检查这是正确的 SD 卡
##################################################################出##############################
是否要继续[y/n]:y
(选择3)
##################################################################出##############################
如果只需要 boot 和 rootfs (大多数用户),请选择2个分区。
如果需要 SD 卡上的 SDK 和其他内容、请选择3个分区。 这是
通常由设备制造商使用,它们可以对 tarball 进行分区。
*****警告****继续将擦除 sdb 上的所有数据
##################################################################出##############################
需要的分区数[2/3]:2.
(选项4、可选)
##################################################################出##############################
分区 rootfs
##################################################################出##############################
mke2fs 1.44.1 (2018年3月24日)
/dev/sdb2包含标记为"rootfs"的 ext3文件系统
上次安装于/media/a0224068local/rootfs 上4月18日15:53:09 2023
是否仍继续? (是、否)是
(选择5)
##################################################################出##############################
分区现已完成
继续安装文件系统或选择"n"以安全退出
**警告**继续将擦除分区中的所有文件
##################################################################出##############################
是否继续? [y/n](是/否):y (是/否)
(选择6)
##################################################################出##############################
选择要安装的文件路径
1)从 SDK 安装预构建映像
2)输入自定义引导和 rootfs 文件路径
##################################################################出##############################
立即选择[1/2]:1.
(选择7)
##################################################################出##############################
找到多个 rootfs tarball
##################################################################出##############################
1:tisdk-edgeai-image-am62axx-evm.tar.xz
2:tisdk-default-image-am62axx-evm.tar.xz
3:tisdk-docker-rootfs-image-am62axx-evm.tar.xz
4:tisdk-tinlinux-image-am62axx-evm.tar.xz
5:tisdk-base-image-am62axx-evm.tar.xz
6:tisdk-bootstrap -image-am62axx-evm.tar.xz
7:tisdk-tiny-image-am62axx-evm.tar.xz
输入 rootfs Tarball 的数量:1
------------------------------------------------------------------------------------------------------
c.准备 SD 卡及相关文件以写入 eMMC 的步骤
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo mkdir -p /media/a0224068local/rootfs/home/root/board-support
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo mkdir -p /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/prebuilt-images/tispl.bin /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/prebuilt-images/u-boot.img /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/prebuilt-images/uEnv.txt /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/prebuilt-images/tiboot3-am62ax-hs-fs-evm.bin /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo mkdir -p /media/a0224068local/rootfs/home/root/filesystem
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp 文件系统/tisdk-edgeai-image-am62axx-evm.tar.xz /media/a0224068local/rootfs/home/root/filesystem
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp bin/ create-sdcard_client.sh /media/a0224068local/rootfs/home/root
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45同步
注意:对于 GP EVM、请使用 tiboot3-am62ax-gp-evm.bin。
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/prebuilt-images/tiboot3-am62ax-gp-evm.bin /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
------------------------------------------------------------------------------------------------------
d. 应用补丁0001-am62a-bootmode7-emmc.patch 的步骤
e2e.ti.com/.../0001_2D00_am62a_2D00_bootmode7_2D00_emmc.patch
步骤1:将补丁应用到 uboot 源。
步骤2:重新编译 u-boot
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 make u-boot-r5
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 export TI_SECURE_DEV_PKG=/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/core-secdev-k3
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 make sysfw- image
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 make u-boot-A53
第3步:更新 SD 卡
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/k3-image-gen-2022.01/tiboot3-am62ax-hs-fs-evm.bin /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
a0224068local@a0224068local-HP-EliteBook 830-G7-Notebook-PC:/opt/1Twork/repository/ti-processor-sdk-linux-am62axx-evm-08.06.00.45 sudo cp board-support/u-boot_build/A53/tispl.bin /media/a0224068local/rootfs/home/root/board-support/prebuilt-images
------------------------------------------------------------------------------------------------------
擦除 eMMC boot0分区的步骤。
步骤1:切换到 SD 引导模式、插入 SD 卡、打开 EVM 电源。
步骤2:使用 uboot 命令进行擦除
按任意键以停止自动引导:0
=>
=> MMC dev 0 1.
切换到分区#1,确定
mmc0 (第1部分)是当前器件
=> MMC 擦除0 2000
MMC 擦除:dev # 0,block # 0,count 8192... 8192个块已擦除:好的
=>MMC 部件
##未知分区表类型0
------------------------------------------------------------------------------------------------------
f.删除 eMMC 用户分区中的分区表的步骤
步骤1:切换到 SD 引导模式、插入 SD 卡、打开 EVM 电源。
步骤2:使用 uboot 命令将 rootfs 位置设置为 SD 中的 rootfs 分区。
按任意键以停止自动引导:0
=>
=> setenv bootpart 1:2
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
=>
第3步:再次为 EVM 上电。 转至内核、使用 fdisk 工具来删除 EMMC 芯片内的部分。
root@am62axx-evm:/opt/edgeai-gst-apps ls -l /dev/mmc *
BRW-RW-----1根磁盘179, 0 Feb 27 10:40 /dev/mmcblk0
BRW-RW--> 1根磁盘179, 32 Feb 27 10:38 /dev/mmcblk0boot0
BRW-RW-----1根磁盘179, 64 Feb 27 10:38 /dev/mmcblk0boot1
BRW-RW-----1根磁盘179, 1 Feb 27 10:40 /dev/mmcblk0p1
BRW-RW-----1根磁盘179, 2 Feb 27 10:40 /dev/mmcblk0p2
crw------- 1根237、0 Feb 27 10:38 /dev/mmcblk0rpmb
BRW-RW-----1根磁盘179, 96二月27 10:38 /dev/mmcblk1
BRW-RW--> 1根磁盘179, 97 Feb 27 10:38 /dev/mmcblk1p1
BRW-RW-----1根磁盘179, 98 Feb 27 10:38 /dev/mmcblk1p2
root@am62axx-evm:/opt/edgeai-gst-apps fdisk /dev/mmcblk0
欢迎使用 fdisk (util-linux 2.35.1)。
更改将仅保留在内存中、直到您决定写入它们。
在使用写入命令之前要小心。
命令(m 表示帮助):D
分区编号(1、2、默认值2):1
分区1已被删除。
命令(m 表示帮助):D
选定的分区2
分区2已被删除。
命令(m 表示帮助):w
分区表已更改。
无法从系统中删除分区1:设备或资源繁忙
无法从系统中删除分区2:设备或资源繁忙
内核仍使用旧的分区。 新表将在下次重新启动时使用。
正在同步磁盘。
步骤4:再次为 EVM 上电、转到内核并检查分区是否成功删除。
root@am62axx-evm:/opt/edgeai-gst-apps ls -l /dev/mmc *
BRW-RW-----1根磁盘179, 0 Feb 27 10:38 /dev/mmcblk0
BRW-RW--> 1根磁盘179, 32 Feb 27 10:38 /dev/mmcblk0boot0
BRW-RW-----1根磁盘179, 64 Feb 27 10:38 /dev/mmcblk0boot1
crw------- 1根237、0 Feb 27 10:38 /dev/mmcblk0rpmb
BRW-RW-----1根磁盘179, 96二月27 10:38 /dev/mmcblk1
BRW-RW--> 1根磁盘179, 97 Feb 27 10:38 /dev/mmcblk1p1
BRW-RW-----1根磁盘179, 98 Feb 27 10:38 /dev/mmcblk1p2
步骤5:再次为 EVM 上电、使用 uboot 命令进行擦除
按任意键以停止自动引导:0
=>
=> MMC dev 0 0
切换到分区#0,确定
mmc0 (第0部分)是当前器件
=> MMC 擦除0 2000
MMC 擦除:dev # 0,block # 0,count 8192... 8192个块已擦除:好的
=>MMC 部件
MMC 设备0的分区映射--分区类型:DOS
Part Start Sector Num Sectors UUID 类型
错误的 MBR 扇区签名0x0000
------------------------------------------------------------------------------------------------------
g. 检查系统是否可从 eMMC boot0分区引导的步骤。
步骤1:切换到 SD 引导模式、插入 SD 卡、打开 EVM 电源。
步骤2:使用 uboot 命令以启用从 boot0分区的引导。
按任意键以停止自动引导:0
=>
=>MMC partconf 0 1 1.
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
=>
步骤3:移除 SD 卡、切换到 EMMC 引导模式、给 EVM 上电。
------------------------------------------------------------------------------------------------------
f. 检查系统是否可从 eMMC 用户分区引导的步骤。
步骤1:切换到 SD 引导模式、插入 SD 卡、打开 EVM 电源。
步骤2:使用 uboot 命令以启用从用户分区引导。
按任意键以停止自动引导:0
=>
=>
=>MMC partconf 0 1 7 1.
=>
=> saveenv
正在将环境保存到 MMC... 正在写入 MMC (0)... 好的
第3步:移除 SD 卡、切换到 EMMC UDA 引导模式、给 EVM 上电。
------------------------------------------------------------------------------------------------------
注:
1. 检查 partconf 的步骤
按任意键以停止自动引导:0
=>
=>MMC partconf 1.
PARTITION_CONFIG 仅存在于 eMMC 上
=>MMC partconf 0
EXT_CSD[179]、PARTITION_CONFIG:
BOOT_ACK:0x1
BOOT_PARTITION_ENABLE:0x7
PARTITY_ACCESS:0x1
2. 检查 bootpart 的步骤
按任意键以停止自动引导:0
=>
=> printenv bootpart
bootpart=1:2
1. : 2.
0/eMMC 1/分区1.
1/SD 2/Partition2.
3. 检查当前活动设备/分区的步骤
按任意键以停止自动引导:0
=>
=> MMC dev 0 1.
切换到分区#1,确定
mmc0 (第1部分)是当前器件
0 1.
[开发] [部分]
0/eMMC 0/ UDA
1/SD 1/BOOT0
2/BOOT1