Skip to content

板卡能力与验证边界 ​

本页说明平台改进候选的接口与使用边界。2026-10-01 首批源码与定向主机测试已完成部分验证,完整构建、设备部署、物理行为和长期运行仍以对应候选发布报告为准,不表示现有在线设备已经升级。

芯片支持不等于整板兼容 ​

板卡资料来自认证接口 /api/boards/profiles,资源占用来自 /api/peripherals/resources,新增/修改外设前通过 /api/peripherals/preflight 检查。预检需要授权与开发者模式,不能用离线比较另一板型来改变当前芯片的真实能力。

  • scope 为 chip-policy:通用芯片能力与保守资源策略,不能代表某块载板的继电器、供电、屏幕或接线已经验证。
  • scope 为 board-policy:已有特定板卡策略;仍须核对板本和接线,不能自动获得实物通过结论。
  • scope 为 module-policy:包含芯片限制与模组内部 Flash/PSRAM 接线的保守策略;不代表某块载板已经验证。
  • hardwareVerified 保持 false,requiresBoardWiringVerification 为 true;真正的实物验收绑定设备、板本、接线、固件哈希和测试记录。
  • 同为 ESP32-S3,Octal PSRAM 与其他内存接线的可用 GPIO 不同;比较时使用完整 profile key,不只比较芯片名称。

ESP32-C3 候选策略 ​

2026-10-03 后继源码还增加经典 ESP32 的 esp32-wroom(编号4)和 esp32-wrover(编号5);尚待集中验证及部署。带 PSRAM 的经典构建禁止把 GPIO16/17 用作普通外设,即使 PSRAM 初始化失败也不释放这些脚。PZ/WROOM 板型不再自动用于所有经典构建,须显式选择;与 PSRAM 冲突时编译拒绝。默认 GPIO 和模组名称不能代替实际载板接线核对。依据:WROOM-32 数据手册、WROVER-E/IE 数据手册。

新增 esp32-c3 策略,保留既有板型编号,新编号为 3。该策略用于当前 C3 构建的实际预检,不再借用经典 ESP32 的引脚表。

项目策略与限制
GPIO11~17保护常见模组的 Flash 供电与总线,禁止分配给普通外设
GPIO2、8、9启动绑带脚,显示风险并要求确认,不能只因保存成功就认为上电安全
GPIO18/19保护 USB Serial/JTAG;默认预检视为占用
GPIO20/21UART0 控制台脚,按控制台占用策略处理
ADC本策略只公开 GPIO0~4 的 ADC1;不以 GPIO5 的 ADC2 做通用可靠采集承诺
PWM / RMT六个 PWM 通道;NeoPixel 的 RMT TX 预算为两个,不把 RX 通道当作额外 TX 使用
UART / 总线一个通用 UART、一个共享 I2C 和一个应用 SPI 的软件资源预算;不是全部芯片硬件单元的数量宣传
PCNT / SDMMC不声明 PCNT 或 SDMMC 支持;编码器中断路径与 SPI SD 路径应分别配置、验证

参考依据:Espressif C3 GPIO 说明、ADC 单次采样限制、RMT 说明。外设配置仍以实际接线为准,默认引脚不是自动接线承诺。

驱动注册容量与内存 ​

传感器驱动注册表使用静态有界数组,默认容纳 12 个注册名;编译参数 FASTBEE_SENSOR_DRIVER_CAPACITY 可设置 1~64。别名也占一个条目,缩小容量前必须确保容纳该固件实际编译的注册名。

外设类型描述增加 registeredDriverCount、driverCapacity、availableDriverSlots、registrationFailures,便于发现不足或重复注册,不应把注册失败的驱动显示成可用。注册条目只是名称、工厂和描述符引用,并不是传感器实例;编译数量、启用数量和实际初始化数量须分别理解。

默认新增四个条目在 ESP32 上约增加 48 字节静态存储,实例依然按需创建。运行时关闭功能不等于固件变小,也不自动证明实例占用全部释放;真实 RAM 收益与碎片/峰值以对应资源报告为准。

板卡列表接口使用 1536 字节固定片段缓冲逐段读取不可变策略,不再一次构造所有板型/引脚的 JSON 树和完整响应副本。响应对象、网络发送队列仍有额外成本;这不是整个 HTTP 请求仅占 1536 字节的承诺。发送前核验总长度,分配失败或未来策略描述超出缓冲边界时返回 503,不截断为成功结果。接口仍需登录且不缓存,原字段保持兼容。

本地主机已测试五种策略的激活标记、不同分片长度、字符转义、超长拒绝和 1000 次重读/提前断开模拟;无 PSRAM 设备上的实际峰值、慢连接与并发仍须实机验证。

验收与升级 ​

功能状态和内存数值的正确解读 ​

字段/现象可以说明什么不能据此证明什么
compiled功能代码包含在当前固件中该功能已有硬件实例,或外接模块已接好
userEnabled用户保存的启用意图依赖、预算、驱动初始化均已成功
active当前初始化/执行准入门控允许使用所有实例已运行、数据有效,或关闭后对象已释放
bootEnabled / pendingRestart提供该字段的功能可比较启动选择与当前选择未提供字段的功能支持安全热切换;缺字段不应当作 false
ramB / flashKB / activeRamB元数据中的资源估算及其汇总实时内存分配、操作峰值或精确可回收字节
dram8Free / dram8Largest状态接口的内部 8-bit DRAM 空闲量和最大连续块(字节)单次快照足以排除泄漏或覆盖所有操作峰值

功能停用后的资源收益必须按实际生效方式测量,保存失败应保持原配置。预算拒绝、初始化失败、运行期降级和未配置实例需要分别诊断;不通过清空用户选择来掩盖不足。

共享 SPI 的兼容与退出边界 ​

通用 SPI 表示按配置进行字节传输,不等于任意 SPI 芯片已有完整驱动。通用 SPI、SDSPI、MFRC522 和 spi_tft 当前使用全局 SPI 对象;每个模块需要独立 CS,并通过实际板型的引脚/资源预检。不同引脚声明不是另一条独立硬件总线,旧配置绕过预检可能产生冲突。SDMMC 和 RGB 面板不能按 SDSPI/TFT 的规则类推。

后续候选新增通用 SPI 删除时的保守保护:只要其它启用配置仍使用全局 SPI,就不结束总线;旧配置 CS 重叠时不释放其它模块的 CS。该保护只消除提前关闭的部分风险,不表示固定运行租约、并发退出、初始化失败清理或 W5500 的 host 协调已完成;功能是否已在某台设备生效以其固件哈希对应的发布报告为准。

当前规划器仍严格比较 SPI 的引脚组。只写 TFT 没有 MISO,不能因此宣称能与任意全双工 SD/RFID 配置混用;不得为绕过提示而关闭预检或省略物理接线。共享总线的完整支持还需要初始化顺序、传输期间停用、失联恢复、无 PSRAM 与 S3 实机组合验收。

候选发布证据 ​

依次核对源码实现、主机测试、目标编译、部署写入/回读、实物行为和长稳。任一环节待验证,不将其替换为“已支持全部硬件”或“长期稳定”。

部署复用项目现有脚本,保留每台设备自己的身份、认证、网络、MQTT、用户配置和历史数据;不得把公开模板覆盖现场配置,也不能将触屏专用固件用于相同容量的非触屏板。

相关入口:架构设计、资源调优、外设配置、稳定性发布检查。

蜂信物联 | fastbee.cn