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 "指令,然后另外读的终端里面,设备读出了返回值,并打印出了"OK",这时说明可以使用AT指令对设备进行操作了,可以很方便地进行调试。

既然可以使用AT指令进行modem进行读写操作了,因此,我们肯定可以在设备SoC里面存储一些我们需要的东西了,例如自定义的SN码或者MAC地址:

使用"AT+QCSN?"进行读取modem保存的内容,命令如下:

# echo -e "AT+QCSN?
" > /dev/smd11

读出的内容如下所示:

使用"AT+QCSN="进行modem写操作,命令如下:

echo -e "AT+QCSN=""9876543210""
" > /dev/smd11

写入后,并读出modem保存的内容,如下:

最后,使用命令进行清空操作:

echo -e "AT+QCSN=""""
" > /dev/smd11

清空后,读出效果如下:

不同平台的的AT指令集一般不一样,需要根据具体的平台进行操作。

3、小结

本文叙述了在MSM8953的Android平台中,如何使用ADB工具对AT指令进行调试操作的方法。

原文地址:https://www.cnblogs.com/Cqlismy/p/12168110.html