This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How do I declare a structure or array in Flash memory?

H,
How would I declare a struct containing an array, or just an array or a struct for that matter, in Flash memory. I have read the variable placing example. But that only seems to work for simple variables.

The following code just declares it in RAM.

typedef struct
{
   int SampleList[200];
   unsigned long SLi_Next;
   unsigned long SLi_Max;
} STC_DataStorage;

//As a global
const STC_DataStorage Data;

Thanks.
Richard.

Parents
  • I have tried using code from the memory example.

    /* Mapped to Uninitialized Data Section (.bss) in External RAM */
    
    unsigned char Buffer[32768];
    
    struct {
      unsigned short us[16];
      unsigned long  ul[8];
    } Table;
    

    The compiler tells me
    /cygdrive/c/Cygnus/Arm-Tools/Bin/../lib/gcc-lib/arm-thumb-elf/3.3.1/../../../../arm-thumb-elf/bin/ld: region IntRAM is full (CMU_S1.elf section .bss)
    

    How do I map the struct to FlashRAM?
    Richard.

Reply
  • I have tried using code from the memory example.

    /* Mapped to Uninitialized Data Section (.bss) in External RAM */
    
    unsigned char Buffer[32768];
    
    struct {
      unsigned short us[16];
      unsigned long  ul[8];
    } Table;
    

    The compiler tells me
    /cygdrive/c/Cygnus/Arm-Tools/Bin/../lib/gcc-lib/arm-thumb-elf/3.3.1/../../../../arm-thumb-elf/bin/ld: region IntRAM is full (CMU_S1.elf section .bss)
    

    How do I map the struct to FlashRAM?
    Richard.

Children
No data