如何在Contiki-NG中使用Wismote并解决目标平台不存在报错
问题原因
这个报错是因为当前版本的Contiki-NG主线已经移除了Wismote平台支持,该平台仅在旧版Contiki(2.x/3.x版本)中默认集成,Contiki-NG迭代过程中已经停止对该硬件的官方维护,因此会提示目标平台不存在。
解决方案
你可以根据需求选择以下任意一种方案处理:
- 方案一:移植Wismote平台到当前Contiki-NG版本
- 从旧版Contiki代码中提取完整的Wismote平台代码,对应路径为
platform/wismote/目录,包含平台配置、驱动、相关Makefile文件 - 将提取的
wismote目录放入当前Contiki-NG工作目录的arch/platform/路径下 - 修改
wismote目录下的Makefile.wismote,适配Contiki-NG的编译系统规则:- 调整依赖的CPU架构路径,Wismote使用MSP430F5437A芯片,关联Contiki-NG中已有的
arch/cpu/msp430/相关配置 - 修正头文件引用路径,适配Contiki-NG的路径规则
- 移除旧版Contiki特有的编译参数,适配Contiki-NG的编译变量定义
- 调整依赖的CPU架构路径,Wismote使用MSP430F5437A芯片,关联Contiki-NG中已有的
- 执行
make TARGET=wismote savetarget保存默认编译目标,即可进行后续编译测试
- 从旧版Contiki代码中提取完整的Wismote平台代码,对应路径为
- 方案二:使用兼容替代平台仿真
Wismote和你已经验证过的Sky、Z1节点同属MSP430架构,硬件资源差异极小,如果不需要1:1匹配Wismote的硬件特性,可以直接用Sky节点替代完成功能仿真,原有代码不需要做任何修改即可正常运行。 - 方案三:切换到旧版Contiki Docker镜像
如果必须使用原生支持Wismote的环境,可以替换当前的Contiki-NG Docker镜像为旧版Contiki镜像,旧版本镜像默认已经集成Wismote平台,不需要额外适配即可直接编译运行。
验证
适配完成后执行原编译命令:
make udp-server.wismote TARGET=wismote
无报错则说明平台添加成功,返回Cooja选择Wismote节点加载对应固件即可正常仿真。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

