SW006015 Microchip Technology, SW006015 Datasheet - Page 87
![C COMPILER MPLAB C32](/photos/9/32/93257/sw006015_kit_sml.jpg)
SW006015
Manufacturer Part Number
SW006015
Description
C COMPILER MPLAB C32
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC32r
Specifications of SW006015
Supported Families
PIC32MX5, MX6, And MX7
Core Architecture
PIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC32 MCUs
Tool Function
Compiler
Supported Devices
PIC32 MCUs
Tool Type
Compiler
Processor Series
PIC32
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC32
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
© 2007 Microchip Technology Inc.
} > kseg1_data_mem
. = ALIGN(32 / 8) ;
_end = . ;
_bss_end = . ;
5.8.4.20
This section reserves space for the heap, which is required for dynamic memory
allocation. A symbol is defined to represent the virtual address of the heap (_heap).
The minimum amount of space reserved for the heap is determined by the symbol
_min_heap_size.
/* Heap allocating takes a chunk of memory following BSS */
.heap ALIGN(4) :
{
} > kseg1_data_mem
5.8.4.21
This section reserves space for the stack. The minimum amount of space reserved for
the stack is determined by the symbol _min_stack_size.
/* Stack allocation follows the heap */
.stack ALIGN(4) :
{
} > kseg1_data_mem
5.8.4.22
This section collects the RAM functions from all of the application's input files. This
section is assigned to the data memory region (kseg1_data_mem) with a load address
located in the program memory region (kseg0_program_mem). Symbols are defined
to represent the virtual begin (_ramfunc_begin) and end (_ramfunc_end)
addresses of this section, as well as the physical begin address of the RAM functions
in program memory (_ramfunc_image_begin) and a length of the RAM functions
(_ramfunc_length). In addition, the addresses for the bus matrix registers are
calculated (_bmxdkpba_address, _bmxdudba_address, and
_bmxdupba_address).
/*
.ramfunc ALIGN(2K) :
{
} > kseg1_data_mem AT> kseg0_program_mem
_ramfunc_image_begin = LOADADDR(.ramfunc) ;
_ramfunc_length = SIZEOF(.ramfunc) ;
_bmxdkpba_address = _ramfunc_begin - ORIGIN(kseg1_data_mem) ;
_bmxdudba_address = LENGTH(kseg1_data_mem);
_bmxdupba_address = LENGTH(kseg1_data_mem);
* RAM functions go at the end of our stack and heap allocation.
* Alignment of 2K required by the boundary register (BMXDKPBA).
*/
. = ALIGN(32 / 8) ;
_heap = . ;
. += _min_heap_size ;
. += _min_stack_size ;
_ramfunc_begin = . ;
*(.ramfunc
. = ALIGN(4) ;
_ramfunc_end = . ;
*/
.HEAP SECTION
.STACK SECTION
.RAMFUNC SECTION
.ramfunc.*)
DS51686A-page 83