Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

1) During the course of normal code execution, an interrupt occurs. The CPU vectors to the interrupt vector table (IVT) as
described in the appropriate PIC24F datasheet.
2) The IVT is located in boot loader space, but the application needs to handle the interrupt. The boot loader jumps to the
correct entry in the User Remapped Interrupt Vector Table. At this point the CPU is jumping from the boot loader memory
space to the application memory space and effectively transferring control to the application.
3) At the entry in the User Remapped Interrupt Vector table there is placed a 'goto' instruction that will jump to the
appropriate interrupt handler if one is defined in your application and to the default interrupt if there isn't a handler defined. In
this way the behavior of the application with or without the boot loader is identical. The User Remapped Interrupt Vector
table is created by the application linker file for the specific boot loader in use. This table is automatically generated and
doesn't need to be modified. More about how this table is generated can be found in the Understanding and Customizing the
Boot Loader Implementation.
4) Finally once the interrupt handler code is complete, the code will return from the interrupt handler. This will return the CPU
to the instruction that the interrupt occurred before.
1.6.3.2.3.2.5 Understanding and Customizing the Boot Loader Implementation
This sections discusses the customizations that have been made from the default linker scripts in order to make the boot
loader work and how to customize these implementations if you wish to change the behavior or location of the boot loader.
Description
1.6.3.2.3.2.5.1 Memory Region Definitions
This section describes how each of the memory regions gets defined.
Description
First let's take a look how each of the memory regions are defined. The address ranges for each of the regions seen in the
diagram below must be defined in either the application linker file or the boot loader linker files.
1.6 Demos MLA - USB Library Help Device - Boot Loader - HID
261

e-Highlighter

Click to send permalink to address bar, or right-click to copy permalink.

Un-highlight all Un-highlight selectionu Highlight selectionh