@[TOC]
C_SDK代码git服务器地址
git clone http://36.7.87.100:10101/r/iot_csdk_rda8910.git
1 简介
本文档主要对 720U系列模块CSDK版本用户程序编程进行指导。此CSDK版本针对合宙模块提供的一套C语言的软件开发环境,让客户像开发单片机一下,使用合宙的无线通信模块。
#2 开发环境搭建
##2.1 下载驱动
从官网下载最新的驱动程序,驱动下载地址:8910_module_usb_driver
下载完成后解压安装包,进入安装包文件\8910_module_usb_driver_signed _20200303_hezhou

##2.2 安装驱动
根据自己的操作系统选择进入对应的文件夹。
例如:win10基于X64系统,选择DriversForWin10/DPInst64.exe进行安装

##2.3 驱动测试
安装成功后将开发板插上电脑,将开关拨到On,并且长按开机键,等待模块正常运行后查看设备管理器/端口,是否有如下左图三个设备。如果没有,查看设备管理器中其他设备有无驱动未安装如下右图,如果有说明驱动安装失败,需要重新安装驱动;否则建议更换USB线束后重新安装驱动。

#3 用户程序编译
进入iot_sdk_4g_8910/project文件夹,双击运行cmd.exe,在命令行选择对应的demo文件进行编译。
例如:编译demo_hello文件,命令行输入demo_hello.bat,回车运行bat文件,此时开始编译文件。


编译结束后,在iot_sdk_4g_8910目录下出现hex文件夹,对应的目录下面包含编译项目的文件;

Air720U_CSDK_demo_hello目录下
包含csdk层的下载固件: Air720U_CSDK_demo_hello_APP.pac
包含底层和csdk层的下载固件: Air720U_CSDK_demo_hello.pac
包含csdk层的OTA升级固件: hello_1.0.0_CSDK_V574_RDA8910_app.dfota.bin
包含底层和csdk层的OTA升级固件: hello_1.0.0_CSDK_V574_RDA8910.dfota.bin

Air720U_CSDK_demo_hello_map目录下 包含编译生成的map和elf文件。

如果编译出现错误,可以在cmd命令行中搜索”error”来定位错误位置。

#4 下载运行
##4.1 下载工具介绍
下载工具使用的是合宙官方工具luatools。下载地址:luatools v2

##4.2 固件选择
点击右上角下载固件图标,在下载固件弹窗中选择需要下载的文件,
例如socket_demo固件:
hex/Air720U_CSDK_demo_socket/Air720U_CSDK_demo_socket.pac

##4.3 下载固件
勾选USB BOOT下载,点击下载。长按模块上的U_BOOT键,再按重启键进入下载模式进行下载,下载过程中会有进度条提示下载进度,完成时会显示下载成功。

下载工具LuaTools的使用指南:https://luatdoc.papapoi.com/713/
5 新建工程
5.1 建立新项目
首先下载并解压iot_sdk_4g_8910.zip文件,在iot_sdk_4g_8910/demo目录下新建项目的文件夹;
例如:test

在新建的文件夹下面新建两个文件:CMakeLists.txt和test.c;
可以从demo文件中拷贝一份过来再进行修改使用。
在test.c中建立入口函数,并加入自己开始执行的程序代码:
#include "iot_debug.c"
static void test(void)
{
iot_debug_print("[test] hello world");
}
int appimg_enter(void *param)/*入口函数*/
{
iot_debug_print("[test] appimg_enter");
test();
return 0;
}
void appimg_exit(void)
{
iot_debug_print("[test] appimg_exit");
}
将CMakeLists.txt里面如代码注释位置改成包含入口函数的*.c文件名称
例如:test.c
1 | #/* |
5.2 添加代码
自己的程序代码按照如下格式加入CMakeLists.txt文件中进行编译使用。
1 | #/* |
需要使用CSDK提供的API可以参考iot_sdk_4g_8910/demo目录下包含各个功能的例子,选择需要的功能参考demo中项目代码进行添加,实现自己想要的功能。
用户可使用的API所在文件:iot_sdk_4g_8910/api目录下所包含的相关头文件,API使用方法请参考《Luat_IoT_LTE_SDK_C语言编程手册.chm》
注意:除了iot_sdk_4g_8910/api目录下所包含的相关头文件提供的API可使用外,其它*.h中的API不要使用,否则会出现无法预知的错误,请切记。
其它标准库函数调用,只要包含对应的标准头文件即可,当前是支持的。比如要使用 strcpy 函数,则需要包含头文件:#include “string.h”
##5.3 建立编译bat文件
在iot_sdk_4g_8910/demo目录下建立自己的编译bat文件

修改bat文件内容,修改内容为demo中对应新建文件夹名称

#6 如何调试
##6.1 调试工具介绍
Coolwatcher 工具是通过USB Diag口或者设备的 host 口进行通信。使用USB Diag口进行通信使用USB线直接连接模块的USB管脚到PC的USB接口;host 口进行通信波特率为 921600,由于速率较高,所以建议使用 FTDI 等高速 USB 转串口线,其他 USB 转串口线可能会导致通信中断,从而影响调试。
Coolwatcher工具下载地址:Coolwatcher下载

##6.2 打开调试工具
1 确认通信串口号
电脑设备管理器中查看串口号,如下图

2 配置工具
选择【8910】和 lastcomport,确认串口后点击【OK】

Lastcomport 和设备管理器中的串口号对应,例如【COM3】就填写 3。
3 确认打开是否正常
如果串口正常打开,工具左侧会有如下提示

6.3 查看trace
1 打开 trace tool
选择【plugs->Active Tracer】,工具右侧会出现【Trace tool】栏,如果没出现就右击一下工具空白处,选择【Trace tool】。
模块开机后,通过串口工具发AT^TRACECTRL=0,1,3 这个指令,将日志打开
注意:AT^TRACECTRL=0,1,3是永久生效的,可以断电保存

2 trace tool 工具说明
下图红框从左到右分别为【开始 trace】,【停止 trace】,【清空 trace】,【过滤 trace】,【应用过滤】,【保存 trace】,【使能 trace 时间】【设置 comment on/off】


6.4 常见问题
1 无法正常通信
一旦串口无法正常通信,就无法进行调试、输出 trace。
无法通信分为以下两种情况:
- 电脑串口异常
这种情况下,coolwatcher 工具都会无法正常打开对应串口,可以重新插拔串口尝试恢复

2) 工具异常
在以上信息都确认没有问题的情况下,如果依然无法正常调试,可以通过【coolwatcher 命令行窗口】输入【reop】或者重启 coolwatcher 软件来恢复