feat(SpiOta): 引入配置化常量并优化SPI OTA实现

- 将硬编码的超时时间和缓冲区大小替换为配置文件中的常量
- 重构响应缓存对齐方式,使用SpiOta::kTxBufSize进行长度对齐
- 重新调整初始化顺序:先预装DMA再开启CS中断,避免首笔CS竞争问题
- 优化CS释放逻辑注释,明确说明ESP32数据准备状态的处理机制
- 在应用跳转前增加80ms延时,避免与主机HELLO时钟重叠影响SPI初始化
- 在配置头文件中统一定义SPI相关参数,提高代码可维护性
- 更新SPI握手信号语义说明,明确v2协议的数据就绪状态机制
This commit is contained in:
cbb
2026-07-17 02:06:12 +08:00
parent 3377a2e58a
commit 62eab6fcdf
5 changed files with 30 additions and 19 deletions
+4 -3
View File
@@ -1,7 +1,8 @@
#ifndef __SPI_OTA_H__
#define __SPI_OTA_H__
#include "OTA.h"
#include "OTA.h" /* 间接 config.h */
#include "config.h"
/**
* @file SpiOta.h
@@ -43,8 +44,8 @@ private:
class SpiOta {
public:
static constexpr u16 kRxBufSize = 256U;
static constexpr u16 kTxBufSize = 128U;
static constexpr u16 kRxBufSize = CONFIG_SPI_RX_BUF_SIZE; /* 主机可打满 256 */
static constexpr u16 kTxBufSize = CONFIG_SPI_TX_BUF_SIZE; /* BOOT 响应满缓冲 128 */
static constexpr u16 kIsrLogBufSize = 128U;
static void init();