Attachments are accessible only for community members.
Nov 10, 2020
07:48 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 10, 2020
07:48 AM
I cannot get the external (not the one onboard in the processor) SPI Flash on the relax kit to work
I migrated the sample app SPI_EXAMPLE_XMC45 to XMC4500-F100x1024 and adjusted the pins according to the Relax Kit Board User‘s Manual Figure 6 Table (Page 13)
I also tried all the 4 different clock settings
Still, in main.c:139 (see attaches main.c) the status read after a write enable returns tmp == 0x0, which indicates an error
N25Q03_WriteEnable();
/* Read Status registers */
tmp = N25Q03_StatusRead();
if (tmp != 0x0002) /* not enabled */
return 2;
I also replaced the provided flash chip on the relax kit board, with a Cypress S25FL128L Flash chip and still get the same result (with all 4 clock settings).
Any ideas what else needs to be adjusted?
It would great if infineon could provide one SPI Flash Sample for the relaxkit (and not just for the xmc4500) because after all the idea behind the relax kit is that it is packaging of components that work together.
thank you and best regards
Kuros Yalpani
I migrated the sample app SPI_EXAMPLE_XMC45 to XMC4500-F100x1024 and adjusted the pins according to the Relax Kit Board User‘s Manual Figure 6 Table (Page 13)
I also tried all the 4 different clock settings
Still, in main.c:139 (see attaches main.c) the status read after a write enable returns tmp == 0x0, which indicates an error
N25Q03_WriteEnable();
/* Read Status registers */
tmp = N25Q03_StatusRead();
if (tmp != 0x0002) /* not enabled */
return 2;
I also replaced the provided flash chip on the relax kit board, with a Cypress S25FL128L Flash chip and still get the same result (with all 4 clock settings).
Any ideas what else needs to be adjusted?
It would great if infineon could provide one SPI Flash Sample for the relaxkit (and not just for the xmc4500) because after all the idea behind the relax kit is that it is packaging of components that work together.
thank you and best regards
Kuros Yalpani
- Tags:
- IFX
6 Replies
Nov 20, 2020
01:06 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 20, 2020
01:06 AM
Hello,
Could you please change the clock setting to "High if inactive, transmit of falling clock edge, receive on rising clock edge" and test again"?
Thanks and Regards,
Sudheesh
Could you please change the clock setting to "High if inactive, transmit of falling clock edge, receive on rising clock edge" and test again"?
Thanks and Regards,
Sudheesh
Apr 14, 2021
06:12 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 14, 2021
06:12 AM
Hello Sudheesh,
Thank you very much for your reply. I just saw your post now, for some reason I do not receive notifications on my thread. I tried what you said but it does not work and also with the QSPI example.
What I do not understand is why infineon does not provide a working sample for the relax kit? After all it is a platform to try and extend the base software. It seems to be
just a matter of configuration. Thanks again...
Thank you very much for your reply. I just saw your post now, for some reason I do not receive notifications on my thread. I tried what you said but it does not work and also with the QSPI example.
What I do not understand is why infineon does not provide a working sample for the relax kit? After all it is a platform to try and extend the base software. It seems to be
just a matter of configuration. Thanks again...
May 28, 2021
04:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 28, 2021
04:16 AM
Hello,
Note that, the example code contains the commands and function definitions tuned for N25Q03 memory chip. Did you modify the N25Q03.c file with the right command structure for the Cypress S25FL128L Flash chip?
If yes, please share these files and also the datasheet for the external memory chip you are interfacing with. That will give us more insight into why it's failing.
Regards,
Dheeraj
Note that, the example code contains the commands and function definitions tuned for N25Q03 memory chip. Did you modify the N25Q03.c file with the right command structure for the Cypress S25FL128L Flash chip?
If yes, please share these files and also the datasheet for the external memory chip you are interfacing with. That will give us more insight into why it's failing.
Regards,
Dheeraj
Attachments are accessible only for community members.
Jun 21, 2021
12:02 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 21, 2021
12:02 AM
Jul 03, 2021
12:26 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 03, 2021
12:26 PM
Hi,
Flash N25Q03.
I need to save and read an struct to the flash.
example of the struct:
typedef struct TparDiv
{
uint32_t SsTime; //minutos
double SsTmax;
double SsPot;
double StByTemp;
uint32_t zCF;
uint32_t SisOp;
} TparDiv_t;
Declaration of the struct
TparDiv_t TparDiv;
code
if(DIGITAL_IO_GetInput(&BT_1))
{
N25Q03_WriteEnable();
st=N25Q03_StatusRead();
N25Q03_SectorErase( 0x00000000);
do
{
st = N25Q03_StatusRead();
} while (st & 0x0001); /* wait until busy=0 */
TparDiv.SsPot=40.0;
TparDiv.SisOp=2;
N25Q03_ProgrammPage( 0x00000000,(uint8_t *)&TparDiv,sizeof(TparDiv));
N25Q03_ReadPage(0,(uint8_t *)&readval,sizeof(readval));
Can any one help me with that?
i am trying using the N25Q03_ProgrammPage and the read page as well fuction but it´s not working
thanks in advance
Flash N25Q03.
I need to save and read an struct to the flash.
example of the struct:
typedef struct TparDiv
{
uint32_t SsTime; //minutos
double SsTmax;
double SsPot;
double StByTemp;
uint32_t zCF;
uint32_t SisOp;
} TparDiv_t;
Declaration of the struct
TparDiv_t TparDiv;
code
if(DIGITAL_IO_GetInput(&BT_1))
{
N25Q03_WriteEnable();
st=N25Q03_StatusRead();
N25Q03_SectorErase( 0x00000000);
do
{
st = N25Q03_StatusRead();
} while (st & 0x0001); /* wait until busy=0 */
TparDiv.SsPot=40.0;
TparDiv.SisOp=2;
N25Q03_ProgrammPage( 0x00000000,(uint8_t *)&TparDiv,sizeof(TparDiv));
N25Q03_ReadPage(0,(uint8_t *)&readval,sizeof(readval));
Can any one help me with that?
i am trying using the N25Q03_ProgrammPage and the read page as well fuction but it´s not working
thanks in advance
Jul 04, 2021
04:17 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 04, 2021
04:17 AM
Hi Luis,
Could you please start a new thread rather than appending question to an older thread. If you want to refer this thread, you can always add a link to this thread. This will help us to isolate issues, based on specific issues.
Best Regards,
Vasanth
Could you please start a new thread rather than appending question to an older thread. If you want to refer this thread, you can always add a link to this thread. This will help us to isolate issues, based on specific issues.
Best Regards,
Vasanth