Bennett 发表于 2023-5-6 14:43:23

ITX-3588J

本帖最后由 Bennett 于 2023-5-6 14:48 编辑

请教一下ITX-3588J的uboot是否支持spi flash,我想在uboot命令行通过sf命令去读写spi flash。

jpchen 发表于 2023-5-6 17:07:06

目前硬件上是没有贴SPI flash

Bennett 发表于 2023-5-8 15:46:16

jpchen 发表于 2023-5-6 17:07
目前硬件上是没有贴SPI flash

那这个sf的命令是干什么的呢,不是操作SPI FLASH的吗?
我自己买了一个w25q128接在了板子上唯一一个叫SPI1_M2的四个引出来的针脚上。可以通过这个sf命令来操作我外接的flash吗?

Oliver_Li 发表于 2023-5-10 14:46:26

uboot 需要自行打开对应的 spi 功能,以及添加对应的 spi 设备,才可以使用 sf 进行读写和擦除

Bennett 发表于 2023-5-11 10:37:39

Oliver_Li 发表于 2023-5-10 14:46
uboot 需要自行打开对应的 spi 功能,以及添加对应的 spi 设备,才可以使用 sf 进行读写和擦除

我感觉我都打开了,在uboot下面的menuconfig中将SPI和winbond的SPI FLASH的宏都勾选上了,但是我插不插上外接的SPI FLASH都是一样的串口打印。。。

Oliver_Li 发表于 2023-5-11 11:32:02

menuconfig 打开没用吧,RK 都使用默认的 config 文件的,不是使用 menuconfig 的。

Bennett 发表于 2023-5-11 14:16:49

Oliver_Li 发表于 2023-5-11 11:32
menuconfig 打开没用吧,RK 都使用默认的 config 文件的,不是使用 menuconfig 的。

是的,我后来去修改kconfig中的文件,在u-boot/driver/mtd/spi下面的kconfig中

Bennett 发表于 2023-5-12 11:07:10

Oliver_Li 发表于 2023-5-10 14:46
uboot 需要自行打开对应的 spi 功能,以及添加对应的 spi 设备,才可以使用 sf 进行读写和擦除

请问一下你说的添加对应的spi设备是什么意思,我来理解就是添加设备树吧?

Oliver_Li 发表于 2023-5-12 16:41:52

Bennett 发表于 2023-5-12 11:07
请问一下你说的添加对应的spi设备是什么意思,我来理解就是添加设备树吧?

是的。
首先在 Kconfig 支持 对于的设备,然后在例如:u-boot/configs/rk3588_defconfig(相当于 menuconfig) 使能该 Config。之后在设备树配置这款 spi 设备,然后编译。

Bennett 发表于 2023-5-12 17:31:22

Oliver_Li 发表于 2023-5-12 16:41
是的。
首先在 Kconfig 支持 对于的设备,然后在例如:u-boot/configs/rk3588_defconfig(相当于 menuco ...

我这些都搞了显示读不到FLASH的ID,具体的flash相关的设备树我是在rk588-u-boot.dtsi文件里添加的,串口打印显示找不到我添加的flash,而且我把flash插在板子上和拔掉,串口的打印几乎一模一样。。。我加了打印代码走到了spi-nor-core.c中的spi_nor_read_id函数里面,并且在这个函数里面返回unrecognized JEDEC id bytes,还有一个有意思的是,和spi-nor-core.c同路径的还有一个叫spi_flash.c的,里面也有都flash的ID的函数,我一开始感觉应该走到这个函数里面,但是加打印发现走的是spi-nor-core.c这个里面去了,而且在spi-nor-core.c最开始的注释说了是Based on m25p80.c,这个是美光的flash,但我买的是winbond的flash,而且makefile里面也只编译了spi-nor-core.c没有编译spi_flash.c,,我在makefile里面将spi_flash.c添加进去,但是编译的时候一大堆报错,,,我现在的疑惑是rk3588的sf命令到底支不支持winbond的flash啊。
页: [1] 2
查看完整版本: ITX-3588J