You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/02/28 11:21:06 UTC

[GitHub] [incubator-nuttx] davids5 commented on issue #391: arch/arm/src/stm32/stm32f20xxf40xx_flash.c: Add progmen flash block mapping.

davids5 commented on issue #391: arch/arm/src/stm32/stm32f20xxf40xx_flash.c: Add progmen flash block mapping.
URL: https://github.com/apache/incubator-nuttx/pull/391#issuecomment-592470656
 
 
   @bjbrandt - 
   
   I think we need to step back and look at the API. It seems to have become very corrupted. 
   Blocks, pages and Sectors have been muddled. The only thing that matters in the STM32 Soc is the Sector size and sizes.
   
   For a flash driver to have Random Read/Write access we need 1 or ideally 2 backing RAM buffers.
   This is because erase sizes are on Sector boundaries.  This works fine on Soc's with Lots of RAM and/or SMALL Sector sizes. (Like 2K) It does not work on parts Like the F4, F7, H7
   
   ![image](https://user-images.githubusercontent.com/1945821/75544016-f0bd4d00-59d7-11ea-9eee-064e7dceb660.png)
   
   It appears to me that the changes in  29164c5 and herein are not correct. But I may just be confused by the API.
   
   Consider the use case of a bootloader: How does one implement a simple Erase From Sector 2 to N (23 on the F4) and program from Sector 2 - n?
   
   With the changes in 29164c5  and herein what are the calls to do this? Can it even be done?
   
   @patacongo Would you be able to add the history on the `up_progmem_.*`  API and what it shuld be able to support?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services