You are here

GPIF makes me mad ! | Cypress Semiconductor

GPIF makes me mad !

Summary: 1 Reply, Latest post by RSKV on 23 Jul 2012 12:23 AM PDT
Verified Answers: 0
Last post
Log in to post new comments.
ChristopheSeyler's picture
2 posts



I'm trying to use the GPIF for a simple application : interfacing a NAND flash. I designed some state machines :

- writting a command 

- writting an address

- writting data

- receiving data

I created 2 DMA channels (one for transmitting data, the other to receive) agtnd attached them (through socket 0 and 1) to my state machines.

To produce a NAND command, i switch between stat machine to send command, address and write or read data.

When i need to send data, i get a buffer (DMA channel get buffer), fill it and commit it and when i have to read data, i get a buffer and discard it after processing it.

I'm working with DMA buffer up to 8192 bytes (a nand page). All seems work except :

- during the read phases, sometime the FSM is stuck in the start state, waiting for a DMA_RDY_1 condition, like the previous discard didn't work. The getbuffer call returns me a buffer with a count to 0. My current workaround is to discard these '0 count' buffer and trying to get another one.

- the other MAJOR issue is the commit time : in transmission, getting a buffer (8192) + memcpy it + committing it takes 2,5 milli second !!!!! I have the same thing when i'm reading data. During command and address phase, comminting a 1 or 5 bytes buffer takes 60 micro second !


How to fix that ?



rskv's picture
Cypress Employee
1134 posts


Please create a tech support case and one of our engineer will help you on this.


sai krishna.

Log in to post new comments.