fjptec-xm 发表于 2015-4-7 17:05:27

Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit

  当前的环境是:在Win7笔记本主机上安装VirtualBox+Ubuntu12_04,串口使用USB转串口
  如果使用的虚拟机是VirtualBox:
  
  
  
  如果使用的虚拟机是Vmware:

  
  执行这步后,主机的设备管理器下的COM设备会自动消失,同时会自动在虚拟机的/dev下创建一个名为ttyUSB0或者ttyUSB1(可以自己到/dev下去看一下到底是ttyUSB0还是ttyUSB1)的设备结点(注:/dev/ttyUSB0表示使用usb转串口的连接线接开发板,如果是只用用串口线连接主机的话,需要设置为/dev/ttyS0)。
  如果不想在虚拟机下面使用串口了,可以先将kermit退出,再将COM设备从虚拟机下面转到主机下面,方法还是按照上面那两张截图的步骤,再点击一下即可(虚拟机的/dev下面的ttyUSBx会自动消失,主机的设备管理器中会自动出现COM设备)。
  Vmware可以设置虚拟机上电时自动将主机的COM设备导到虚拟机下:
  
  安装kermit:
  sudo apt-get install ckermit
  配置:
  在家目录下创建名为 .kermrc的文件,输入如下内容:
  set line /dev/ttyUSB0
  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
  c
  这里,kermit在启动时会查找~/.kermrc文件,调用里面的命令来初始化kermit。只要将你所需的命令写到~/.kermrc文件里,启动后就不用手动敲这些命令配置了。
  
  注:建议不要在家目录下创建 .kermrc配置文件,而是去修改/etc/kermit/kermrc配置文件,原因如下:
  因为在/dev下面的ttyS0以及ttyUSB0的权限都是他组用户没有任何权限,如下所示:
  
  
  如果要运行kermit,在不修改这两个设备的权限管理时,必须使用sudo,即以root身份运行,如果以root身份运行,kermit会到/root目录下去找 .kermrc文件,为了省事,我们直接修改/etc/kermit/kermrc配置文件配置文件(将上面的配置粘贴到/etc/kermit/kermrc配置文件中),在运行时采用命令sudo kermit。
  *运行的时候直接进入命令模式:
  $sudo kermit
  这里没-c就进入默认的命令模式了(需要修改配置文件,把最后一行的c去掉)。
  
  *运行的时候,直接进入非命令模式:
  $sudo kermit -c
  这里,加上-c表示进入非命令模式,相当于在命令模式下面运行了connect或者c.在连接好了板子之后,这样就可以连接到串口上面了,当然不要忘记将设备打开,否则你敲入东西的时候是没有反应的。 (注意:在配置文件的最后一行我加了一个c,即如果执行sudo kermit 时,会自动进行连接,跟执行sudo kermit -c是同样的效果)
  
  *进入命令模式,步骤如下:
  1)输入"\".
  2)输入"c".
  这样进入kermit的命令模式可以进行各种命令(支持TAB补全),例如HELP可以查看帮助,输入"?"列出所有命令。
  
  *从命令模式退回com终端:
  输入"connect".
  或输入"c".
  这样又切换会了串口界面(例如在uboot下面)。
  
  *在命令模式下查看当前主机目录文件:
  输入"ls".
  
  *在命令模式下查看当前路径:
  输入"pwd".
  
  *在命令模式下进入指定的主机目录/home/test:
  输入"cd /home/test".
  
  *传输文件file到板子的flash上面:
  输入"send file".
  这里,在命令行下的发送命令就是send。如果之前在Uboot下使用了loadb 0xc0008000进入的命令模式,那么发送的文件将会被放在了这个地址上面。
  
  *退出串口程序:
  输入"exit".
  当然,这里指的是在命令行下面。
  
  [其他]
  *一个简单的完整例子:
  启动板子uboot之后,我想传一个文件/root/test.sh到地址0xc0008000
  步骤如下:
  1)$kermit -c
  这样,就连接到串口上面了。
  2)输入"loadb 0xc0008000"
  3)输入"\"
  4)输入"c"
  这样进入命令模式.
  5)输入"send /root/test.sh"
  6)输入"connect".
  这样就传完了。ckermit好像只支持kermit协议。
页: [1]
查看完整版本: Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit