Microchip® Advanced Software Framework

isp.c File Reference

In system programming to control security, memories and fuse bits.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "conf_isp.h"
#include "nvm.h"
#include "isp.h"
#include "string.h"

Functions

static void mem_bootloader_read (void *dst, isp_addr_t src, uint16_t nbytes)
 Copy a bootloader version memory section to a RAM buffer. More...
 
static void mem_eeprom_read (void *dst, isp_addr_t src, uint16_t nbytes)
 Copy a eeprom memory section to a RAM buffer. More...
 
static void mem_eeprom_write (isp_addr_t dst, const void *src, uint16_t nbytes)
 Copy a RAM buffer to a eeprom memory section. More...
 
static void mem_flash_read (void *dst, isp_addr_t src, uint16_t nbytes)
 Copy a flash memory section to a RAM buffer. More...
 
static void mem_flash_write (isp_addr_t dst, const void *src, uint16_t nbytes)
 Copy a RAM buffer to a flash memory section. More...
 
static void mem_signature_read (void *dst, isp_addr_t src, uint16_t nbytes)
 Copy a signature memory section to a RAM buffer. More...
 
Miscellaneous functions of the In System Programming module
void isp_init (void)
 Initializes the ISP interface. More...
 
bool isp_is_security (void)
 Gives the security state of the chip. More...
 
bool isp_erase_chip (void)
 Erase the application flash area and eventually the eeprom. More...
 
void isp_start_appli (void)
 Resets the device to start the user application. More...
 
void isp_force_boot_isp (bool force)
 Change the boot process configuration to enable/disable the ISP mode for the next startup. More...
 

Variables

const isp_mem_t isp_bootloader
 Interface for memory bootloader version. More...
 
const isp_mem_t isp_eeprom
 Interface for memory eeprom. More...
 
const isp_mem_t isp_flash
 Interface for memory flash. More...
 
const isp_mem_t isp_no_available
 Interface for memory no available. More...
 
const isp_mem_t isp_signature
 Interface for memory signature. More...
 
uint16_t start_app_key
 
Specific memories
static isp_mem_signature_t mem_signature
 Memory signature that stores information about the device. More...
 
static isp_mem_bootloader_t mem_bootloader
 Memory bootloader that stores the bootloader version. More...
 
Memories list declaration
const isp_mems_t isp_memories
 Memories list declaration. More...
 

uint16_t start_app_key