Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Going beyond the address space of external QUAD SPI FLASH memory. #29

Open
SimonTechv opened this issue Feb 18, 2024 · 5 comments
Open
Assignees
Labels
bug Something isn't working hal HAL-LL driver-related issue or pull-request. internal bug tracker Issue confirmed and logged into the internal bug tracking system

Comments

@SimonTechv
Copy link

I ran into a problem when reading data through QUAD SPI.

I use discovery board MB1209D with STM32F412ZGT6U and 128 MBIT QUAD SPI flash NOR memory N25Q128 (Micron).

When I read the last block (subsector part of 512 bytes) of data by address 0xfffe00 from memory via DMA, I get a transmission error. I found out that this is due to the receiving amount of data and going beyond the address space in memory.

In this line 16 bytes more are read than is necessary to bypass the restriction, however, this leads to going beyond the address space of QSPI FLASH memory. Accordingly, the SPI peripheral generates a TRANSFER ERROR interrupt.

QSPI peripheral state after TE interrupt is occured:
image

@ALABSTM ALABSTM added bug Something isn't working hal HAL-LL driver-related issue or pull-request. labels Feb 19, 2024
@ALABSTM
Copy link
Collaborator

ALABSTM commented Feb 20, 2024

See also STM32CubeH7#176

@KRASTM KRASTM added the internal bug tracker Issue confirmed and logged into the internal bug tracking system label Feb 22, 2024
@KRASTM
Copy link
Contributor

KRASTM commented Feb 22, 2024

ST Internal Reference: 174336

@SimonTechv
Copy link
Author

SimonTechv commented Sep 11, 2024 via email

@KRASTM
Copy link
Contributor

KRASTM commented Sep 11, 2024

Hello @SimonTechv,

Sorry for the last comment, it was a mistake. Issue already Confirmed.

The line of code WRITE_REG(hqspi->Instance->DLR, (data_size - 1U + 16U)); is one of a few steps in a workaround for a hardware issue, and it's related only to the STM32F412. So, our team is studying this topic for a solution.

With regards,

@SimonTechv
Copy link
Author

SimonTechv commented Sep 11, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hal HAL-LL driver-related issue or pull-request. internal bug tracker Issue confirmed and logged into the internal bug tracking system
Projects
Development

No branches or pull requests

3 participants