工具/软件:Linux
您好!
我尝试从 QSPI (在基于 DRA722的定制板上的 Micron 64 MB SPI NOR 闪存)加载 u-boot。但我现在卡在以下位置:
U-Boot SPL 2016.05 (2017年11月28日- 17:44:59)
DRA722-GP ES2.0
尝试从 SPI 引导
TI_SPI_SET_SPEED:Hz:76800000、时钟分频器0
SPI_REACK_BUS:总线:0 CS:0
SPI_xfer:bus:0 cs:0 bitlen:8标志:1
TX cmd 003a0fff dc 00000000
TX 完成、状态00010002
SPI_xfer:bus:0 cs:0 bitlen:40标志:2
RX cmd 00390fff dc 00000000
RX 完成、状态00020002、读取20
RX cmd 00390fff dc 00000000
RX 完成、状态00030002、读取 BA
RX cmd 00390fff dc 00000000
RX 完成、状态00040002、读取22
RX cmd 00390fff dc 00000000
RX 完成、状态00050002、读取10
RX cmd 00390fff dc 00000000
RX 完成、状态00060002、读取44
SF:获得 IDcode
00000000:20 BA 22 10 44
SPI_REACK_BUS:总线:0 CS:0
SPI_xfer:bus:0 cs:0 bitlen:8标志:1
TX cmd 003a0ff00000
TX 完成、状态00010002
SPI_xfer:bus:0 cs:0 bitlen:8标志:2
RX cmd 00390fff dc 00000000
RX 完成、状态00020002、读取00
SPI_RELEASE_BUS:总线:0 CS:0
SPI_RELEASE_BUS:总线:0 CS:0
不支持的操作系统映像.. 尽管如此,还是跳
已加载-跳转到 U-Boot...图像入口点:0x0
boot-common.c:映像大小:0x0
图像 load_addr:0x0
这是我的 DTB 配置
&QSPI{
状态="正常";
/*SPI-max-frequency =<76800000>;*/
SPI-max-frequency =<1000>;
m25p80@0{
兼容="mt25ql02g"、"m25p80";
/*SPI-max-frequency =<76800000>;*/
SPI-max-frequency =<1000>;
reg =<0>;
SPI-TX-bus-width =<1>;
SPI-Rx-bus-width =<2>;
#address-cells =<1>;
大小单元格=<1>;
/*MTD 分区表。
* ROM 检查前四个物理块
*以启动有效文件、此处的闪存为
* 64KiB 块大小。*/
分区@0{
标签="QSPI.SPL";
REG =<0x00000000 0x00040000>;
};
分区@1{
标签="qspi.u-boot";
REG =<0x00040000 0x00100000 >;
};
分区@2{
label ="qspi.u-boot-spl-os";
REG =<0x00140000 0x00080000>;
};
分区@3{
label ="qspi.u-boot-env";
REG =<0x001c0000 0x00010000>;
};
分区@4{
label ="qspi.u-boot-env.Backup1";
REG =<0x001d0000 0x0010000>;
};
分区@5{
标签="qspi.kernel";
REG =<0x001e0000 0x0800000>;
};
分区@6{
label ="qspi.file-system";
REG =<0x009e0000 0x01620000>;
};
};
};
我将 MLO、u-boot.img、uImage 和 DTB 文件刷写到相应的分区(尝试使用 SF 写入和 MTD_DEBUG 写入进行刷写)。刷写后、我使用 hexdump -C /dev/mtd0等来检查文件是否已成功写入。写入似乎正常。我尝试更改频率、dtb configs、sf_param.c configs、但从未经历过这一点。
根本原因是什么?映像入口点、映像大小和映像 load_addr 为0x0可能是什么?
此致、
Murugan