open-ameba/sdk/component/common/mbed/hal_ext/flash_api.h

56 lines
1.9 KiB
C
Raw Permalink Normal View History

2016-11-09 00:56:41 +00:00
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2014, Realtek Semiconductor Corp.
* All rights reserved.
*
* This module is a confidential and proprietary property of RealTek and
* possession or use of this module requires written permission of RealTek.
*******************************************************************************
*/
2017-02-01 11:37:57 +00:00
#ifndef MBED_EXT_FLASH_API_EXT_H
2016-11-09 00:56:41 +00:00
#define MBED_EXT_FLASH_API_EXT_H
#include "device.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct flash_s flash_t;
/**
* global data structure
*/
2017-02-01 11:37:57 +00:00
extern flash_t flashobj;
2016-11-09 00:56:41 +00:00
extern bool fspic_isinit;
enum {
FLASH_COMPLETE = 0,
FLASH_ERROR_2 = 1,
};
void flash_turnon (void);
void flash_init (flash_t *obj);
void flash_erase_sector (flash_t *obj, uint32_t address);
void flash_erase_block (flash_t *obj, uint32_t address);
int flash_read_word (flash_t *obj, uint32_t address, uint32_t * data);
int flash_write_word (flash_t *obj, uint32_t address, uint32_t data);
int flash_stream_read (flash_t *obj, uint32_t address, uint32_t len, uint8_t * data);
int flash_stream_write (flash_t *obj, uint32_t address, uint32_t len, uint8_t * data);
void flash_write_protect (flash_t *obj, uint32_t protect);
int flash_get_status (flash_t * obj);
int flash_set_status (flash_t * obj, uint32_t data);
void flash_reset_status (flash_t * obj);
int flash_burst_write (flash_t * obj, uint32_t address, uint32_t Length, uint8_t * data);
int flash_burst_read (flash_t * obj, uint32_t address, uint32_t Length, uint8_t * data);
int flash_set_extend_addr (flash_t * obj, uint32_t data);
int flash_get_extend_addr (flash_t * obj);
2017-02-01 11:37:57 +00:00
unsigned int flash_get_size (flash_t *obj);
int flash_otp_read (flash_t *obj, uint32_t address, uint32_t Length, uint8_t * data);
2016-11-09 00:56:41 +00:00
#ifdef __cplusplus
}
#endif
#endif