Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
We are working on a project. In our project, we use "CYPRESS S29GL128S90FHI010" model parallel NOR FLASH chip. We connected this chip to Analog Devices' Blackfin BF609 DSP's static memory controller (SMC0 BASEADRESS=0xB0000000 Bank0),(I share the schematic of the PCB we make ). We downloaded the "Spansion_LLD_Device_v15.3.1" Low-level driver from your website and we added to the project. But I have not been able to make the right configuration.I wrote ram a while trying to write to flash. and we try to run the following code, but we have not read the ID in the datasheet. Could you help me with the configuration.
Where did you get the base address 0xB0000000 for the static from? I couldn't find it in the blackfin reference manual.
The S29GL129S has an initial access time (tACC) of 100ns, so you should take this into account. I see that a CS# low cycle takes 10ns o nthe trace you sent. This will not work here.
The other thing is that I see two write cycles followed by a read cycle, then 1 write cycle then 1 read cycle. This does not comply with what a call to the function lld_GetDeviceId() is expected to do.
Normally, we should see 3 write cylces followed by 4 read cycles in toral.
You're also reading back 0x00559090 which is actually the written values to switch to autoselect mode to read the device IDs, so it looks like the controller is not configured properly.
Unfortunately, I'm not an expert of Blackfin but I would recommend that you dig deeper into its reference manual to peorperly setup the SMC controller.