精华内容
下载资源
问答
  • linux 最常用的指令-串口终端操作系列
    2021-12-20 11:35:35

    一、 minicom

    sudo minicom -s

    #打开

    minicom基本操作如下:

    1)需使用Ctrl+a 进入设置状态

    2)按z进入设置菜单

    O键:打开配置选项; W键:自动卷屏。

    C键:清除屏幕的显示内容; B键:浏览minicom的历史显示;

    X键:退出minicom,会提示确认退出

    二、vim 使用

    vim +n 文档名 打开文档后,定位第n行

    vim ,进入vim界面之后使用命令 :e 文档名 打开文档

    :q :q! :wq :w

    :qa 或 qa! 在打开多文档的情况下离开 vim。a 即 all 的意思。

    :sh 暂时退出vim进入shell命令行,执行完命令后ctrl+d 或 exit 退出重新进入vim编辑继续编辑在shell命令下,执行ctral+l完成清屏

    :! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 :!ls 在编辑过程中执行shell命令ls

    :set nu 使编辑中的文件显示行号 :set nonu 与上一条命令相反,不显示行号

    :set ts=4 :为文本输入设置 tab stops :syntax on :语法高亮

    :set shiftwidth=4 :缩进4个空格 :set autoindent :自动缩进

    dd 删除当前行,yy复制当前行,p 粘贴

    3.u:undo; c-r:redo

    4.v表示可视化,按v后通过hjkl选择区域,再按y表示复制,d表示删除

    5.光标移动: w下一个单词开头,e下一个单词结尾,%表示从当前([{移动到其匹配的)]},*和#分别表示当前单词的下一个和上一个匹配的单词首

    6.$表示行尾,0表示行首,gg表示第一行首,G表示最后一行首,4G表示第四行首

    7.在命令前可以加数字N表示重复N次操作

    8.gU变大写,gu变小写

    三、安装 deb 包

    sudo dpkg -i *****.deb

    更多相关内容
  • Kermit是一个串行通信应用程序,如minicom,它有自己的脚本语言,我用它在嵌入式设备上进行一些自动上传.然而,它是相当有限和/或buggy,所以我终于转而使用python和pyserial.无论何时处理texte模式,如AT命令设置或通过...

    Kermit是一个串行通信应用程序,如minicom,它有自己的脚本语言,我用它在嵌入式设备上进行一些自动上传.然而,它是相当有限和/或buggy,所以我终于转而使用python和pyserial.

    无论何时处理texte模式,如AT命令设置或通过串行线对shell进行通话,它真的很强大.

    如果我需要使用一些标准协议进行二进制传输,我通常会使用非交互模式的命令行工具,并从我的python脚本中产生它们.

    这里是我构建的工具的一部分:等待一些输入,通过xmodem发送数据,发送一个命令到u-boot并使用kermit协议开始传输.我用它来自动闪烁和测试嵌入式设备.

    class Parser :

    def __init__(self, sport_name):

    self.currentMsg = ''

    if sport_name :

    self.ser = serial.Serial(sport_name, 115200)

    def WaitFor(self, s, timeOut=None):

    self.ser.timeout = timeOut

    self.currentMsg = ''

    while self.currentMsg.endswith(s) != True :

    # should add a try catch here

    c=self.ser.read()

    if c != '' :

    self.currentMsg += c

    sys.stdout.write(c)

    else :

    print 'timeout waiting for ' + s

    return False

    return True

    def XmodemSend(self,fname):

    if not self.WaitFor('C', 1) :

    print 'RomBOOT did not launch xmodem transfer'

    return

    self.ser.flushInput()

    self.ser.close()

    call(["xmodem","-d",self.ser.port,"-T",fname])

    self.ser.open()

    def UbootLoad(self, fname):

    self.ser.write('loadb 0x20000000\n')

    if not self.WaitFor('bps...',1) :

    print 'loadb command failed'

    sys.exit()

    self.ser.flushInput()

    self.ser.close()

    retcode=call(['kermit','-y','kermit_init','-s',fname])

    if retcode != 0 :

    print 'error sending' + fname

    sys.exit()

    self.ser.open()

    self.UbootCmd('echo\n')

    展开全文
  • 无意当中发现系统重启后,对应的串口出现了变化。比如访问设备,控制开关门的串口设备名称,原来是/dev/ttyUSB0,重启后变成了/dev/ttyUSB2。多次重启后,发现这种变化没有规律可言。通过搜索,最后终于发现了解...

    最近使用树莓派进行多串口硬件操作,使用了两种串口,一种是usb转ttl,一种是usb转rs232。同时由于设备的限制,手头有pl2303和ftdi两种芯片驱动的串口,开发过程略过。无意当中发现系统重启后,对应的串口出现了变化。比如访问设备,控制开关门的串口设备名称,原来是/dev/ttyUSB0,重启后变成了/dev/ttyUSB2。多次重启后,发现这种变化没有规律可言。

    通过搜索,最后终于发现了解决方法,原来串口设备联入系统后,实际上系统会记住该设备,并分配一个唯一的id,只要能够找到该id对应的设备名称就可以。

    输入命令: ls -l /sys/class/ttyUSB*

    得到如下结果:

    lrwxrwxrwx 1 root root 0 Aug 29 12:41 /sys/class/tty/ttyUSB0 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/ttyUSB0/tty/ttyUSB0

    lrwxrwxrwx 1 root root 0 Aug 29 12:41 /sys/class/tty/ttyUSB1 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB1/tty/ttyUSB1

    lrwxrwxrwx 1 root root 0 Aug 29 12:41 /sys/class/tty/ttyUSB2 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/ttyUSB2/tty/ttyUSB2

    通过比对,确定id号:

    1-1.5-->ftdi_sio-->door

    1-1.2-->pl2303---->app

    1-1.4-->pl2303---->readcard

    最后通过编程自动获得对应的串口设备名称:

    import subprocess

    door_serial=''

    readcard_serial=''

    app_serial=''

    arg='ls -l /sys/class/tty/ttyUSB*'

    for o in subprocess.Popen(arg,shell=True,stdout=subprocess.PIPE).communicate()[0].split('\n'):

    if o.find('1-1.5')>0:

    door_serial='/dev/'+o[len(o)-7:len(o)]

    elif o.find('1-1.4')>0:

    readcard_serial='/dev/'+o[len(o)-7:len(o)]

    elif o.find('1-1.2')>0:

    app_serial='/dev/'+o[len(o)-7:len(o)]

    展开全文
  • 本文是一篇关于重定向启动的帖子为了费事期间,qemu启动一个Linux Guest,如果只需要这个Guest的终端,不需要图形用户界面,可将Linux Guest的输出重定向至虚拟串口(最终是重定向到终端)。下面以Fedora Guest为例...

    本文是一篇关于重定向启动的帖子

    为了费事期间,qemu启动一个Linux Guest,如果只需要这个Guest的终端,不需要图形用户界面,可将Linux Guest的输出重定向至虚拟串口(最终是重定向到终端)。下面以Fedora Guest为例说明用法。不同发行版和版本设置方法可能不同(如grub、grub2就不一样,debian这样的发行版需要配置/etc/inittab)。

    重定向虚拟串口到console,有两种用法

    内核不在虚拟机镜像文件里头

    qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda console=ttyS0" -nographic

    参考:http://blog.csdn.net/defeattroy/article/details/5257323

    内核在虚拟机镜像文件里头

    先畸形启动Guest,如果是grub2,编辑文件 /etc/default/grub

    GRUB_TIMEOUT=5

    GRUB_DISTRIBUTOR="Fedora"

    GRUB_DEFAULT=saved

    GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet console=tty0 console=ttyS0,9600n8"

    GRUB_TERMINAL=serial

    GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"

    每日一道理

    人生是洁白的画纸,我们每个人就是手握各色笔的画师;人生也是一条看不到尽头的长路,我们每个人则是人生道路的远足者;人生还像是一块神奇的土地,我们每个人则是手握农具的耕耘者;但人生更像一本难懂的书,我们每个人则是孜孜不倦的读书郎。

    生成的/boot/grub2/grub.cfg文件应有如下配置

    serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1

    terminal_input serial

    terminal_output serial

    ......

    linux/vmlinuz-3.6.11-rt32 root=UUID=0ff1fb64-4e8d-44bf-87f7-8a2f111159d8 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet console=tty0 console=ttyS0,9600n8

    然后用-nographic参数启动qemu

    qemu-kvm -enable-kvm -m 1024 -nographic -drive file=/mnt/sdb/vms/testfc/testfc.qcow2,if=virtio,index=0,format=qcow2

    qemu提供了几个快捷键,ctrl+a h打开帮助

    C-a h print this help

    C-a x exit emulator

    C-a s save disk data back to file (if -snapshot)

    C-a t toggle console timestamps

    C-a b send break (magic sysrq)

    C-a c switch between console and monitor

    C-a C-a sends C-a

    文章结束给大家分享下程序员的一些笑话语录: 大家喝的是啤酒,这时你入座了。

    你给自己倒了杯可乐,这叫低配置。

    你给自已倒了杯啤酒,这叫标准配置。

    你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。

    你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。

    你的同事给你倒了杯白酒,这叫推荐配置。

    菜过三巡,你就不跟他们客气了。

    你向对面的人敬酒,这叫p2p。

    你向对面的人敬酒,他回敬你,你又再敬他……,这叫tcp。

    你向一桌人挨个敬酒,这叫令牌环。

    你说只要是兄弟就干了这杯,这叫广播。

    有一个人过来向这桌敬酒,你说不行你先过了我这关,这叫防火墙。

    你的小弟们过来敬你酒,这叫一对多。

    你是boss,所有人过来敬你酒,这叫服务器。

    酒是一样的,可是喝酒的人是不同的。

    你越喝脸越红,这叫频繁分配释放资源。

    你越喝脸越白,这叫资源不释放。

    你已经醉了,却说我还能喝,叫做资源额度不足。

    你明明能喝,却说我已经醉了,叫做资源保留。

    喝酒喝到最后的结果都一样

    你突然跑向厕所,这叫捕获异常。

    你在厕所吐了,反而觉得状态不错,这叫清空内存。

    你在台面上吐了,觉得很惭愧,这叫程序异常。

    你在boss面前吐了,觉得很害怕,这叫系统崩溃。

    你吐到了boss身上,只能索性晕倒了,这叫硬件休克。

    展开全文
  • linux默认只有ttyS0~3,如果有拓展串口的话,可以用setserial设置串口映射. 下载解压后,执行./configure,他会生成makefile; 然后再make all,就会生成一个setserial文件,就能使用了. 例如./setserial /dev/ttyS2 port ...
  • [Linux]关机和重启命令

    2021-05-08 21:26:34
    Linux中常用的关机和重新启动命令有shutdown、halt、reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍。shutdown命令用于关闭Linux系统。有些用户会...
  • 查看Linux系统最近重启命令[root@localhost ~]# last rebootreboot system boot 2.6.18-164.el5 Wed Dec 22 20:19 (12:58)reboot system boot 2.6.18-164.el5 Wed Nov 10 10:41 (42+09:17)reboot...
  • 我的程序是这样的while(1){dojob:useabout1/30second;m_pCom->Read(pBuffer,iSize,uMilliSescond);...为了保持FPS,读取串口时间不能设得太大,但读取时间设置的越小则丢包越严重,设为0则几乎全丢了,但在windo...
  • shell脚本后台运行,每分钟循环一次,监听端口是否被占用,没占用代表程序崩溃,于是重启程序 #!/bin/bash #日志文件 INF0_LOG_FILE="./info.log" ERR_LOG_FILE="./err.log" #监听时间间隔 SLEEP_TIME="60s" ...
  • 小弟想在linux下自己写一个串口程序,通过它与嵌入式设备进行交互;目前,读数据基本是正常的,因为在启动时,若打开串口程序,则会输出启动信息,和在windows下输出一样;主要问题在于输入,例如我在设备启动后,我...
  • Linux设置串口永久权限

    万次阅读 2020-05-22 08:24:55
    Linux设置串口永久权限
  • 我正在使用选择呼叫与外部子系统(使用串行端口RS232与Qt线程提供并实现相同的协议)进行通信。我们没有外部系统的硬件,因此我们使用.Net 2.0和C#开发了内部模拟器,以模拟底层子系统硬件的行为。有5个不同的子系统...
  • tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱动。它们的关系如下图: 简单来分的话可以说成两层,一层是下层我们的串口驱动层,它直接与...
  • linux 重启命令

    万次阅读 2017-06-06 10:31:53
    一、Linux 的五个重启命令  1、shutdown  2、poweroff  3、init  4、reboot  5、halt  二、五个重启命令的具体说明  shutdown  reboot  在linux下一些常用的关机/重启命令有shutdown、halt、...
  • 昨天应为要测试主板上的串口,查了一下,可以使用microcom 这条命令进行测试。命令使用方法很简单:Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY参数如下:-d 表示延时时间,一般我都不设置。-t ...
  • Linux串口调试详解

    2021-05-13 13:25:39
    测试平台宿主机平台:Ubuntu 16.04.6目标机:iMX6ULL目标机内核:Linux 4.1.15目标机添加串口设备一般嵌入式主板的默认镜像可能只配置了调试串口,并用于 console 控制台打印;接下来对怎么样通过设备树来添加用户...
  • Linux 重启网络服务__2018.07.28

    万次阅读 2018-07-28 18:38:58
    使用minicom 软件开发串口 进入minicom:   sudo minicom  设置PC机的静态IP地址:  sudo vim /etc/network/interfaces   auto eth0  iface eth0 inet static  address 192.168.1.30  netmask 255.255.255.0...
  • linux串口文件传输工具

    千次阅读 2022-01-27 15:33:06
    所以考虑采用串口传输文件,如果是要自己实现一个串口文件传输工具的话,必然要考虑到传输协议的约定,传输数据的校验等,还是比较麻烦的。后来找到了一个串口文件传输工具:lrzs,实测可用。 1、lrzs安装包获取 ...
  • 简介在基于嵌入式ARM开发产品的时候,有时候由于ARM处理器UART数量的限制,我们需要将系统默认的调试串口打印信息关闭或者转移到其他串口上面去,本文即演示更改uboot和linux kernel 调试串口的过程示例。...
  • /sbin/swapoff -a ~ 注释掉::respawn:/sbin/getty -L ttyS000 115200 vt100 -n root -I "Auto login as root ..." 重启, hi3516cv300 System startup U-Boot 2010.06 (Apr 20 2017 - 15:46:32) Check Flash Memory ...
  • Linux系统C语言串口收发Linux系统对串口提供了很好的支持,使我们很容易就能用C语言编写出串口收发程序。先简单说明一下编写串口收发程序前的准备工作。首先串口收发需要有硬件上的串口,在Linux系统中串口是以ttySn...
  • 转载来源:嵌入式系统之初学者点滴 (百度空间)在这篇文章()中,实现了Linux环境下的串口读写操作,程序也运行成功了。但是再进一步测试时发现,如果开机之后直接如上文中所说,分别运行读程序和写程序,再用导体同时...
  • linux 中的串口文件 $ ls /dev/ttyS* /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 linux 串口测试工具—cutecom $ sudo apt install cutecom $ cutecom 设置波特率,开始位,停止位,数据位,校验位 2. ...
  • #include /*标准输入输出定义*/#include /*标准函数库定义*/#include /*Unix 标准函数定义*/#include#include#include /*文件控制定义*/#include /*PPSIX 终端控制定义*/#include /*错误号定义*/打开串口是通过使用...
  • linux串口赋予权限

    2021-11-26 09:10:43
    首先,要确定计算机中都有哪些串口可以使用,什么...这个助手可以实现linux串口和can口数据收发的检测,不过一般就给串口赋予个权限,用不着。 下面首先使用下面的命令确定计算机有哪些端口 ls /dev/tty* 你会看到下
  • 当我们的计算机出现串口不能用的情况时,我们要怎么做才能与目标板的串口连接呢?那么我们就一起去看看关于Linux下使用USB转串口线的方法介绍吧,相信这个问题是很多小伙伴们都不了解的。Windows下可以用USB转串口线...
  • 鸟哥的linux私房菜笔记-1磁盘位置(sata接口):/dev/sd[a-p]一个磁盘有多个扇区,第一个扇区最重要,记录了两个重要信息主要启动记录区(MBR):安装开机启动程序分割表:记录硬盘分割状态分区主分区:最多四个分区逻辑分区:...
  • linux 系统启动流程

    2021-05-17 13:29:47
    linux系统启动流程可以简单总结为以下几步1)开机BIOS自检2)读取MBR,进行MBR引导3)启动bootloader4)加载内核kernel5)启动init进程,依据inittab文件设定运行级别6)init进程,执行rc.sysinit文件7)启动内核模块,执行...
  • Linux-串口重定向到SSH

    2021-03-16 11:15:35
    Linux-串口重定向到SSH 概述 在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。 可以将程序重新启动到...
  • 转:linux 虚拟机串口软件

    千次阅读 2018-05-17 18:55:57
    minicom是linux串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。 一、安装minicom: 使用以下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,619
精华内容 8,647
关键字:

linux 重启串口