23.3.4.24 .ramfunc Section
The linker now dynamically collects the 'ramfunc
' attributed and
".ramfunc
" named sections and allocates them sequentially in an
appropriate range of memory. The first ramfunc
attributed function is
placed at the highest appropriately aligned address.
The presence of a ramfunc
section causes the linker to emit the symbols
necessary for the crt0.S start-up code to initialize the PIC32 bus matrix
appropriately.
/*
* RAM functions go at the end of our stack and heap allocation.
* Alignment of 2K required by the boundary register (BMXDKPBA).
*
* RAM functions are now allocated by the linker. The linker generates
* _ramfunc_begin and _bmxdkpba_address symbols depending on the
* location of RAM functions.
*/
_bmxdudba_address = LENGTH(kseg1_data_mem) ;
_bmxdupba_address = LENGTH(kseg1_data_mem) ;