Fork me on GitHub

常用命令行连接方式

以下控制端均以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命令用于设置终端机模式,连线速率和管制线路。

  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上电就跑

以上为较为常用的命令行链接方式

 

 

posted @ 2023-03-23 16:26  AnimalRabbit  阅读(142)  评论(0编辑  收藏  举报