Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


PROGMEM equivalent

Hi, in ATMEL’s IDE C compiler, there is an attribute PROGMEM (include pgmspace.h) for placing a const variable in program memory. There are read/write routines/macros, too (pgm_read_....).
Is there anything similar in System Workbench gcc?

Just use const, the linker will place it in the read-only .rodata section and the startup code will not copy it into RAM.

Thanks for your answer.

I’m aware of THAT. The background of my questions was: I want to use a portion of flash for factory and/or user settings with read/write capability without manually tinkering around with linker segments atl. Seems to be no way but diggin into it.

I’ll leave it at that.

In that case you have 3 options I think:

1. Use a microcontroller with an EEPROM (L0, L1 series) and place the user settings there
2. Use one of the available EEPROM emulation libraries - http://www.st.com/en/embedded-software/stsw-stm32066.htmlQuestion
3. Use your own functions to read/write data into the Flash memory, but be aware of flash wear-leveling problem if you want to save the settings frequently