This is taken from the datasheet. We can place variables in there by
declaring them in the C code like this:
/*!
* User preferences
*/
static struct prefs_t {
/*! Serial number */
uint64_t serial;
/*! Menu frequency */
uint16_t menu_freq;
/*! Menu speed */
uint8_t menu_speed;
/*! Menu volume (attenuation) */
uint8_t menu_vol;
/*! Default operating mode */
uint8_t op_mode;
} prefs __attribute__((section(".bkpsram")));
git-svn-id: https://svn.code.sf.net/p/freetel/code@2408
01035d8c-6547-0410-b346-
abe4f91aad63
EEPROM (rx) : ORIGIN = 0x08004000, LENGTH = 48K
/* The rest of flash is used for program data */
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 960K
+ /* Backup memory area */
+ BKPSRAM (rwx) : ORIGIN = 0x40024000, LENGTH = 4K
/* Memory area */
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
/* Core Coupled Memory */
. = ALIGN(4);
} >EEPROM = 0xff
+ .bkpsram :
+ {
+ . = ALIGN(4);
+ KEEP(*(.bkpsram))
+ . = ALIGN(4);
+ } > BKPSRAM
.text :
{