C-SDK使用(Mico)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
准备工具
- IAR Embedded Workbench for ARM,是一个针对ARM 处理器 的集成开发环境,它包含项目管理器、编辑器、C/C++编译器和ARM 汇编器、连接器XLINK和支持RTOS 的调试工具C-SPY。用户可以到IAR公司的网站IAR下载,建议使用IAR EWARM 7.30.4版本来进行MiCO开发。
- JLINK工具,和IAR结合用来download和debug使用,具体可以上淘宝购买。
- SecureCRT,用来抓取开发板的uart log,用户可以从SecureCRT官网下载。
- Mico-Kit 3165开发板,可以通过mico官网获取。
- mico开发环境搭建和mico os介绍参考官网:mico
说明
- IoT SDK基于mico v2.4.1、mico v2.5.0、mico v3.0.0来做的移植。
- 如果选用mico v3.0.0 sdk,需要在工程里面定义宏MICO_SDK_V3,其它mico版本无需定义该宏。
添加SDK MQTT协议源文件到IAR工程
- 阿里IoT套件SDK包括MQTT和CCP协议,根据场景只会用到其中一种协议,只需要编译一种协议到mico工程即可。
- 因为mico开发板自带SSL库,这样IoT SDK自带的Mbedtls就无需添加到工程里面编译。
- 需要添加MQTT协议的源文件路径有
sdk/common/src
sdk/examples/mico/mqtt
sdk/platform/mico/src
sdk/src/mqtt/MQTTClient-C/src
sdk/src/mqtt/MQTTClient-C/nettype/tls
sdk/src/mqtt/MQTTPacket/src
sdk/public_libs/porting/micossl
- 设定IAR工程的头文件路径
添加SDK CCP协议源文件到IAR工程
- 阿里IoT套件SDK包括MQTT和CCP协议,根据场景只会用到其中一种协议,只需要编译一种协议到mico工程即可。
- 目前CCP代码是完全依赖Mbedtls的,这样IoT SDK自带的Mbedtls必须添加进工程里面编译。
- 需要添加CCP协议的源文件路径有
sdk/common/src
sdk/common/inc
sdk/examples/mico/ccp
sdk/platform/mico/src
sdk/platform/mico/inc
sdk/public_libs/mbedtls/library
sdk/public_libs/mbedtls/include/mbedtls
sdk/src/ccp
sdk/src/ccp/include
- 设定IAR工程的头文件路径
设置IAR Debugger
编译和download
- 确保JLINK工具通过USB连接电脑
- 点击按钮build和download
注意事项:
- 在调用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。
- mico 实例代码文件mico_wifi_code
- mico平台IoT SDK占用资源情况如下:
常见问题:
编译出现Build error: Multiple tools write to the same file.
- 解决方法:
把文件MiCO_SDK_2.4.1librariesutilitiesjson_cdebug.c 重命名为mico_debug.c,然后加入到project里面,重新build。
编译出现Link错误
- 运行CCP协议会出现这样的Link error,运行MQTT协议不会出现这样的错误。
- 解决方法:修改文件
MiCO_SDK_2.4.1/Board/MiCOKit-3165/micoLinkerForIAR.icf调整heap为0x12000
编译mico v3.0.0版本出现未定义错误
- 修改文件mico_socket.h,添加下面的内容。
#include <stdint.h>
#ifndef ssize_t
#define ssize_t int
#endif
最后更新:2016-12-01 13:10:50
上一篇:
C-SDK使用(FreeRTOS)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
下一篇:
C-SDK使用(µC/OS)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
连接实例__快速入门(MySQL)_云数据库 RDS 版-阿里云
CreatePolicyVersion__授权策略管理接口_RAM API文档_访问控制-阿里云
修改备份策略__备份恢复_API 参考_云数据库 RDS 版-阿里云
ALIYUN::ECS::DiskAttachment__资源列表_资源编排-阿里云
还在害怕wannacry?成都锐盾、阿里云推商业软件免费试用
web播放器常见问题___视频播放_使用手册_媒体转码-阿里云
域名信息修改(过户)操作流程__域名持有者信息修改_管理操作_域名-阿里云
查询批量生成的设备信息__接口列表_服务器端API_阿里云物联网套件-阿里云
强连通分量__示例程序_图模型_大数据计算服务-阿里云
API产品接入__商品接入_服务商_云市场-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云