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 + -
显示快捷键?