AnsweredAssumed Answered

How to force .bss to be .data? (Using MRAM on 52259EVB)

Question asked by Carl Norman on Oct 24, 2009
Latest reply on Oct 26, 2009 by Carl Norman

Hi, I am using the 52259EVB with external MRAM. As this MRAM is non volatile, I need to stop the compilier from creating my volatile varibles as .bss and make them all .data for my NVM_Section. This is because some .bss types are zero, and some are not, and .bss wont program if set as 0 as their 'defualt value'.

 

PS. I had no problems setting my linker up to get the Cyclone MAX programmer to program all my .data in the right spot in MRAM, the only problem is .bss is no good for my app, it must be forced to stay as .data for the section.

 

Here is a part of the linker:

    .NVM_Page:
    {
        nvm.c (.data)
        nvm.c (.rodata)
        nvm.c (.text)
        nvm.c (.bss)   <- I NEED THESE TO BE .data!!

   } > User_NVM

 

 

I also do not want to have to seperate .data and .bss and create a seperate .bss initiliser, or use const's and use pointers for modifiying the volatile varibles as I am using the MQX RToS and it would be a PITA in so many ways.

Outcomes