REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
flasher.cpp File Reference
#include "protocol/transport.h"
#include <Arduino.h>
#include <malloc.h>
#include <stdint.h>
#include <string.h>
#include <cstring>
#include <imxrt.h>
#include <ota/flasher.h>
#include <utils/etl_base64.h>
#include <utils/logging.h>
#include <utils/reboot.h>
#include "QNEthernet.h"
#include "redac/calibration.h"
#include "utils/timer.h"
Include dependency graph for flasher.cpp:

Go to the source code of this file.

Namespaces

namespace  loader
 

Macros

#define CPU_RESTART_VAL   (0x5FA0004)
 
#define REBOOT   (SCB_AIRCR = CPU_RESTART_VAL)
 

Functions

void flash_write (void *addr, const void *data, uint32_t len)
 
void flash_erase_sector (void *addr)
 
void flash_erase_32K_block (void *addr)
 
void flash_erase_64K_block (void *addr)
 
static FASTRUN void loader::make_ack (pb_UpdateResponse &res)
 
static FASTRUN void loader::make_success (pb_UpdateResponse &res)
 
static FASTRUN void loader::make_failure (pb_UpdateResponse &res, const char *reason)
 
FASTRUN loader::__attribute__ ((always_inline, unused)) static inline void flush(void *addr
 
asm loader::volatile ("":::"memory")
 
 loader::asm ("dsb")
 
 loader::while (location< end_addr)
 
 loader::asm ("isb")
 
FASTRUN void loader::erase_region (uint8_t *base, uint32_t size)
 
FASTRUN void loader::flash_write_32 (uint32_t *dst, const uint32_t *src, uint32_t size)
 
FASTRUN void loader::flash_copy (uint32_t *dst, const uint32_t *src, uint32_t size)
 

Variables

FASTRUN uint32_t loader::size
 
uint32_t loader::end_addr = (uint32_t)addr + size
 
 loader::do
 
 loader::location = 32
 

Macro Definition Documentation

◆ CPU_RESTART_VAL

#define CPU_RESTART_VAL   (0x5FA0004)

Definition at line 40 of file flasher.cpp.

◆ REBOOT

#define REBOOT   (SCB_AIRCR = CPU_RESTART_VAL)

Definition at line 41 of file flasher.cpp.

Function Documentation

◆ flash_erase_32K_block()

void flash_erase_32K_block ( void * addr)

Definition at line 163 of file eeprom.cpp.

References ADDR_SDR, CMD_SDR, flash_wait(), LUT0, LUT1, and PINS1.

Referenced by loader::erase_region().

◆ flash_erase_64K_block()

void flash_erase_64K_block ( void * addr)

Definition at line 187 of file eeprom.cpp.

References ADDR_SDR, CMD_SDR, flash_wait(), LUT0, LUT1, and PINS1.

Referenced by loader::erase_region().

◆ flash_erase_sector()

void flash_erase_sector ( void * addr)

Definition at line 139 of file eeprom.cpp.

References ADDR_SDR, CMD_SDR, flash_wait(), LUT0, LUT1, and PINS1.

Referenced by loader::erase_region().

◆ flash_write()

void flash_write ( void * addr,
const void * data,
uint32_t len )

Definition at line 99 of file eeprom.cpp.

References ADDR_SDR, CMD_SDR, flash_wait(), LUT0, LUT1, PINS1, PINS4, and WRITE_SDR.

Referenced by loader::flash_write_32().