新版 sdk 中文档描述由两个 IIC 控制器, 由软件和硬件两种, 软件部分设备名称改为 "i2c_soft" , 会返回失败
[I] (3) main: ver: 2. 4-rc build at Aug 12 2026 13: 04: 22
[I] (4) main: boot reason 0
[I] (4) main: heap size 272520 (266. 13KB)
[I] (5) main: flash size 0x200000 (2MB)
[E] (5) dt: not found device i2c_soft in the dt table
[E] (5) drv_i2c: err line 53
这个是要在哪里打开么? 还是逻辑要自己写
感谢回复! 经过测试设备名称为 "i2c" 时有正常的 i2c 信号输出, 但是设备名称为 "i2c_soft" , 返回数据依然为错误, 没有 i2c 数据信号, 降低 i2c 频率后效果一样


按照您的说明, 依然没办法正常使用,
建议按照如下步骤实验:
Step1: 编译终端 进入工程目录 , 比如: wm_iot_sdkexamplesperipherali2c
Step2: 运行 wm. py distclean 彻底清除历史编译记录
Step3: 运行 wm. py menuconfig
Step4: 打开 wm_iot_sdkexamplesperipherali2cmainsrcmain. c
Step5: 运行 wm. py build 重新编译
Step6: 可在编译后产生的 build/device_table/wm_dt_hw. c 中确认是否有 i2c_soft 相关的内容
可能原因是: 设备表 wm_dt_hw. c 有两种配置方式生成
a: 用 wm_iot_sdkcomponentswm_dtconfig Chip device_table. toml, 可以通过 WebUI 方式调整 设备表
b: 直接用 wm_iot_sdkcomponentswm_dtconfig Chip device_table. c
两种方式的差异, 具体可看在线文档的 设备表 章节
https: //doc. winnermicro. net/w800/zh_CN/2. 4-rc/component_guides/device_table/index. html
系统默认 用了方式 a (因为 menuconfig- Components configuration- DeviceTable- Use c style configuration 关闭)
而方式 a 中的 toml 文件, 还未添加上 i2c_soft 的设备类别.