SPI从文件的闪存写入失败。 [imx6]

时间:2020-08-21 15:37:26

标签: embedded-linux spi flash-memory imx6 nor


我想为基于imx6dl的主板生成一个Linux发行版。
该板上有一个SPI NOR闪存,即:n25q128a13

我有一个佩剑板的工作图像,我打算将其移植到新板上。

我对dtsi进行了如下修改

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

您是否知道为什么从文件写入可能会失败?

此致

0 个答案:

没有答案