全部产品
阿里云办公

C-SDK使用(FreeRTOS)

更新时间:2017-09-04 19:13:09

准备工具

  • 支持FreeRTOS OS的开发板,本文档以MTK WIFI芯片MT7687为例。
  • SecureCRT,用来抓取开发板的uart log,用户可以从SecureCRT官网下载。
  • Linux编译环境,用来编译IoT SDK。
  • FlashTool工具,用来download bin文件到开发板,从MTK官网下载。
  • IoT套件SDK FreeRTOS版本是在MTK MT7687芯片上面做的开发,芯片MT7687 SDK文档和相关工具下载 参考MTK官网。

添加IoT sdk到芯片编译系统

  • 以MT7687为例,修改文件

    project/mt7687_hdk/apps/iot_sdk/GCC/Makefile

  • 参考Makefile文件MakeFile
  • MQTT和CCP不能同时编译,根据实际应用场景只需编译一种协议即可。
  • 编译命令

    sudo ./build.sh mt7687_hdk iot_sdk

  • 编译生成bin文件路径

    out/mt7687_hdk/iot_sdk/mt7687_iot_sdk_xip.bin

  • 用FlashTool通过usb download mt7687_iot_sdk_xip.bin 文件到芯片里面

注意事项

  • 在调用mqtt_client_demo或ccp_client_demo函数之前确保开发板连接上WIFI,否则会出现设备认证初始化失败。
  • 需要创建单独的线程来调用mqtt_client_demo或ccp_client_demo。
  • 运行ccp_client_demo创建thread的stack size最小需设置为16K左右,否则系统会发生crash,运行mqtt_client_demo创建thread的stack size最小需设置为8K,否则系统会发生crash。
  • MT7687使用IoT套件SDK demo

常见问题

运行遇到下面错误

  • aliyun_iot_platform_network.c:163 aliyun_iot_network_settimeout()| setsockopt error, errno = 109 ret = -1 fd = 1
  • 解决方法是:修改lwipopts.h, 添加下面的两个宏。
  1. #define LWIP_SO_SNDTIMEO 1
  2. #define LWIP_SO_RCVTIMEO 1