SW006015 Microchip Technology, SW006015 Datasheet - Page 68

C COMPILER MPLAB C32

SW006015

Manufacturer Part Number
SW006015
Description
C COMPILER MPLAB C32
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC32r
Datasheets

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
MPLAB
C32 C Compiler User’s Guide
®
The C standard requires that the uninitialized data sections be initialized to 0 on startup.
In order to initialize these sections, the linker script must allocate these sections
contiguously and initialize two variables – one for the start address of the uninitialized
data section and one for the end address of the uninitialized data section. The startup
code clears all data memory locations between these two addresses. These variables
are named _bss_begin and _bss_end, respectively.
FIGURE 5-6:
UNINITIALIZED DATA
5.7.2.6
COPY INITIALIZED DATA FROM PROGRAM FLASH TO DATA MEMORY
Similar to uninitialized data sections, four initialized data sections exist:.sdata,
.data, .lit4, and .lit8. The .sdata section is a data segment containing
initialized variables less than or equal to n bytes where n is determined by the -Gn
command line option. The .data section is a data segment containing initialized
variables not included in .sdata. The .lit4 and .lit8 sections contain constants
(usually floating-point) which the assembler decides to store in memory rather than in
the instruction stream.
On startup, a copy of the initialized data exists in the program flash. This data must be
copied to data memory. To facilitate this, the linker script must initialize three
variables—one for the start address of the image in program flash, one for the start
address of the section in data memory, and one for the end address of the section in
data memory. The startup code copies all data memory locations from program flash
image to data memory using these variables. These variables are named
_data_image_begin, _data_begin, and _data_end, respectively.
© 2007 Microchip Technology Inc.
DS51686A-page 64

Related parts for SW006015