MSM8953通过ADB进行AT指令操作
Posted 务实求知
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSM8953通过ADB进行AT指令操作相关的知识,希望对你有一定的参考价值。
1、前言
在嵌入式开发中,我们有时候会需要使用AT指令对AT端口进行操作,例如,在MSM8953的android平台中,有时候需要使用AT指令对modem进行读写操作,本质上,就是串口设备的读写操作,本文将介绍,如何使用ADB工具,对AT端口进行读写操作。
2、AT指令操作方法
使用ADB登入到Android启动的终端里面去,需要打开两个终端,一个用来读,一个用来写,本文将使用/dev/smd11这个设备节点进行讲解。
打开ADB并登入到系统命令如下:
# adb root
# adb shell
如下图所示:
在打开的两个终端中,我们可以使用cat和echo命令进行读写,在一个终端上使用cat命令去读设备节点,命令如下:
# cat /dev/smd11
另外一个终端则使用echo命令去写设备节点,命令如下:
# echo -e "xxx" > /dev/smd11
效果如下所示:
在图中可以看到,我们在一个终端里面发送了"AT\\r\\n"指令,然后另外读的终端里面,设备读出了返回值,并打印出了"OK",这时说明可以使用AT指令对设备进行操作了,可以很方便地进行调试。
既然可以使用AT指令进行modem进行读写操作了,因此,我们肯定可以在设备SoC里面存储一些我们需要的东西了,例如自定义的SN码或者MAC地址:
使用"AT+QCSN?"进行读取modem保存的内容,命令如下:
# echo -e "AT+QCSN?\\r\\n" > /dev/smd11
读出的内容如下所示:
使用"AT+QCSN="进行modem写操作,命令如下:
echo -e "AT+QCSN="\\"9876543210\\""\\r\\n" > /dev/smd11
写入后,并读出modem保存的内容,如下:
最后,使用命令进行清空操作:
echo -e "AT+QCSN="\\"\\""\\r\\n" > /dev/smd11
清空后,读出效果如下:
不同平台的的AT指令集一般不一样,需要根据具体的平台进行操作。
3、小结
本文叙述了在MSM8953的Android平台中,如何使用ADB工具对AT指令进行调试操作的方法。
以上是关于MSM8953通过ADB进行AT指令操作的主要内容,如果未能解决你的问题,请参考以下文章
Android系统_MSM8953_android10_adb连接adbd加入密码检测
Android_三MSM8953_android10_移植nmap