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指令進行調試操作的方法。