How to excute FW in QSPI Flash by XIP and write log data or file system in QSPI Flash

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Max_Li
Employee
Employee
10 questions asked 50 sign-ins 10 replies posted

PSoC6. How to excute FW in SFlash by XIP and write log data or file system in SFlash?

For write data in SFlash we need disable XIP. so it is conflict when excute FW in SFlash.

Is there a walkaround way, I am looking some sample code.

 

Thanks!

Max

0 Likes
4 Replies
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello @Max_Li ,

Which PSoC6 device is this and what IDE are you using?

You can find the code example here which demonstrates how you can interface with your QSPI flash in XIP mode: https://github.com/Infineon/mtb-example-psoc6-qspi-xip

Regards,
Dheeraj

0 Likes

Hi Dheeraj,

I see the QSPI_XIP sampe project. it write the flash in smif mode, then chang to XIP mode to excute a function in Flash. It all read access in XIP mode.

The challenge that I met is customer want excute a function in external Flash, it write data to same Flash.

 

Thanks!

Max

 

0 Likes
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello @Max_Li ,

Can you please attach the project so that I can have a look at what's going wrong? 

Regards,
Dheeraj

0 Likes

Hello Dheeraj,

I haven't  a solution project.

Write external flash in function like "print_from_external_memory" which located in external flash, can't work. 

 

/*******************************************************************************
* Function declarations
*******************************************************************************/
CY_SECTION(".cy_xip_code") __attribute__((used))
void print_from_external_memory(const char *buf);

/********************************************************
********************************************************/
void print_from_external_memory(const char *buf)
{
printf("%s", buf);

???write external flash
}

0 Likes