当前的环境是:在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. 「6月雅礼集训 2017 Day2」B

    [题目大意] 求n*n的棋盘,每行每列都有2个黑格子的方案数. n<=10^7 [题解] zzq的做法好神奇啊 行列建点,二分图 左边有i个点,右边有j个点的方案数 f[i,j] 左边有i个点, ...

  2. [Codevs1519]过路费解题报告|最小生成树|LCA

    在某个遥远的国家里,有 n个城市.编号为 1,2,3,…,n.这个国家的政府修建了m 条双向道路,每条道路连接着两个城市.政府规定从城市 S 到城市T需要收取的过路费为所经过城市之间道路长度的最大值. ...

  3. GitLab 密码重设

    内容全部来自: CSDN bisal GitLab 密码重设方法 假设注册邮箱为: abc@test.com 步骤 1) 登录 git 服务器 2) 执行: gitlab-rails console ...

  4. [bzoj3004][SDOI2012]吊灯——樹形DP

    Brief Description 給定一棵樹, 判斷是否可以將其分成\(\frac{n}{k}\)個聯通塊, 其中每個聯通塊的大小均爲k. Algorithm Design 我們有一個結論: k可行 ...

  5. 会话Cookie

    Cookie分为会话Cookie和本地Cookie两种 之前一直理解的是会话Cookie不在本地文件存储,只存储于内存,而本地Cookie因为设置了expire过期时间需要在本地存储 下面是白帽子讲W ...

  6. [Leetcode Week10]01 Matrix

    01 Matrix 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/01-matrix/description/ Description Given a ...

  7. 智联招聘的python岗位数据结巴分词(二)

    上次获取第一次分词之后的内容了 但是数据数据量太大了 ,这时候有个模块就派上用场了collections模块的Counter类 Counter类:为hashable对象计数,是字典的子类. 然后使用m ...

  8. python中的迭代器详解

    #原创,转载请先联系 理论性的东西有点枯燥,耐心点看- 1.迭代是什么? 我们知道可以对list,tuple,dict,str等数据类型使用for...in的循环语法,从其中依次取出数据,这个过程叫做 ...

  9. sqlalchemy源代码阅读随笔(4):url。py 阅读

    在_to_string中,有 _rfc_1738_quote(text): 这个函数.这个主要是遵循 RFC 1738的规则.对传入的信息(主要是用户名或者密码)进行格式匹配.其代码就一行: retu ...

  10. poj 2318(叉积判断点在线段的哪一侧)

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13120   Accepted: 6334 Description ...