> Linux教程 > Linux学习 >

Linux下串口调试工具

 Linux下串口调试工具
  一.minicom
    minicom作为串口调试工具,想必是搞嵌入式开发人员都知道的。使用起来比较方便,烧录image的速度也很快。但是界面风格和颜色难以修改,不够美观;同时也不是特别稳定。不过这并不影响它成为最通用的串口调试工具之一。
    A.minicom的安装
      ubuntu系统下:sudo apt-get install minicom
    B.连接串口设备或是USB转串口设备(笔记本无串口的情况用的多)
      通过插拔设备,比较插拔前后的差别,确认设备。如果直接接串口的可查看ll /dev/tty*的变化,如果使用的是USB转串口,请查看ll /dev/ttyUSB?。
  C.minicom的设置
  输入:minicom -s弹出minicom设置,选择serial port按Enter进入,再按A将设备改为B步骤中确认的设备如ttyS0或ttyUSB1等,再按Enter;按F将Yes改为No,再按Enter,回到上一级菜单,将更改的设置保存为.dfl文件。OK了,接着就能够看到板子运行时的打印信息了。
    D.minicom用户组dialout
      为了方便,可以将用户加入到dialout用户组,如sudo adduser 用户名 dialout。
    E.minicom与tftp,烧写image到各个分区

      实际工作中,我们需要将不同的image文件烧写到flash的相应分区。windows系统直接使用tftp软件,设置好image所在的目录和主机ip即可。在linux系统下,如果想将linux主机上的image文件烧写到目标板上。那么linux主机相当于作为服务器端,目标板作为客户端.对于目标板,一般uboot都已经含有了tftp工具,对于服务器端我们需要安装:sudo apt-get install tftpd,sudo apt-get intsll xinetd。
      接着在/etc/xinetd.d/目录下创建一个名为tftp的文件,编辑其中的内容为:
      service tftp
    {
    disable         =no
    socket_type     =dgram
    protocol        =udp
    wait            =yes
    user            =root
    server          =/usr/sbin/in.tftpd
      // 只需修改此处,此处参数的含义是image文件所在目录绝对路径
    server_args     = -s /home/lee/image/
    source          = 11
    cps             = 100 2
    }    

      配置完以后重启xinetd服务:service xinetd restart 或 /etc/init.d/xinetd restart
      然后便可以在mboot命令行进行image文件烧写工作了。
  二.ckermit
    Linux下常用的串口调试工具,minicom的使用是比较多的。但是minicom使用起来其实不太稳定,我在做项目的时候,minicom就偶尔怎 么连也连不上,出不了打印信息,需要重启一次才会好。另外一个问题就是对于嵌入式开发板,minicom有时候还会出现无法进入Mboot小命令行的问 题。uboot官方文档也是不推荐使用minicom,而是推荐kermit,所以此文介绍kermit的安装/配置和使用,以及安装过程可能出现的问题 的解决方法。
    A.kermit的安装
      ubuntu下sudo apt-get install ckermit
      第二种方法是去c-kermit官网下载ckermit源代码,然后编译,这样的好处是可以针对不同的平台进行编译定制。
      1) 下载 cku302.tar.gz from http://www.columbia.edu/kermit/ck90.html#source
    放到 /usr/local/src/ckermit目录
    2)解压缩 gunzip -c cku302.tar.gz | tar xf -
    3)编译源代码 make linux+krb5+ssl
  不过我在ubuntu12.04LTS版本下编译过程遇到了很多问题,如果你也是如此,如下操作:
  sudo apt-get install libssl-dev libpam0g-dev libkrb5-dev libgssapi-krb5-2
  修改makefile
  找到makefile中make linux:处
  将下面这段
          if test -f /usr/lib64/
    libncurses.so || \
              test -f /usr/lib/libncurses.a  || \
              test -f /usr/lib/libncurses.so; then \
             HAVE_LIBCURSES='-lncurses'; \
             else if test -f /usr/lib64/libcurses.so || \
             test -f /usr/lib/libcurses.a || \
             test -f /usr/lib/libcurses.so; then \
             HAVE_LIBCURSES='-lcurses'; fi; fi; \
  改成
          if test -f /usr/lib64/libncurses.so || \
            test -f /usr/lib/libncurses.a  || \
            test -f /lib/x86_64-linux-gnu/libncurses.so.5  || \  ### 加上这行###
            test -f /usr/lib/libncurses.so; then \
            HAVE_LIBCURSES='-lncurses'; \
            else if test -f /usr/lib64/libcurses.so || \
            test -f /usr/lib/libcurses.a || \
            test -f /usr/lib/libcurses.so; then \
            HAVE_LIBCURSES='-lcurses'; fi; fi; \
  然后重新编译,如果编译过程仍然有问题,请看编译的打印信息中提示的参数信息,可以需要在make linux+ssl+krb5后面加上参数项目,打印信息中会告诉你加上什么参数。
  编译成功以后,会生存wart和wermit执行文件。你可以运行wermit启动ckermit。为了方便可以添加软链接。
  ln -s /usr/local/src/wermit /usr/bin/kermit
  B.kermit配置文件
  touch ~/.kermrc文件,填入文件内容,如下:
  set line /dev/ttyUSB2
    set speed 115200
    set carrier-watch off
    set handshake none
    set flow-control none
    robust
    set file type bin
       set file name lit
    set rec pack 1000
    set send pack 1000
    set window 5
    当然这写命令你也可以在启动kermit之后在其命令行输入,但是每次都要输入不够效率。
  以后便可以输入kermit来启动了。
  启动kermit之后,如果提示/var/lock:No such file or directory。请在/var目录下创建一个lock目录,然后重试。
  成功以后,输入connect连接。等待一会儿,便可连接成功,出现打印信息了。
  三.secureCRT for Linux
    secureCRT是我在windows下时最喜欢使用的超级终端,图形化的界面也很直观和容易。linux下它也不失为一个很好的终端,我用它来连接远程服务器或是目标板。
    A.下载secureCRT和安装

  http://www.vandyke.com/download/securecrt/download.html
  安装:dpkg -i scrt-7.0.3-480.ubuntu11.i386.deb
  安装完成以后,一开始我找了好久都没找到对应的运行命令。最后在Applications-->Internet下找到了SecureCRT,运行便是。
  B.使用secureCRT连接远程服务器和目标板
  1.连接远程服务器,create new session,选择ssh协议,选择波特率115200,用户名,host主机如172.20.3.241.ok之后输入密码便可以登录上去。
  2.连接目标板,以USB转串口为例
  create new session ,选择serial串口协议,进入下一个窗口,不勾选RTS/CTS,然后直接下一步,连接OK,便可以看到目标板上的打印信息。
  C.简单的破解问题
  在~/.vandyke/Config有一个文件SecureCRT_eval.lic,删除以后就可以恢复30天试用,非常方便吧。
  D.顺便提提颜色的配置
  从options-->global option->General ,点击Edit Default Settings然后在新窗口中选择appearence接着便可自定义你的颜色方案了。我个人比较喜欢foreground (54,129,34) (255,255,255); background (103,48,30) (255,255,255)。 (责任编辑:IT)