hal_flash_inf.h
来自「基于ARM和uC/OS-II实现的串口控制台」· C头文件 代码 · 共 62 行
H
62 行
#ifndef __HAL_FLASH_INF_H__
#define __HAL_FLASH_INF_H__
/******************************************************************************
* *
* hal_flash_inf.h - FLASH操作的用户界面,本接口封装了器件驱动程序的函数 *
* *
* 应用编程时应使用本接口,而避免直接使用驱动程序提供的函数,因为驱动提供的 *
* 函数可能会根据需要而发生变化,而本接口不会。 *
* *
******************************************************************************/
#include "../pub/hal_types.h"
#include "../dev/hal_flash_types.h"
#include "../dev/hal_flash_dev.h"
hal_flash_fd* hal_flash_dev_open(const char* name);
void hal_flash_dev_close(hal_flash_fd* fd );
/*
* hal_write_flash
*
* 将一个buffer写入FLASH中
*
* 为了正确将一个buffer写入FLASH,这个函数会将所有受影响的的扇区擦除,
* 并且在擦除操作进行之前不会自动保存受影响的扇区的数据
*/
int hal_write_flash(
hal_flash_fd* fd,
int offset,
hal_u8* src_addr,
int length );
/*
* hal_read_flash
*
* 提供本函数的目的是使串行FLASH也能统一到同一个框架中
*/
int hal_read_flash(
hal_flash_fd* fd, int offset,
hal_u8* dest_addr, int length );
/*
* hal_get_flash_info
*
* 返回FLASH扇区的信息
*/
int hal_get_flash_info(
hal_flash_fd* fd, flash_region* info,
int* number_of_regions);
/*
* hal_erase_flash_block
*
* 擦除指定的块或扇区
*/
int hal_erase_flash_block( hal_flash_fd* fd, int block) ;
#endif /* __HAL_FLASH_INF_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?