以下控制端均以windows爲例
1. linux下(包含Android等嵌入式linux)
1.1 adb調試
adb是基於usb或以太網wifi等局域網之上的工具,在被控端嵌入式linux端有個監聽adbd進程,控制端有adb server和adb client,adb client用tcp和adb server鏈接,adb server用usb總線協議或tcp和adbd通信
1.2 ssh調試
ssh是一種標準的網絡協議,用途廣泛,在被控端標準linux系統或者嵌入式linux均常見,被控端有sshd進程,控制端ssh client工具
1.3 串口調試
串口是一種物理接口,在這之上有不同的電平標準,一般串口命令行用於底層驅動開發等,直接連接串口的話,只能進行數據收發,利用串口調試工具xcom等
getty用於管理串口等各種設備/dev/tty*的連接,在linux init時加入 /sbin/getty -L ttyS0 0 vt100 監聽串口的連接(也是個守護進程),如果有連接,則開啓一個shell進行服務;
這樣就能在串口連接時,打開shell終端,並調用login和passwd程序,然後就可以使用linux shell啦。
getty命令用於設置終端機模式,連線速率和管制線路。
getty命令是UNIX之類操作系統啓動時所必須的3個步驟之一 ,用來開啓終端,進行終端的初始化,設置終端。 getty 命令設置和管理終端線路和端口。getty 命令由 init 命令來運行。getty 命令與終端狀態管理員程序相鏈接。終端狀態管理員程序提供了終端控制和登錄的複合功能。 當作爲 getty 命令調用時,終端狀態管理員程序提供了通常的端口管理功能。
2. 裸機或者rtos下(rtos以freertos爲例)
2.1 裸機stm32
因爲裸機是不具備命令行終端程序的,得自己實現,所以一般不使用命令行,也沒必要,一般就直接調試,具體參考不同芯片原廠的硬件調試器如st-link或者j-link。
2.2 rtos-freertos
freertos的話可以參考官方提供了CLI(Command Line Interface)的demo以及相關API,可以讓需要者參考實現 - V9.0版本下,demo路徑爲:FreeRTOS/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos
參考鏈接:http://www.cppblog.com/LT450196683/archive/2021/07/14/217751.html
就是自己實現個clid,在mcu上電就跑
以上爲較爲常用的命令行鏈接方式