当前的环境是:在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文件里,启动后就不用手动敲这些命令配置了。 

为了避免每次插拔玩USB转串口线后,下次再插的话系统自动创建的设备节点跟前一次不同,需要修改配置文件的问题,我写了一个简单的脚本。将这个脚本赋予科科执行权限,在使用kermit的时候,执行我这个脚本就可以了。

下载地址:http://files.cnblogs.com/files/pengdonglin137/mykermit.tar.gz

下面是脚本内容:

#!/bin/bash

i=
uart_list=""
count= for i in {..}
do
if [ -e /dev/ttyUSB${i} ]; then
uart_list="${uart_list} /dev/ttyUSB${i}"
let count++
fi
done if [ $count -ge ]; then
select Port in ${uart_list}
do
break
done
uart_list=`echo ${Port}`
else
uart_list=`echo ${uart_list}`
fi cat > ~/.mykermrc <<EOF
set line ${uart_list}
set speed
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack
set send pack
set window
c
EOF if [ ! -w ${uart_list} ]; then
sudo chmod a+r+w ${uart_list}
fi kermit

注:建议不要在家目录下创建 .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)输入"[Ctrl]\". 

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)输入"[Ctrl]\" 

4)输入"c" 

这样进入命令模式. 

5)输入"send /root/test.sh" 

6)输入"connect". 

这样就传完了。ckermit好像只支持kermit协议。 

Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit的更多相关文章

  1. Ubuntu系统下USB转串口的使用

    PC系统是Ubuntu12.04,与路由器开发板之间用USB转串口线连接. 一.硬件连接 确认Ubuntu对USB转串口设备的支持. 1.# lsmod | grep usbserial如果有usbs ...

  2. ubuntu下minicom和USB转串口(转)

    ubuntu下minicom和USB转串口(转)   minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利 ...

  3. 【转】 Ubuntu下配置USB转串口及串口工具配置--不错

    原文网址:http://blog.csdn.net/dreambegin/article/details/6985028 注意:默认情况下ubuntu已经安装了USB转串口驱动(pl2303).我的是 ...

  4. debian下使用dynamic printk分析usb转串口驱动执行流程

    看了一篇文章<debug by printing>,文中提到了多种通过printk来调试驱动的方法,其中最有用的就是"Dynamic debugging". “Dyna ...

  5. linux下的usb转串口的使用(修改)【转】

    环境:Ubuntu 10.10 Server minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将 ...

  6. VMware Player安装Debian系统

    尝试用虚拟机来安装Debian系统,感觉这样一来安装与卸载方便,二来也可以在Linux系统安装出现问题的情况下方便在host主机上查找解决方法,同时也避免了要重新设置分区来安装Linux系统(双系统的 ...

  7. win7使用USB转串口连接mini2440方法

    不想嚼别人吃剩的馍.我只说我自己是怎么痛苦的连上的. 环境设备: window7笔记本,没有串口,装有XP和Ubuntu2个虚拟机(不是必须的,我只是说明一下我的环境) 友善之臂mini2440(含U ...

  8. minicom与USB转串口

    实验器材:mini6410 连接方式:ARM板通过USB转串口线连接到pc机 下面是具体的设置了. 默认情况下,UBUNTU安装了USB转串口驱动(pl2303). 1.# lsmod | grep ...

  9. ubuntu下USB连接Android手机

    初始工作:将Android手机通过usb连接到电脑,之后点击VM-Removable Devices-google Android - Connect,即可. 若通过usb连接到电脑,Removabl ...

随机推荐

  1. jspersonft有关Table数据绑定(一)

    一:前言 在公司来就学着做报表,觉得这个报表学着还是很有意义的.jspersonft我在网上搜了一些有关的资料但是不是很多,现在就是学一点就记载一点.好记性不如烂笔头嘛! 二:在jspersonft定 ...

  2. nginx的常规配置

    程序员们,在北上广你还能买房吗? >>>   nginx的常规配置 nginx的使用非常简单,只需要配置好我们需要的各种指令,就能跑起来.如果你需要添加模块,还需要添加模块方面的配 ...

  3. Android 性能优化 - 详解内存优化的来龙去脉

    前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇 ...

  4. mongodb安全

    1.流程: (1)创建超级管理员 (2)修改配置文件,验证身份登录 (3)重启服务 (4)使用超级管理员登录 (5)创建普通用户 (6)使用普通用户登录对应的数据库 mongodb数据库角色: 1创建 ...

  5. Linux下Tomcat开机自动启动

    linux下tomcat开机自动启动有两种方法,一种是简单,一种是复杂而又专业的,使用shell脚本要实现,我们一般推荐shell脚本启动方式.下面我们分别介绍这两种方法. 1.shell脚本启动 众 ...

  6. python3 yield表达式形式应用

    我们已知: 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器 yield的功能: 1.与return类似,都可以返回值,但不一样的地方在于yield返回多次值,而return只能返 ...

  7. python之八大排序方法

    一.插入排序 #-*- coding:utf-8 -*- ''' 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时 ...

  8. AngularJS 入门教程

    1. 简介:AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是 ...

  9. 使用rosbag记录openni2_launch消息

    首先看教程 http://wiki.ros.org/openni_launch/Tutorials/BagRecordingPlayback http://wiki.ros.org/Bags http ...

  10. CWnd创建WS_CHILD和WS_POPUP窗口的不同

    转载:http://blog.csdn.net/tangaowen/article/details/6054152 最近在写一个从CWnd派生出来的自绘窗口,以前在包装自己的类的Create函数都是这 ...