Тёмный
No video :(

QSPI in STM32 || Write and Read || N25Q 

ControllersTech
Подписаться 40 тыс.
Просмотров 27 тыс.
50% 1

Purchase the Products shown in this video from :: controllerstec...
________________________________________________________________________________________
ST's QSPI Drivers github.com/STM...
My Github github.com/con...
More STM32 Videos • STM32 Tutorials
________________________________________________________________________________________
****** SUPPORT US BY DONATING*****
paypal.me/cont...
******Join the Membership******
/ @controllerstech
Join the Discord Server / discord
Join the Telegram Group t.me/controlle...
Follow me on Instagram / controllerstech
For more info, visit www.controller...

Опубликовано:

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 53   
@antoinebrunel8892
@antoinebrunel8892 2 года назад
Of course we want to see how do it for the STM35 ! Always a pleasure to watch your video !
@bobby9568
@bobby9568 2 года назад
You are the KING!
@kasekuchentv7869
@kasekuchentv7869 4 месяца назад
Very, very helpful. You are a true lifesaver.
@lahirupamodya6188
@lahirupamodya6188 2 года назад
just the video I was looking for !
@domoledlight
@domoledlight Месяц назад
Thanks a lot for those Qspi tuto so clear I have developed my own stm32h75vbt6 mini pcb board and follow your tuto for flah spi and Qspi all is working as expected 😊😊😊 I have a question about erase function. Do you erase by convention before write or because it is not recomanded to overwrite data on the same adress. 2 _ how to well manage adress function when you want to acces small data to many adresses.
@Headhog777
@Headhog777 2 года назад
Awesome video, just when I needed it! Is there a chance that you will make tutorial about recording and playing sound from these two microphones on STM32F750dk? Or at least some directions where should I look for help, because documentation almost doesn't even mention microphone nor provides example of usage Thank you in advance, best luck!
@ControllersTech
@ControllersTech 2 года назад
I'll see if i can find something
@jacobwarcholik8357
@jacobwarcholik8357 2 года назад
​ @Controllers Tech Is there a way to look at external flash chips in the CubeProgrammer if they are not listed in the external loader list? Still looking at the W25Q128J Winbond chip.
@ControllersTech
@ControllersTech 2 года назад
The loader is in the same repo. Just go one level up and check there.
@paulflory4851
@paulflory4851 Год назад
@@ControllersTech I do not see loaders either, also looking for W25Q64J...any advice?
@silelis1980
@silelis1980 2 года назад
Will there be a tutorial how to store firmware or some firmware function in qspi?
@ControllersTech
@ControllersTech 2 года назад
Yes the next one... Listen to the ending part 🙄
@RATelectro
@RATelectro 2 года назад
Thank you for your hard work explaining this stuff! I did this for STM32H750VB and W25Q64, but stumbled across the problem with memcpy - it throws me into MemManage_Handler. Regular read and write commands work fine, i have set up MPU parameters accordingly. Can you please tell, what could be wrong? I use a single/dual line QSPI setting, can this work with memory mapped mode? By the way, for some flash like W25Q64, chip erase delay can be much higher than default HAL_QSPI delay of 5s, so i had to ta add extra 20s delay, so loooong
@moonraker179
@moonraker179 Год назад
Did you figure out solution for this? I'm also running into this issue.
@RixtronixLAB
@RixtronixLAB 2 года назад
Nice video, thanks :)
@woldecosgrove
@woldecosgrove 3 месяца назад
Hello great video, just a question can this tutorial work on STM32H750 Discovery bd? is it the same QSPI flash ?
@ControllersTech
@ControllersTech 3 месяца назад
H750 has MT25 series I guess. The method remains the same, but the commands are a little different. Please check towards the end of the video.
@woldecosgrove
@woldecosgrove 2 месяца назад
@@ControllersTech yes its MT25QL512A
@svsv123
@svsv123 2 года назад
Hello Controllers Tech! Do you know any method to emulate the external NOR flash memory? Ofcourse they have very high erase/program cycles but still how to manage writing to flash memory by avoiding writing to the same address?
@brijeshkhokhar
@brijeshkhokhar 2 года назад
When I build project with release mode on STM32CubeIDE it stop working, same code works if build with debug configuration...Any Suggestion/ Help ??
@woldecosgrove
@woldecosgrove 2 месяца назад
in respond to your reply : could you please do a video on STM32H745 Discovery QSPI flash MT25QL512A ?
@sofienmed8723
@sofienmed8723 Год назад
Hi, thanks for the tutorial, you said that what you did is not the effective way for storing numbers, is there another way to store numbers or other data types without converting them to strings ? will the memcpy() do the job ?
@ControllersTech
@ControllersTech Год назад
You can use enums to convert numbers or floats into the bytes and store it. Then convert the bytes back to numbers to extract the value.
@francisgremillet2698
@francisgremillet2698 2 года назад
Great tuto as usual! Is flash memeory limited regarding writing operations number?
@ControllersTech
@ControllersTech 2 года назад
I don't know. I haven't tested much of the write read. Like i mentioned in the video, i am going to focus on memory mapped mode. This videos was just the connection test for the flash memory
@manojsuryawanshi1334
@manojsuryawanshi1334 Год назад
i am not able to read more than 256 bytes in externnal spi I am reading 4 bytes of structure after 256 bytes data is rollover
@dnyaneshvarsalve2984
@dnyaneshvarsalve2984 2 года назад
Hello @ControllersTech thanks for the video. you said in the beginning that you will tell what changes will be required for MX25 chip. Can you please make a video or explain it
@ujwalkumarn.l345
@ujwalkumarn.l345 8 месяцев назад
any updates on this?
@federicodevitiis609
@federicodevitiis609 Год назад
Hi, very interesting video!!! I'm using H743ZI2 with dual IS25LP032. Do you think the MT25TL example can be adapted to my case? If so, may you suggest me which modifications I've to do, please?
@ujwalkumarn.l345
@ujwalkumarn.l345 8 месяцев назад
any updates on this?
@renatomasias1368
@renatomasias1368 10 месяцев назад
good thanks, i can run now the n25q with your libreries. With these modification can be delete the warnings uint16_t number = 1234; uint8_t buf[5]; sprintf ((char *)buf, "%u", number); if (CSP_QSPI_Write(buf, 0, strlen ((char *)buf)) != HAL_OK) { Error_Handler(); }
@arlenalem
@arlenalem 2 года назад
Thanks for your videos, they are really helpfull, I am using your driver in the 32F746GDISCOVERY , it has the same flash memory N25Q128A. The code is stopped when the I try to execute the CSP_QSPI_Erase_Chip() function. When I debug the program, I saw that the program is stopped when I execute the HAL_QSPI_AutoPolling() function if I press "stepover" to continue to debug, but if I press "stepinto" everything is OK. CSP_QSPI_Erase_Chip(){ ... QSPI_AutoPollingMemReady(){ ... HAL_QSPI_AutoPolling() ... } ... } The program run without any problem if i don't use the function CSP_QSPI_Erase_Chip() function. Is there any update for that function? Could you help me with that?
@oumaymabouachra4466
@oumaymabouachra4466 2 года назад
How did you choose the fifo threshold?
@hezortemendoza4999
@hezortemendoza4999 2 года назад
Great movies i like your works a lot. So i have board STM32F508-DK F7508-B05 and normally memory chip is N25Q128 and unfortunately i have a problem, i do not pass the step QSPI_AutoPollingMemReady in the function CSP_QUADSPI_Init and i do not why.
@ControllersTech
@ControllersTech 2 года назад
Try disconnecting the cable and connect again. By the way, this video is made with the same board.
@hezortemendoza4999
@hezortemendoza4999 2 года назад
​@@ControllersTech Ha yes it's works, it's bizzard :D, thk you for this litlle debugging
@jacobwarcholik8357
@jacobwarcholik8357 2 года назад
Can this solution be easily modified to support Winbond chips? I've tried the solution as is with a W25Q128J but fail on the QSPI_WriteEnable() in the CSP_QUADSPI_Init(). Any suggestions? Update: reducing my clock speed from 108MHz passed the CSP_QUADSPI_Init() but it still times out in the CSP_QSPI_Erase_Chip() during the QSPI_AutoPollingMemReady() call.
@ControllersTech
@ControllersTech 2 года назад
Check out github.com/osos11-Git/STM32H743VIT6_Boring_TECH_QSPI/tree/main/Example2/H743_QSPI_deneme3
@jacobwarcholik8357
@jacobwarcholik8357 2 года назад
@@ControllersTech Worked beautifully! Thanks. Saved me from the datasheet rabbit hole I was stuck in
@thechallenger3020
@thechallenger3020 2 года назад
@@jacobwarcholik8357 please which part solved your issue? Because seems I have the same😁
@paulflory4851
@paulflory4851 Год назад
@@ControllersTech I found that the code here need the following to be added to the end of CSP_QSPI_EraseBlock() for it to work correctly. /* Configure automatic polling mode to wait for end of erase */ if ((ret = QSPI_AutoPollingMemReady()) != HAL_OK) { return ret; }
@paulflory4851
@paulflory4851 Год назад
@@ControllersTech This code worked great when using the W25Q64JV on the STM32H743 at first...however a few days after I tested the first time I tried the exact same code and the read seems to work as I read the test string I wrote to flash before but now the erase and write functions do not work. How do I get out of the apparent mem lock state?
2 года назад
Hi, thank you for video and code. Is this code compatible with QSPI w25q64 chip?
@ControllersTech
@ControllersTech 2 года назад
Nope, but read the comments. Someone have posted a link for it
@eliasdrotleff5987
@eliasdrotleff5987 2 года назад
It works with W25Q64, set "FlashSize=22", increase the delay in "QSPI_AutoPollingMemReady" to 20 seconds: e.g. "if (HAL_QSPI_AutoPolling(&hqspi, &sCommand, &sConfig, 20000) != HAL_OK) {", and set the "DummyCycles" in "CSP_QSPI_ReadMemory" to the value 6 e.g. " s_command.DummyCycles = 6;"
@muhammadnasaruddinrachmat4279
@muhammadnasaruddinrachmat4279 2 года назад
Please make tutorial about stm32+ros(robotic os).
@thechallenger3020
@thechallenger3020 2 года назад
Hello Controllers Tech, Thanks a lot for the video, it was very helpfull! I am facing an issue with the "Write Enable". When I call the Autopolling Function for changing the mode, the status match flag is not set and I know why. Unfortunately, I don't have an oscilloscope to check the HW part. Do you have an idea about what could be the issue? Thanks a lot and keep going :) Issue Resolved: Thank you, I have resolved the issue by using the 2 banks (MT25QL512) in the STM32H750-DK Board. But I still have an issue with the read. When I read from memory and check in the DR register, I don't find the correct information, always I get 0x88888888 and erase state of the memory 0xFF.
@ControllersTech
@ControllersTech 2 года назад
What memory do you have ?
@ControllersTech
@ControllersTech 2 года назад
Your message was deleted by youtube for some reason, but if you are using h750 discovery, then check my github. I have there the code for H745, which is exactly similar..
@thechallenger3020
@thechallenger3020 2 года назад
@@ControllersTech Thanks, I will check and provide feedback! I also saw a strange behaviour, the bank 1 fails at the write enable but the bank doesn't and it fails after, could it be a HW issue, or a configuration one?
@ControllersTech
@ControllersTech 2 года назад
It's definitely configuration issue.. For these dual banks, i tried using single bank but that didn't worked. So i tried using both banks simultaneously. I have mentioned this in the readme file
@thechallenger3020
@thechallenger3020 2 года назад
@@ControllersTech I will try to do that, thanks !