OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8286|回复: 1

RT Thread 调试4G模块EC20 初步调试笔记

[复制链接]

22

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2014-4-30
在线时间
26 小时
发表于 2019-9-24 21:01:47 | 显示全部楼层 |阅读模式
最近在做4G模块开发,看了一下rtthread的AT组件,觉得非常好,于是决定研究一下试试。
1.需要安装env配置工具(注意版本)
2.下载rt thread源码(注意版本)
3.在bsp目录下相应开发板使用env工具配置。(关键地方)
4.生成mdk工程
5.下载测试


1.jpg


我研究了好几天才搞通,总结一下我遇到的几个坑,走了很多弯路的地方:
1.我用的开发板不是原子的,淘宝的一款4G开发板,我选在的bsp是stm32f4_hal,没有选择原子的阿波罗板是因为我没有使用rtc,初始化时会卡住,使用这个bsp时需要注意时钟配置,否则启不动
2.使用online package中的ec20组件时,退出menuconfig一定要记得使用pkgs --update下载更新组件
3.以上步骤完成之后要scons --target=mdk5 -s重新生成工程文件
4.最主要的一点:env工具要使用最新的,at device组件有版本要求的,如果选择默认的last版本,需要使用最新的RT Thread (GitHub上最新的),使用4.0.1都不行,因为最新的at device 组件是2.0.x的,重新编写了,与老版本不兼容,详细的请仔细阅读at device的更新说明。






AT Device 软件包发布有将近一年的时间了,期间经过几个版本的迭代,AT Device 软件包支持的功能和使用的方式也基本趋于稳定。从软件包的下载量和排名也可以看出大家对 AT Device 软件包的热情和支持。

本帖主要介绍 AT Device 软件包使用方式和版本说明,并就 AT Device 软件包使用时出现的部分问题提出解决方式,希望对大家在 AT Device 软件包使用时有所帮助。如果有问题可以直接在该贴查找解决方式或提问,将会获得第一时间的回复 。
软件包介绍
1.  什么是 AT Deivce 软件包
  • AT Device 软件包是由不同 AT 设备的移植实现和示例文件组成;
  • AT Device 软件包需要配合 RT-Thread AT 组件使用,AT Device 软件包是 AT 组件针对不同 AT 设备的实现。
  • AT Device 软件包旨在简化 AT 设备命令交互流程。软件包封装处理复杂的 AT 交互命令,提供简便的 AT 设备初始化和控制操作接口,并且抽象标准 BSD Socket API 用于 AT 设备网络连接。
  • AT Device 软件包目前支持的设备如下:
    • wifi 模块:ESP8266、RW007
    • 2G 模块:M26、MC20、SIM800C
    • 4G 模块:EC20、SIM76XX

2. 为什么要使用 AT Device 软件包
  • 现如今,AT 命令被广泛的应用于嵌入式开发领域,但是针对不同厂家或者设备 AT 命令的格式不尽相同,使得适配的程序缺少重用性也为程序维护提供困难。使用 AT Device 软件包,抽象统一接口,应用层无需改动程序即可兼容不同的 AT 设备。
  • 针对 AT 设备程序开发,最难处理的就是 AT 命令的收发和数据解析的操作,如果处理不好很容易造成数据的丢失或解析错误。 AT Device 软件包中针对不同设备已经完成大部分命令交互和解析的工作,并提供标准命令交互和数据解析接口,用户只需调用简单接口即可完成对 AT 设备的控制。
  • AT Device 软件包提供多种 AT 设备支持,针对已经适配好的设备,可以直接配置使用软件包,无需任何更改,即可对 AT 设备进行管理和控制。
  • AT Device 软件包支持多个 AT 设备同时接入(V2.0.0 版本支持),各个 AT 设备之间独立互不影响。
3. 如何使用 AT Device 软件包
4. 软件包版本更新说明
AT Device 软件包发布以来经过了多个版本的更新迭代,各个版本之间功能有所差异且需要适配 AT 组件改动,导致大家在版本的选择上容易产生问题,下面着重介绍一下 AT Device 软件包版本发展史,如果在版本选择和使用上出现的问题小伙伴可以优先查看这里。
目前 AT Device 软件包已经 release 7 个版本,最新版本为 laster 版本(V2.0.0),各个版本介绍如下:
  • V1.0.0:该版本为最初版本,适配 ESP8266、M26 模块,距最新版本改动较大,不建议使用;
  • V1.1.0:该版本主要适配系统中 SAL 组件和 AT 组件改动,距最新版本改动较大,不建议使用;
  • V1.2.0:该版本要修复 BUG,添加对 EC20 模块支持,建议配合 RT-Thread V3.1.0 版本使用;
  • V1.3.0:该版本主要适配 AT 组件中多客户端功能支持,建议配合 RT-Thread V3.1.0 版本使用;
  • V1.4.0:该版本修复软件包 BUG,建议配合 RT-Thread V3.1.1 、V3.1.2 或 V4.0.0 版本 使用;
  • V1.5.0:该版本添加对 RW007、SIM800C、SIM76XX 模块支持,建议配合 RT-Thread V3.1.1 、V3.1.2或 V4.0.0 版本使用;
  • V1.6.0:该版本适配 netdev 网卡组件,添加 AT Device 网卡命令的支持,需要配合 RT-Thread V3.1.3 版本 或 V4.0.1 版本使用;
  • laster(V2.0.0):最新版本重构了 AT Device 软件包结构,添加对多网络客户端支持,即支持同时选中多个 AT 设备。因为改动较大且和之前 RT-Thread 版本不兼容,如果选中 laster 版本 AT Device 软件包,只能使用 Github 最新版本 RT-Thread!!!
综上我们可以知道,不同版本 AT Device 软件包在使用时对 RT-Thread 版本有一定依赖,希望大家在使用之前注意这点。当然 AT Device 软件包版本依赖在 ENV 中已经处理,我们需要做的只有更新 ENV!更新 ENV!更新ENV!,才能正确的处理软件包依赖关系。
5. 软件包使用注意事项
  • 配置软件包之前建议 pkgs --upgrade 更新 ENV 工具(强烈建议 ENV 工具添加自动更新功能);
  • 如果使用 github 上最新版本 RT-Thread ,则只能使用 laster 版本 AT Device 软件包;如果使用 release 版本 RT-Thread ,请参考上述软件版本更新说明选择合适版本 AT Device 软件包。
  • AT Device 软件包适配的模块目前不支持作为网络服务器使用(如 accept 等函数不支持);
  • AT Device 软件包 V1.X.X 版本只支持开启一个设备,V2.0.0 版本(laster)支持同时开启多个设备。
  • AT Device 软件包 V1.X.X 版本和 V2.0.0 版本选项配置方式差异较大,如果进行版本升级请详细查 软件包 README 文件中配置介绍
  • AT Device 软件包开启会默认开启 AT 组件中配置选项,一般来说 AT 组件中配置选项无需改动。
常见问题汇总
下面就大家使用 AT Device 软件包或者 AT 组件时可能出现的一些问题进行整理:
1. 软件包版本更新或版本升级问题
错误现象:
error: "at_device_ops" has already been declared in the current scope.error: #error directive: "This RT-Thread version is older!!, please check and updata laster RT-Thread!"
AT Device 软件包 V2.0.0 更新之后很多小伙伴遇到上述错误,这类问题是下载使用的软件包版本和 RT-Thread 版本不兼容的问题,参考问题描述




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2018-7-23
在线时间
23 小时
发表于 2019-9-29 17:07:00 | 显示全部楼层
楼主有耐心,一个个问题进行解决,厉害
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 18:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表