工具/软件:Linux
尊敬的:
我们广泛地基于 AM437x-gp-EVM 设计了电路板、并使用 SDK 4.01.运行良好。
现在、我想从 eMMC 引导我的系统。 我创建了两个分区(mmcblk1p1和 mmcblk1p2)。 按照以下准则。
- eMMC 是/dev/mmcblk1. 以这种方式设置格式:
- fdisk /dev/mmcblk1
- O-这将清除现有分区
- P -这列出了卡上的所有分区表(不应该有)
- N -创建新分区
- p -主分区
- 1-分区号
- 2048 -第一个扇区的默认值
- +16M -最后一个扇区/分区大小
- t -更改分区类型(选择分区1)
- E -将分区类型更改为"W95 FAT16 (LBA)"
- A -为所选分区设置可引导标志(1)
- N -创建新分区
- p -主分区
- 2-分区号
- 按 Enter 键选择第一个扇区的默认(下一个可用)值
- 按 Enter 键选择最后一个扇区的默认(最后)值
- P -这列出了卡上的所有分区表(应该有两个分区表)
- w -将上述所有更改写入磁盘
- umount /dev/mmcblk1p1;mkfs.vfat -F 16 /dev/mmcblk1p1 -格式化第一个分区
- umount /dev/mmcblk1p2;mkfs.ext4 /dev/mmcblk1p2 -格式化第二个分区。
正确格式化。 然后、我从 root@AM437X-EVM 复制了下面给出的文件:
# mkdir 引导
- # mount /dev/mmcblk1p1 boot
- # CP MLO 引导
- # cp u-boot.img boot
- #umount 引导
复制的文件系统如下所示
- # mkdir root
- # mount /dev/mmcblk1p2 root
- cp -r /usr/bin/rootfs /* root
- # umount root
这两个分区都已完成,并复制了所有文件。
我使用了 SDK 2.0 uboot 源代码并生成了 MLO 和 u-boot.img 并复制到我的 eMMC 第一个分区。
我已编辑"am43xx.h"中的以下行
#define FAT_ENV_DEVICE_AND_PART_"1:1" 从 #define FAT_ENV_DEVICE_AND_PART_"0:1"
我已经从 下面函数中的粗体行下面的"bootpart=0:2\0"中编辑了"bootpart=1:2\0"\
#define CONFIG_Extra ENV_SETTINGS \
DEFAULT_LINUX_BOOT_ENV \
DEFAULT_MMC_TI_args \
"Fdtfile=undefined\0"\
"bootpart=1:2\0"\
"bootdir=/boot\0"\
"BootFile=zImage\0"\
请找到我随附的"am43xx.h"
e2e.ti.com/.../4382.am43xx_5F00_evm.h
现在、我移除了 SD 卡并从 eMMC 引导、我只收到下面给出的一行消息
U-Boot SPL 2015.07-00114-gf8d68d1-脏污(2018年9月03日- 15:12:44)
它不启动。 请从 eMMC 浏览"am43xx.h"文件。
"am43xx.h"中是否有错误? 如何解决此问题?
此致、
Winiston.P