3 Years later and I am to say thanks to you sir. I was in urgent need of flash programmer, however these things are not available locally and buying them would have cost me over 3 weeks. Via your library I was able to turn STM32F4VE development board into a flash programmer, I load a binary file into sd card and wrote it into xt25f32b flawlessly via your flash library. Thank you.
Could not read most of the string with your library, but it really helps me to have a better understing of the datasheet and build my own first version, thanks man!
Nice! With a bit of changes - works like a charm. Now i can save joystick calibration data to onboard Flash! :) Stm32f407vet6 (BlackBoard), CubeMX, Toolchain STM32CubeIDE (no device initialisation generation as pairs c/h) SPI1 at: MOSI:PB5 MISO:PB4 SCK:PB3 CS:PB0 Changes: w25qxx.h: -#include "spi.h" +#include +#include "main.h" w25qxxConf.h: +extern SPI_HandleTypeDef hspi1; -#define _W25QXX_USE_FREERTOS 1 +#define _W25QXX_USE_FREERTOS 0
@@nimaltd In this video are you programming a winbond EEPROM without using a dedicated programmer and only using an FPGA chip, am I right? So with an FPGA you do the task of that programmer, am I right? I have spartan 3E starter kit board from Xilinx can I do this too, I mean program a 6 pin EEPROM with a clamp using only the FPGA, what do you think brother? Are the VHDL resources for this example easily available or I need to write them myself?
Are the delays that you included in the library at every function important? I have to deal in microseconds and with your library it is in write time is in milliseconds.
could i ask you sir, I used stm32407vgtx and the internal SPI flash is w25q16, I was configurations SPI correctly, after debugging, everything has no errors, but the w25q16 value on the expression does not appear, what should i do? thaks
In 7:10 Why using presaller 8 and baudrate 5.25Mbit/s ? Can you expalain that ? In my case, using STM32F411CE Clock 100MHz, when i use prescaller 8, the baudrate is 3.125 Mbits/s. Will my setup be trouble ?
i got error of: undefined reference to `W25qxx_Init' undefined reference to `W25qxx_EraseSector' undefined reference to `W25qxx_WriteSector' undefined reference to `W25qxx_ReadSector' please help me, i'm using STMCube IDE
Thank you! Have you try it using Blackpill stm32F401 Dev board? It has a position for windbound external flash, easy to solder. And with latest stm32cubeide. Do you think a follow up video would be useful ? Unfortunately my test isn't working. 0 id, can erase, but cannot write, cannot read. Will keep trying though. Thanks....OK, figured out what the problem is....my PA4 was wrong by previous experiment, after it's fixed, flash works very well, thanks !!
سلام ، من متن کتابخونه رو خوندم خیلی عالی بود ، فقط وقتی ادد میکنم 66 ارور میده ، مثلا میگه uint8 رو نمیشناسه ، من با bluepill کار میکنم ، علتش یه چیز کلیه ، میشه بگید چی میتونه باشه با سپاس
Hello Buddy.. I want to create a file system using API like FATFS, LittleFS, and SPIFS in W25QXX chip module.. I don't know how to create or mount file system on this chip. If you have ever done this, then please share the process... Thanks in advance...
Hi MimaLTD, Thank you for your example about how to use SPI flash, I learn it step by step from the video, there have an error when I Rebuild the code, In the w25qxx.h, have an error in every function :identifier "uint32_t" is undefined Thank you Br Steve
@@nimaltd Thank you for your reply, I re-try the project again, unfortunately, the result is as same as previous, the build output information shown that some error is occurred as below: In the w25qxx.h all the function return type is undefined, for example: ..\w25qxx-master\w25qxx.h(52): error: #20: identifier "uint8_t" is undefined uint8_t UniqID[8]; I upload the project I build, the link: drive.google.com/file/d/1IHgves1LNAApe_4kzekRFX4FO0OHDzAa/view?usp=sharing
Hi,NimaLTD a) I add the header file "main.h" in the w25qxx.c b) I add the header file "stdint.h" in the w25qxx.h the error is disappear, but I still cannot observe the change about the w25qxx register value, I'll try to learn this video again Thanks a lot
Hi,NimaLTD I change from stm32f429zet6 to stm32f103c8t6 cause my evb is broken, Now, I could read the w25qxx register value, but the write function is not work as the link: drive.google.com/drive/folders/1g5olD7jm5JKfzxfv_ZzRI4KTaeSfE_Jb?usp=sharing I record all the steps in the power point, I'm not sure that the step is correct or not.
Thank Nimal for the tutorrial and library is very helpful I'm creating project in Stm32CubeIDE with FreeRtos (I has define #define _W25QXX_USE_FREERTOS 1). When I step by step as video like below: W25qxx_Init(); W25qxx_EraseSector(1); W25qxx_WriteSector(TxBuff, 1, 0, 8); W25qxx_ReadSector(RxBuff, 1, 0, 8); -> The infomation of W25 is OK but the RxBuff received is 0xff, 0xff, 0xff.... What happen, can you advice for me.
for some reasons only those command in the video work for me. Simple W25qxx_ReadByte(&readBuffer[0], 1); also works but next reading new value after (W25qxx_WriteByte(&writeBuffer[0], 1);) returns previous value.