Dicklessgreat / daisy-embassy

5 stars 2 forks source link

Implement SDRAM #2

Closed Dicklessgreat closed 3 months ago

Dicklessgreat commented 3 months ago

The IS42S32160GE75BLI, which is the SDRAM on the Daisy Seed board, requires 13 pins(A0 to A12) for its address pins. embassy_stm32::Fmc or stm32_fmc does not support this currently.

kalkyl commented 3 months ago

https://github.com/embassy-rs/embassy/pull/3189

kalkyl commented 3 months ago

FYI, my Daisy seed (rev 7) uses the IS42SM32160E, which is compatible with stm32_fmc::devices::as4c16m32msa_6::As4c16m32msa

Dicklessgreat commented 3 months ago

Thanks!!!! I'm very happy because I didn't expect other people to cooperate.

I made an example similar to the embassy example and confirmed that it works fine.

For future reference, I would like to ask how you know AS4C16M32MSA and IS42SM32160E work as the same stm32_fmc::SdramChip. It would help me a lot to know how to study if you could tell me why you thought they are the same or tell me some kind of intuition.(Maybe "read the datasheet" is the very answer, but if there is:))

(And I wrote IS42S32160GE75BLI by mistake. My board has the same SDRAM as rev7, IS42SM32160E)

kalkyl commented 3 months ago

Generally, pin compatible sdram chips with the same specs are designed to be interchangeable. I usually look in the stm32-fmc repo to see if there's already some device in there with the same overall configuration as my chip, and then i compare the timing configuration to the AC characteristics table of my datasheet to make sure it is indeed compatible.

In this case though i just looked at what the other daisy support crates out there were using