【Zigbee】 EFR32MG2x TuyaOS开发问题汇总

Zigbee 子设备开发


Post Reply
zeso
Posts: 132

To Be Continued...

1.基本环境配置

TuyaOS Wind IDE 编译开发EFR32MG2x代码时,请确保已经如下配置已经完成:

  • 仔细阅读TuyaOS\docs中的文档,搭建TuyaOS Wind IDE开发环境;

  • 已安装IAR for ARM 8.40;
    找到IAR安装目录,例如D:\Program Files\IAR System\ARM 8.40\common\bin,可以正常打开IarIdePm.exe应用程序。

  • 已安装python3(建议3.80)并已经添加到环境变量中;

  • 如果安装了多个python版本,请确保环境变量中3.8版本优先级高于其他版本(变量顺序靠前,优先级高);

    Image

2.常用问题解决方案

2.1.FileExistsError: 当文件已存在时,无法创建该文件。

问题原因: IDE build 工程时,编译脚本会从\TuyaOS\tools\templates中拷贝模板并扫描应用文件夹下的源文件重新构建IAR工程,如果此时IAR工程已经打开,则会报错。
解决方案: 关闭对应的IAR工程,重新build。

2.2.应用开发时是否可以用IAR进行debug?

解决方案: 可以的,使用MG21平台调试时,编译脚本已经完成IAR工程配置,一般不用修改,进入调试界面需选择Cortex-M33内核;
Image

2.3.使用开发包里的demo进行IAR 调试时,进入调试状态PC指针地址一直停留在0xFFFFFFFF。

问题原因:基于tuyaSDK开发zigbee设备必须支持OTA升级,这种情况大概率是没有烧录bootloader。
解决方案:IDE build之后会在目录TuyaOS\apps\tuyaos_demo_xx\output生成目标文件:

  • tuyaos_demo_xx_DIFF_[version].bin 用于差分ota的升级文件
  • tuyaos_demo_xx_QIO_[version].bin 包含bootloader的完整目标文件
  • tuyaos_demo_xx_UG_[version].bin OTA升级固件包文件

烧录QIO文件或者单独烧录bootloader文件之后即可正常调试。
bootloader文件在目录TuyaOS\tools\bootloader中,需区分目标平台。
烧录软件在目录TuyaOS\tools\commander中,烧录方式请参考TuyaOS\docs\0_快速入门.md文档的6.6章节。

我的栈溢不出。

Post Reply