New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QSPI flash need read, write via 4 lines not 1 line #41297
Comments
No issue description. Closing |
@erwango , please open up this issue since I had filled up all the information I know. If there is any information not enough, please let me know. Thanks. |
Also, @glin00 please make the effort to distinguish 'bug' from 'enhacement'. |
@lmajewski . @erwango would you mind to tell me the SHA1 ID of zephyr you are using to test #40859? But I think the quickest way is to know which SHA1 ID of zephyr you are using, so I can spend less time to solve this problem. 178/301] Building C object zephyr/dri...vers__flash.dir/flash_stm32_qspi.c.obj |
After I changed to SHA1: 9e4968b, I can build successfully using "west build -p always -b nucleo_h743zi ./zephyr/samples/subsys/fs/littlefs". But when I try to build my own project which was build successfully with SHA1 ID b48276e, I got the following errors using 9e4968b which I am now trying to solve. @lmajewski Do you have any ideas why this happen? [296/306] Linking C executable zephyr/zephyr_pre0.elf |
IIRC there was a pinctrl rework:
Please look into: SHA1: 37bf7cb |
Fixed in #40859,. |
Describe the bug
The project I am working need to use QSPI flash to store some image data(ex. 5MB size of data). QSPI flash read, write data is working without any problems, but I found that the flash_stm32_qspi_write routine uses QSPI_INSTRUCTION_1_LINE, QSPI_ADDRESS_1_LINE, QSPI_DATA_1_LINE to write data. Is it possible that I can use QSPI_DATA_4_LINES to increase the speed of write? The same is for flash_stm32_qspi_read which uses QSPI_INSTRUCTION_1_LINE, QSPI_ADDRESS_1_LINE, QSPI_DATA_1_LINE to read data. Is it possible that I can use QSPI_DATA_4_LINES to increase the speed of read?
the prj.conf concerning qspi i/f is as following:
#SPI related
CONFIG_SPI=y
CONFIG_SPI_STM32_DMA=y
CONFIG_DMA=y
CONFIG_GPIO=y
CONFIG_GPIO_STM32=y
#flash related
CONFIG_FLASH=y
the dts is as following:
&quadspi {
pinctrl-0 = <&quadspi_clk_pa3 &quadspi_bk1_ncs_pb11
&quadspi_bk1_io0_pb1 &quadspi_bk1_io1_pb0
&quadspi_bk1_io2_pa7 &quadspi_bk1_io3_pa6>;
dmas = < &dma2 7 3 0x0000 >;
dma-names = "tx_rx";
};
As you can see, I already use SPI DMA and spi clock 40mhz. The next thing to consider to increase access speed is to change 1 line to 4 lines of QSPI i/f.
Expected behavior
QSPI flash read, write using 4 lines data should be possible.
Impact
Wish to use QSPI flash read, write using 4 lines data to increase access speed since the data stored in the flash is quite large(at least 5MB).
Environment (please complete the following information):
Hardware:STM32L496AGI6P
Display: OLED display with 4 wire SPI interface.
Linux Ubuntu 20.04.3 LTS
Zephyr SDK,-0.13.0
Zephyr SHA1 ID:bb85a55
The text was updated successfully, but these errors were encountered: