DRV_FLASHC

[English]

DRV_FLASHC API Status

API

drv_flashc_reset()

drv_flashc_read_flash_id()

drv_flashc_set_read_mode()

drv_flashc_get_line_mode()

drv_flashc_erase_sector()

drv_flashc_erase_block_32K()

drv_flashc_erase_block_64K()

drv_flashc_erase_chip()

drv_flashc_deep_power_down()

drv_flashc_release_deep_power_down()

drv_flashc_read_bytes()

drv_flashc_write_enable()

drv_flashc_write_disable()

drv_flashc_write_bytes()

drv_flashc_read_status_s0_s7_reg()

drv_flashc_read_status_s0_s15_reg()

drv_flashc_write_status_s0_s7_reg()

drv_flashc_write_status_s0_s15_reg()

drv_flashc_set_quadread_cmd()

drv_flashc_get_quadread_cmd()

drv_flashc_set_m_value()

drv_flashc_get_m_value()

DRV_FLASHC API Reference

Header File

Functions

int32_t drv_flashc_reset(void)

reset flash

set 0xff to flash

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

uint32_t drv_flashc_read_flash_id(void)

read flash device id

返回:

flash id

int32_t drv_flashc_set_read_mode(flashc_read_mode_e read_mode, uint8_t m_value)

set flash controller read line mode

设置数据读取使用的是几线 2线默认使用的命令是0x03 4线默认使用的命令是0xEB

参数:
  • read_mode[in] 参考 flashc_read_mode_e

  • m_value[in] 用0xEB与0xBB的线的时候,需要配置此M值,切换成”Continuous Read Mode”

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

uint8_t drv_flashc_get_line_mode(void)

get flash controller read line mode

读取数据使用的是几线

返回:

line_mode 参考 flashc_line_mode_e

int32_t drv_flashc_erase_sector(uint32_t address)

flash sector erase

flash擦除命令,发送的flash命令为0x20

参数:

address[in] 擦除的首地址

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_erase_block_32K(uint32_t address)

flash erase block 32K

flash擦除命令,发送的flash命令为0x52

参数:

address[in] 擦除的首地址

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_erase_block_64K(uint32_t address)

flash erase block 64K

flash擦除命令,发送的flash命令为0xD8

参数:

address[in] 擦除的首地址

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_erase_chip(void)

flash erase chip

flash擦除命令,发送的flash命令为0xC7

参数:

address[in] 擦除的首地址

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_deep_power_down(void)

deep power down

发送的flash命令为0xB9

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_release_deep_power_down(void)

release deep power down

发送的flash命令为0xAB

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_read_bytes(uint32_t address, uint8_t *pu1_buf, uint32_t size)

flash read data

软件方式向flash中写数据

参数:
  • address[in] 读数据的目标地址的首地址

  • pu1_buf[in] 数据指针

  • size[in] 数据大小,bytes。小于等于32

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_write_enable(void)

flash write enable

发送0x06命令

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_write_disable(void)

flash write disable

发送0x06命令

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_write_bytes(uint32_t address, const uint8_t *pu1_buf, uint32_t size)

flash write data

软件方式向flash中写数据

参数:
  • address[in] 写数据的目标地址的首地址

  • pu1_buf[in] 数据指针

  • size[in] 数据大小,bytes

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

uint16_t drv_flashc_read_status_s0_s7_reg(void)

read flash low 8bits register

发送0x05命令读取寄存器S0~S7

返回:

寄存器S0~S7值

uint16_t drv_flashc_read_status_s0_s15_reg(void)

read flash low 16bits register

(1)发送0x05命令读取寄存器S0~S7 (2)发送0x35命令读取寄存器S8~S15

返回:

寄存器S0~S7值

int32_t drv_flashc_write_status_s0_s7_reg(uint16_t status_reg_data)

read flash low 8bits register

发送0x01命令写寄存器S0~S7

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_write_status_s0_s15_reg(uint16_t status_reg_data)

read flash low 16bits register

发送0x01命令写寄存器S0~S15

返回值:
  • 0 – success [BK_RET_OK]

  • other – fail

返回:

result

int32_t drv_flashc_set_quadread_cmd(uint8_t modesel)
uint8_t drv_flashc_get_quadread_cmd(void)

get cmd use for 4 line

获取4线模式下与flash通信的命令

返回:

mode 0:0xEB; 1:0xE7

int32_t drv_flashc_set_m_value(uint16_t value)
uint8_t drv_flashc_get_m_value(void)

Enumerations

enum flashc_read_mode_e

Values:

enumerator FLASHC_STD_RD_CMD_0x03

flash standard read

enumerator FLASHC_DUAL_RD_CMD_0x3B

flash dual read

enumerator FLASHC_DUAL_RD_CMD_0xBB

flash dual read

enumerator FLASHC_QUAL_RD_CMD_0xEB

flash qual read