PROGMEM equivalent Posted by straubm on 2017-07-18 18:55 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?
Posted by bugmenot on 2017-07-20 11:31 Just use const, the linker will place it in the read-only .rodata section and the startup code will not copy it into RAM.
Posted by straubm on 2017-07-22 18:33 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.
Posted by bugmenot on 2017-07-24 11:42 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.html 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