授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。
共同学习成长QQ群 622368884,不喜勿加,里面有一大群志同道合的探路人
如果觉得有用,麻烦点赞收藏,您的支持是博主创作的动力。
请勿白嫖,请勿白嫖,请勿白嫖,点赞就是你最大的支持
文章目录
- 1. SPI Flash 相关接口
- 2.相关API
- 2.1 spi_flash_get_id —— 查询 SPI Flash 的 ID
- 2.2 spi_flash_erase_sector—— 擦除 Flash 扇区
- 2.3 spi_flash_write—— 写入数据到 Flash。Flash 读写必须 4 字节对⻬齐
- 2.4 spi_flash_read—— 从 Flash 读取数据。Flash 读写必须 4 字节对⻬齐
- 2.5 spi_flash_set_read_func—— 注册用户自定义的 SPI Flash 读取接⼝口函数
- 2.6 spi_flash_erase_protect_enable—— 使能 flash 擦写保护。使能后,将保护 flash 不会误操作擦写了了正在运行的应用程序
- 2.7 spi_flash_erase_protect_disable—— 关闭 flash 擦写保护功能
1. SPI Flash 相关接口
- SPI Flash 接口位于 tools/sdk/include/spi_flash.h
2.相关API
2.1 spi_flash_get_id —— 查询 SPI Flash 的 ID
函数定义
uint32 spi_flash_get_id (void)
参数
无
返回值
spi flash id
2.2 spi_flash_erase_sector—— 擦除 Flash 扇区
函数定义
SpiFlashOpResult spi_flash_erase_sector (uint16 sec)
参数
uint16 sec:扇区号,从扇区 0 开始计数,每扇区 4 KB
返回值
typedef enum{
SPI_FLASH_RESULT_OK,
SPI_FLASH_RESULT_ERR,
SPI_FLASH_RESULT_TIMEOUT
} SpiFlashOpResult;
2.3 spi_flash_write—— 写入数据到 Flash。Flash 读写必须 4 字节对⻬齐
函数定义
SpiFlashOpResult spi_flash_write (
uint32 des_addr,
uint32 *src_addr,
uint32 size
)
参数
• uint32 des_addr:写入 Flash 目的地址
• uint32 *src_addr:写入数据的指针
• uint32 size:数据长度,单位 byte,必须 4 字节对齐进行读写
返回值
typedef enum{
SPI_FLASH_RESULT_OK,
SPI_FLASH_RESULT_ERR,
SPI_FLASH_RESULT_TIMEOUT
} SpiFlashOpResult;
2.4 spi_flash_read—— 从 Flash 读取数据。Flash 读写必须 4 字节对⻬齐
函数定义
SpiFlashOpResult spi_flash_read(
uint32 src_addr,
uint32 * des_addr,
uint32 size
)
参数
• uint32 src_addr: 读取 Flash 的地址
• uint32 *des_addr: 存放读取Flash指针
• uint32 size:数据⻓长度,单位 byte,必须 4 字节对齐进行读写
返回值
typedef enum{
SPI_FLASH_RESULT_OK,
SPI_FLASH_RESULT_ERR,
SPI_FLASH_RESULT_TIMEOUT
} SpiFlashOpResult;
2.5 spi_flash_set_read_func—— 注册用户自定义的 SPI Flash 读取接⼝口函数
函数定义
void spi_flash_set_read_func (user_spi_flash_read read)
参数
typedef SpiFlashOpResult (*user_spi_flash_read)(
SpiFlashChip *spi,
uint32 src_addr,
uint32 * des_addr,
uint32 size
)
返回值
无
2.6 spi_flash_erase_protect_enable—— 使能 flash 擦写保护。使能后,将保护 flash 不会误操作擦写了了正在运行的应用程序
函数定义
bool spi_flash_erase_protect_enable(void)
参数
无
返回值
True: 设置成功
False: 设置失败
2.7 spi_flash_erase_protect_disable—— 关闭 flash 擦写保护功能
函数定义
bool spi_flash_erase_protect_disable(void)
参数
无
返回值
True: 设置成功
False: 设置失败