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文件里,启动后就不用手动敲这些命令配置了。
为了避免每次插拔玩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的更多相关文章
- Ubuntu系统下USB转串口的使用
PC系统是Ubuntu12.04,与路由器开发板之间用USB转串口线连接. 一.硬件连接 确认Ubuntu对USB转串口设备的支持. 1.# lsmod | grep usbserial如果有usbs ...
- ubuntu下minicom和USB转串口(转)
ubuntu下minicom和USB转串口(转) minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利 ...
- 【转】 Ubuntu下配置USB转串口及串口工具配置--不错
原文网址:http://blog.csdn.net/dreambegin/article/details/6985028 注意:默认情况下ubuntu已经安装了USB转串口驱动(pl2303).我的是 ...
- debian下使用dynamic printk分析usb转串口驱动执行流程
看了一篇文章<debug by printing>,文中提到了多种通过printk来调试驱动的方法,其中最有用的就是"Dynamic debugging". “Dyna ...
- linux下的usb转串口的使用(修改)【转】
环境:Ubuntu 10.10 Server minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将 ...
- VMware Player安装Debian系统
尝试用虚拟机来安装Debian系统,感觉这样一来安装与卸载方便,二来也可以在Linux系统安装出现问题的情况下方便在host主机上查找解决方法,同时也避免了要重新设置分区来安装Linux系统(双系统的 ...
- win7使用USB转串口连接mini2440方法
不想嚼别人吃剩的馍.我只说我自己是怎么痛苦的连上的. 环境设备: window7笔记本,没有串口,装有XP和Ubuntu2个虚拟机(不是必须的,我只是说明一下我的环境) 友善之臂mini2440(含U ...
- minicom与USB转串口
实验器材:mini6410 连接方式:ARM板通过USB转串口线连接到pc机 下面是具体的设置了. 默认情况下,UBUNTU安装了USB转串口驱动(pl2303). 1.# lsmod | grep ...
- ubuntu下USB连接Android手机
初始工作:将Android手机通过usb连接到电脑,之后点击VM-Removable Devices-google Android - Connect,即可. 若通过usb连接到电脑,Removabl ...
随机推荐
- [洛谷P1032] 字串变换
洛谷题目链接:字串变换 题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B ...
- AtCoder Regular Contest 075 D Widespread
题目传送门 这道题其实二分一下答案就okay了的 不过LL什么的有时候忘了加 被卡了下 #include<cstdio> #include<cstring> #include& ...
- MSP432P401R时钟入门
拿到msp432的板子差不多一年了,刚刚进行了开机点亮LED工程: 首先是msp432的时钟模块(CS),个人理解msp432最特色的功能应该是超低功耗和高性能的组合.432系列的时钟 ...
- react native windows 搭建(完整版)
声明:用windows 搭建的react native只能开发安卓应用 1.准备安装java jdk,以及Android SDK 传送门: java JDK Android SDK(自行寻找) ...
- 5.flask知识点补充
1.WTForms表单验证基本使用 flask-wtf是一个简化了WTForms操作的一个第三方库,WTForms表单的两个主要的功能jiushi就是验证用户提交数据的合法性以及渲染模板.当然还包括其 ...
- 【 Zabbix 】— Tomcat监控及故障重启服务
一.监控tomcat原理 zabbix_server开启java poller,zabbix_java开启JavaGateway, 端口为:10052,tomcat JMX开启12345提供性能数据. ...
- node.js的全局变量的注意
在node.js中,如果一个变量没有用var来声明,就会变为全局变量: 看如下代码: 1)6.js function myadd(a) { return a+abc; } function conta ...
- AC日记——[SHOI2008]小约翰的游戏John bzoj 1022
1022 思路: nim: 代码: #include <cstdio> #include <cstdlib> #include <iostream> #includ ...
- [libGDX游戏开发教程]使用libGDX进行游戏开发(1)-游戏设计
声明:<使用Libgdx进行游戏开发>是一个系列,文章的原文是<Learning Libgdx Game Development>,大家请周知.后续的文章连接在这里 使用Lib ...
- 【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂
Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过 ...