Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
Table of Contents
2012-2013 Microchip Technology Inc. DS50002071C-page 7
Chapter 10. Memory Allocation and Access
10.1 Introduction ............................................................................................... 143
10.2 Address Spaces ....................................................................................... 143
10.3 Variables in Data Space Memory ............................................................. 144
10.3.1 Non-Auto Variable Allocation and Access ............................................. 144
10.3.2 Auto Variable Allocation and Access ..................................................... 147
10.3.3 Changing Auto Variable Allocation ........................................................ 150
10.4 Variables in Program Space ..................................................................... 151
10.4.1 Allocation and Access of Program Memory Objects ............................. 151
10.4.2 Access of objects in Program Memory .................................................. 153
10.4.3 Size Limitations of Program Memory Variables ..................................... 154
10.4.4 Changing Program Memory Variable Allocation .................................... 155
10.5 Parallel Master Port Access ..................................................................... 156
10.5.1 Initialize PMP ......................................................................................... 156
10.5.2 Declare a New Memory Space .............................................................. 157
10.5.3 Define Variables within PMP Space ...................................................... 157
10.6 External Memory Access .......................................................................... 158
10.6.1 Declare a New Memory Space .............................................................. 158
10.6.2 Define Variables Within an External Space ........................................... 158
10.6.3 Define How to Access Memory Spaces ................................................ 159
10.6.4 An External Example ............................................................................. 161
10.7 Extended Data Space Access .................................................................. 162
10.8 Packing Data Stored in Flash ................................................................... 163
10.8.1 Packed Example ................................................................................... 163
10.8.2 Usage Considerations ........................................................................... 163
10.8.3 Addressing Information ......................................................................... 164
10.9 Allocation of Variables to Registers .......................................................... 165
10.10 Variables in EEPROM ............................................................................ 165
10.10.1 Accessing EEDATA via User Managed PSV ...................................... 165
10.10.2 Accessing EEDATA Using TBLRDx Instructions ................................. 166
10.10.3 Accessing EEDATA Using Managed Access ...................................... 167
10.10.4 Additional Sources of Information ....................................................... 167
10.11 Dynamic Memory Allocation ................................................................... 167
10.12 Memory Models ...................................................................................... 168
10.12.1 Near or Far Data ................................................................................. 169
Chapter 11. Operators and Statements
11.1 Introduction ............................................................................................... 171
11.2 Built-In Functions ...................................................................................... 171
11.3 Integral Promotion .................................................................................... 171
Chapter 12. Register Usage
12.1 Introduction ............................................................................................... 173
12.2 Register Variables .................................................................................... 173
12.3 Changing Register Contents .................................................................... 174
Protego_Release_01_05-Related-OEM-Documentation-MPLAB-XC16-C-Compiler.pdf