-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Allow to redefine nRF's PSTORAGE_NUM_OF_PAGES outside of the mbed-os #3836
Conversation
…source By default the number of pstorage pages is set 1 and all addresses are calculated in the pstorage module accordingly. Nordic recommends changing this macro to whatever number is suitable for the app (see https://devzone.nordicsemi.com/question/53066/what-will-be-the-starting- address-of-pstorage-page-how-we-can-change-it/?answer=53085#post-id-5308 5) which is not quite elegant given that pstorage_platform.h is part of the mbed-os repo. With this modification you can e.g. define PSTORAGE_NUM_OF_PAGES on the command line, however note that you should rebuild mbed-os with this setting as it affects pstorage_platform.c.
CC @nvlsianpu @crontab Thanks for your submission, it is a good change but I would like some form of documentation explaining what define have to be provided to override the default number of pages used by the pstorage module. |
@pan- could you point out which part of the documentation should be amended? Note that the pstorage module comes from Nordic's own SDK, and I honestly don't know how mbed handles such imports of 3rd party code. |
@crontab How you want to inject PSTORAGE_NUM_OF_PAGES into build? |
There is no need to inject if you don't want to change the default, which is exactly one page of Flash memory available to the app. However, if you do want to change it, you need to pass |
mbed-cli supports -D.... This changes looks good for me. It won't changes target behaviour until -DPSTORAGE_NUM_OF_PAGES (or equivalent) will be used. I accept this PR from Nordic side. |
@crontab would be worth sending this upstream (to their SDK for consideration), as this might get overwritten in the next SDK update. Plus there are lot of config options that could be set, and having this option to change them without touching the source might be worthwhile |
/morph test |
@0xc0170 thanks! Sounds reasonable to let Nordic know and prevent future overrides, but I have no idea what the established procedure is. |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
OutputAll builds and test passed! |
@nvlsianpu can help you. |
Ports for Upcoming Targets Fixes and Changes 3716: fix for issue #3715: correction in startup files for ARM and IAR, alignment of system_stm32f429xx.c files ARMmbed/mbed-os#3716 3741: STM32 remove warning in hal_tick_32b.c file ARMmbed/mbed-os#3741 3780: STM32L4 : Fix GPIO G port compatibility ARMmbed/mbed-os#3780 3831: NCS36510: SPISLAVE enabled (Conflict resolved) ARMmbed/mbed-os#3831 3836: Allow to redefine nRF's PSTORAGE_NUM_OF_PAGES outside of the mbed-os ARMmbed/mbed-os#3836 3840: STM32: gpio SPEED - always set High Speed by default ARMmbed/mbed-os#3840 3844: STM32 GPIO: Typo correction. Update comment (GPIO_IP_WITHOUT_BRR) ARMmbed/mbed-os#3844 3850: STM32: change spi error to debug warning ARMmbed/mbed-os#3850 3860: Define GPIO_IP_WITHOUT_BRR for xDot platform ARMmbed/mbed-os#3860 3880: DISCO_F469NI: allow the use of CAN2 instance when CAN1 is not activated ARMmbed/mbed-os#3880 3795: Fix pwm period calc ARMmbed/mbed-os#3795 3828: STM32 CAN API: correct format and type ARMmbed/mbed-os#3828 3842: TARGET_NRF: corrected spi_init() to properly handle re-initialization ARMmbed/mbed-os#3842 3843: STM32L476xG: set APB2 clock to 80MHz (instead of 40MHz) ARMmbed/mbed-os#3843 3879: NUCLEO_F446ZE: Add missing AnalogIn pins on PF_3, PF_5 and PF_10. ARMmbed/mbed-os#3879 3902: Fix heap and stack size for NUCLEO_F746ZG ARMmbed/mbed-os#3902 3829: can_write(): return error code when no tx mailboxes are available ARMmbed/mbed-os#3829
Description
By default the number of pstorage pages is set 1 and all addresses are calculated in the pstorage module accordingly. Nordic recommends changing this macro to whatever number is suitable for the app (see this answer from Petter Myhre) which is not quite elegant given that pstorage_platform.h is part of the mbed-os repo. With this modification you can e.g. define PSTORAGE_NUM_OF_PAGES on the command line, however note that you should rebuild mbed-os with this setting as it affects pstorage_platform.c.
This patch modifies the source for both nRF51 and nRF52 families.