openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches
lpc17_hpm.c File Reference

Firmware update functions (HPM.1) More...

#include "chip_lpc175x_6x.h"
#include "lpc17_hpm.h"
#include "iap.h"
#include "modules/ipmi.h"
#include "modules/sys_utils.h"
#include <string.h>
#include "arm_cm3_reset.h"
Include dependency graph for lpc17_hpm.c:

Data Structures

struct  fw_info
 

Functions

uint8_t hpm_prepare_comp (void)
 
uint8_t ipmc_hpm_prepare_comp (void)
 
uint8_t bootloader_hpm_prepare_comp (void)
 
uint8_t hpm_upload_block (uint8_t *block, uint16_t size)
 
uint8_t ipmc_hpm_upload_block (uint8_t *block, uint16_t size)
 
uint8_t bootloader_hpm_upload_block (uint8_t *block, uint16_t size)
 
uint8_t hpm_finish_upload (uint32_t image_size)
 
uint8_t ipmc_hpm_finish_upload (uint32_t image_size)
 
uint8_t bootloader_hpm_finish_upload (uint32_t image_size)
 
uint8_t ipmc_hpm_get_upgrade_status (void)
 
uint8_t bootloader_hpm_get_upgrade_status (void)
 
uint8_t hpm_activate_firmware (enum fw_type type)
 
uint8_t ipmc_hpm_activate_firmware (void)
 
uint8_t bootloader_hpm_activate_firmware (void)
 
uint8_t program_page (uint32_t address, uint32_t *data, uint32_t size)
 
uint8_t ipmc_erase_sector (uint32_t sector_start, uint32_t sector_end)
 

Variables

bool finish_upload_success = false
 
const uint32_t __AppFlash_start
 
const uint32_t __AppFlash_end
 
const uint32_t __BootFlash_start
 
const uint32_t __BootFlash_end
 
const uint32_t __FWUpdateFlash_start
 
const uint32_t __FWUpdateFlash_end
 
const fw_info __FWInfo_addr
 
const uint32_t * app_start_addr = &__AppFlash_start
 
const uint32_t * app_end_addr = &__AppFlash_end
 
const uint32_t * boot_start_addr = &__BootFlash_start
 
const uint32_t * boot_end_addr = &__BootFlash_end
 
const uint32_t * update_start_addr = &__FWUpdateFlash_start
 
const uint32_t * update_end_addr = &__FWUpdateFlash_end
 
const fw_infofw_header = &__FWInfo_addr
 
uint32_t ipmc_page_addr = 0
 
uint32_t ipmc_image_size = 0
 
uint32_t ipmc_page_byte_index = 0
 
uint32_t ipmc_page [64]
 

Detailed Description

Firmware update functions (HPM.1)

Author
Henrique Silva henri.nosp@m.que..nosp@m.silva.nosp@m.@lnl.nosp@m.s.br, LNLS
Date
March 2016

Function Documentation

◆ bootloader_hpm_activate_firmware()

uint8_t bootloader_hpm_activate_firmware ( void )

◆ bootloader_hpm_finish_upload()

uint8_t bootloader_hpm_finish_upload ( uint32_t image_size)

◆ bootloader_hpm_get_upgrade_status()

uint8_t bootloader_hpm_get_upgrade_status ( void )

◆ bootloader_hpm_prepare_comp()

uint8_t bootloader_hpm_prepare_comp ( void )

◆ bootloader_hpm_upload_block()

uint8_t bootloader_hpm_upload_block ( uint8_t * block,
uint16_t size )

◆ hpm_activate_firmware()

uint8_t hpm_activate_firmware ( enum fw_type type)

◆ hpm_finish_upload()

uint8_t hpm_finish_upload ( uint32_t image_size)

◆ hpm_prepare_comp()

uint8_t hpm_prepare_comp ( void )

◆ hpm_upload_block()

uint8_t hpm_upload_block ( uint8_t * block,
uint16_t size )

◆ ipmc_erase_sector()

uint8_t ipmc_erase_sector ( uint32_t sector_start,
uint32_t sector_end )

◆ ipmc_hpm_activate_firmware()

uint8_t ipmc_hpm_activate_firmware ( void )

◆ ipmc_hpm_finish_upload()

uint8_t ipmc_hpm_finish_upload ( uint32_t image_size)

◆ ipmc_hpm_get_upgrade_status()

uint8_t ipmc_hpm_get_upgrade_status ( void )

◆ ipmc_hpm_prepare_comp()

uint8_t ipmc_hpm_prepare_comp ( void )

◆ ipmc_hpm_upload_block()

uint8_t ipmc_hpm_upload_block ( uint8_t * block,
uint16_t size )

◆ program_page()

uint8_t program_page ( uint32_t address,
uint32_t * data,
uint32_t size )

Variable Documentation

◆ __AppFlash_end

const uint32_t __AppFlash_end
extern

◆ __AppFlash_start

const uint32_t __AppFlash_start
extern

◆ __BootFlash_end

const uint32_t __BootFlash_end
extern

◆ __BootFlash_start

const uint32_t __BootFlash_start
extern

◆ __FWInfo_addr

const fw_info __FWInfo_addr
extern

◆ __FWUpdateFlash_end

const uint32_t __FWUpdateFlash_end
extern

◆ __FWUpdateFlash_start

const uint32_t __FWUpdateFlash_start
extern

◆ app_end_addr

const uint32_t* app_end_addr = &__AppFlash_end

◆ app_start_addr

const uint32_t* app_start_addr = &__AppFlash_start

◆ boot_end_addr

const uint32_t* boot_end_addr = &__BootFlash_end

◆ boot_start_addr

const uint32_t* boot_start_addr = &__BootFlash_start

◆ finish_upload_success

bool finish_upload_success = false

◆ fw_header

const fw_info* fw_header = &__FWInfo_addr

◆ ipmc_image_size

uint32_t ipmc_image_size = 0

◆ ipmc_page

uint32_t ipmc_page[64]

◆ ipmc_page_addr

uint32_t ipmc_page_addr = 0

◆ ipmc_page_byte_index

uint32_t ipmc_page_byte_index = 0

◆ update_end_addr

const uint32_t* update_end_addr = &__FWUpdateFlash_end

◆ update_start_addr

const uint32_t* update_start_addr = &__FWUpdateFlash_start