11.3.3.4 persist [DD]

The persist attribute specifies that a section should be allocated as persistent storage in data memory, as defined by region data in the linker script. Persistent storage is not cleared or initialized by the C run-time library. The following attributes may be used in conjunction with persist and will further specify the allocation:

  • address() specifies an absolute address
  • near specifies the first 8K of data memory
  • xmemory [DD] specifies X address space, which includes all of region data below the address __YDATA_BASE as defined in the linker script (dsPIC30F/33F DSCs only)
  • ymemory [DD] specifies Y address space, which includes all of region data above the address __YDATA_BASE as defined in the linker script (dsPIC30F/33F DSCs only)
  • align() specifies alignment of the section starting address
  • reverse() specifies alignment of the section ending address + 1
  • dma [DD] specifies dma address space, which includes the portion of region data between addresses __DMA_BASE and __DMA_END as defined in the linker script (dsPIC33F DSCs only).