Files
STM8_Mesh_Control/STM8_Bootloader/include/w25q64.h
T
十七 42a4650a78 feat: 完善Mesh继电器OTA与地址协议
- 增加STM8 Bootloader工程及出厂固件恢复流程\n- 增加W25Q64外部Flash驱动和OTA分包接收、CRC16校验、断点续传状态管理\n- 增加固件版本查询、升级结果上报与主机确认机制\n- 将业务帧从55 AA帧头调整为发送方Mesh短地址+CMD+LEN+DATA+CRC16\n- 修正JDY-28M外层地址与业务发送方地址的职责划分,支持广播请求定向应答\n- 同步更新硬件引脚、存储分区、OTA流程和主机通信协议文档\n- 已使用SDCC重新编译,应用代码大小为5512字节,链接地址为0x8800
2026-11-03 11:29:55 +08:00

27 lines
973 B
C

/**
* @file w25q64.h
* @brief W25Q64JV 硬件SPI访问接口。
*/
#ifndef STM8_BOOTLOADER_W25Q64_H
#define STM8_BOOTLOADER_W25Q64_H
#include <stdint.h>
/** 初始化STM8硬件SPI和W25Q64片选。 */
void W25Q64_Init(void);
/** 读取W25Q64 JEDEC ID,便于启动时确认芯片存在。 */
uint32_t W25Q64_ReadJedecId(void);
/** 从W25Q64连续读取数据。 */
void W25Q64_Read(uint32_t address, uint8_t *buffer, uint16_t length);
/** 擦除包含指定地址的4KB扇区。 */
uint8_t W25Q64_EraseSector(uint32_t address);
/** 向W25Q64页内写入数据,长度不能跨越256字节页边界。 */
uint8_t W25Q64_PageProgram(uint32_t address, const uint8_t *data,
uint16_t length);
/** 将升级元数据中的request字节清零,表示升级已处理。 */
uint8_t W25Q64_ClearUpgradeRequest(void);
/** 写入Bootloader升级结果码,供主程序启动后上报。 */
uint8_t W25Q64_WriteUpgradeResult(uint8_t result);
#endif