我有一些设备,这是一个原型。在设备中使用了 MCU MT7620a。板上我有 32 MB RAM 和 64MB SPI 闪存。我想在这个设备上安装 OpenWRT,但是我对这个 SPI 闪存的正确驱动程序有问题,因为驱动程序m25p80通常在 linux 中使用,句柄大小只有 32MB。系统将内存识别为MT25QL512AB。那么您知道我必须使用什么驱动程序才能很好地配合内存和 MCU 吗?我检查了现场可用的硬件表
http://wiki.openwrt.org/toh/start
在目标中找到类似的东西,但只有我发现使用m25p80处理最大到 32MB 。如果我找到一些设备,例如 64MB 闪存或更多,我不能使用 BuildRoot OpenWRT 使用这个想法,因为所有没有 64MB 闪存的设备都给了我信息如何准备设备树mt7620a.dts什么具体驱动程序是兼容的等等。
实际上设备树 inode 支持 16MB 的闪存大小,如下所示
palmbus@10000000 {
spi@b00 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "en25q64";
reg = <0 0>;
linux,modalias = "m25p80", "en25q64";
spi-max-frequency = <10000000>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0xfb0000>;
};
};
};
如您所见,使用了 m25p80