437
人物
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-阿裏雲