CYT3DLABHA and issues on Hyperbus interface (SMIF) to control S26KL512

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

cross mob
danieleFing_SMH
Level 1
Level 1
10 sign-ins First reply posted 5 sign-ins

Goodmorning,

I 'm using SMIF interface to control an external hyperlfash S26KL512 with HyperBus protocol.
I'm using the SDL 7.2.0 and I selected 'tviic2d4m' family. There is a document that mentions an issue present in the SDL about firmware control of Hyperflash and Hyperflash.
I used code examples from SDL with commom and specific files.
I'm able to write and read external memory (only in MMIO mode) but with some important issues.


Basically I have 4 problems discovered:

1) Abnormal necessary resetting of the SMIF module: After 7 Hyperbus transations SMIF module goes in busy state and stops to work. Essentialy for example on Reading operation, after Dummy bytes no more clocks are sent so the RWDS is not received and the SMIF module goes in busy state. I resolve temporarily by "DeInit" and "Init" the SMIF module periodically.

2) Wrong Read Byte: "ReadMMIO" is working but with a problem; The first byte of the buffer of "uint16_t" (half-word) I read is always wrong. The second byte of the first half-word is correct as other halfwords.
Initilly ReadMMIO didn't work and after I change an instruction on "Cy_SMIF_ReceiveDataBlocking" function and now works with this issue (  .fieldRxCount.dataNum = (uint32_t)(rxUnitNum), // - 1U),  ).

3) Huge delays between transaction: I'm able to see signals between Traveo 2G and hyperflash. The single clock of hyperbus is at 32 MHz but I see sent clocks  and after I see interruptions of clock that continues subsequently after some microseconds, also 20 microseconds of delay. Impossible to accept such kind of delays.

4)
Xip module doesn't work. I see signals between hyperflash and MCU but on Write operation no correct cmd/data are sent and in Read operation no more clocks are sent after dummy bytes and moduls goes in busy state.

 

Could you help me?
Thank you in advance.

0 Likes
3 Replies
Apurva_S
Moderator
Moderator
Moderator
100 likes received 500 replies posted 250 solutions authored

Hi @danieleFing_SMH 

Could you please tell me whether you are using any of the evaluation boards by Cypress (Infineon) or a customer development board designed by you?

Could you also tell me the document that you are referring to in this statement - There is a document that mentions an issue present in the SDL about firmware control of Hyperflash and Hyperflash.

Regards.

0 Likes

Hi @Apurva_S ,

thank you for replying.

I'm using a customer board because our company provide flashing solution for production enviroment.
The document that mentions an issue on Hyperflash and *HyperRAM is on SDL (Software development Library) version 7.2.0 installed folder. It is a PDF file called "SDL_KnownIssues.pdf" and there is a table where for "TVIIC2D4M rev_a" is mentioned SMIF module.


Other information. About IDE and compiler I'm using IAR EW for ARM version 8.50.6, but I built firmware version also with GCC toolchain and i have same problems I see.
I've been debugging the code for about 3 weeks now to try to solve this issue. Now i'm able to perform properly only ChipErase of Hyperflash by MMIO mode. Even if i'm able to write hyperflash memory, the "WriteToBuffer" operation requires a lot of time due to big delays inside hyperbus transaction.

Thank you in advance.

0 Likes
danieleFing_SMH
Level 1
Level 1
10 sign-ins First reply posted 5 sign-ins

Good morning,
I solved the problem using the SDL library "T2G_Sample_Driver_Library_7.5.0" which is not public. This library still has bugs but they can be fixed and the SMIF module works. Unfortunately there are still problems in fact the reading with the XIP module does not work and it is necessary to turn off and on and reset the SMIF module after a certain number of operations. So the SDL library is still not OK to use Hyperflash and there is something missing for proper handling of the SMIF module. Also I see that there are version variants between the SMIF modules of the various chip revisions so maybe there is some HW problem.

0 Likes