ecspi1 {
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio2 30 0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1>;
status = "okay";
flash: m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "st,n25q128a3", "jedec,spi-nor";
spi-max-frequency = <20000000>;
reg = <0>;
};
};
编译内核并使用新映像启动板后, 在dmesg列表中,存在以下几行
m25p80 spi0.0: n25q128a13 (16384 Kbytes)
spi_imx 2008000.ecspi: probed
内核日志中没有其他内容。这些日志对我来说似乎很合理。
我可以通过以下方式从闪存中读取数据:
dd if=/dev/mtd0 of=./flash.img bs=1MB count=16
并按照以下步骤从标准linux设备写入闪存:
dd if=/dev/zero of=/dev/mtd0 bs=1MB count=16
dd if=/dev/urandom of=/dev/mtd0 bs=1MB count=16
但是问题是我无法从文件写入闪存。 当我打电话
dd if=./flash.img of=/dev/mtd0 bs=1MB count=16
它不发出警告,确认操作成功,但是没有数据从文件复制到mtd
我通过命令检查内容
dd if=/dev/mtd0 | hexdump -C
您是否知道为什么从文件写入可能会失败?
此致