设为首页 收藏本站
查看: 792|回复: 0

[经验分享] Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit

[复制链接]

尚未签到

发表于 2015-4-7 17:05:27 | 显示全部楼层 |阅读模式
  当前的环境是:在Win7笔记本主机上安装VirtualBox+Ubuntu12_04,串口使用USB转串口
  如果使用的虚拟机是VirtualBox:
  
   DSC0000.png
  
  如果使用的虚拟机是Vmware:
DSC0001.png
  
  执行这步后,主机的设备管理器下的COM设备会自动消失,同时会自动在虚拟机的/dev下创建一个名为ttyUSB0或者ttyUSB1(可以自己到/dev下去看一下到底是ttyUSB0还是ttyUSB1)的设备结点(注:/dev/ttyUSB0表示使用usb转串口的连接线接开发板,如果是只用用串口线连接主机的话,需要设置为/dev/ttyS0)。
  如果不想在虚拟机下面使用串口了,可以先将kermit退出,再将COM设备从虚拟机下面转到主机下面,方法还是按照上面那两张截图的步骤,再点击一下即可(虚拟机的/dev下面的ttyUSBx会自动消失,主机的设备管理器中会自动出现COM设备)。
  Vmware可以设置虚拟机上电时自动将主机的COM设备导到虚拟机下:
   DSC0002.png
  安装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的权限都是他组用户没有任何权限,如下所示:
   DSC0003.png
  
  如果要运行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协议。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-54694-1-1.html 上篇帖子: 安装VMWARE WORKSTATION,提示“你已经安装过VMware,请先卸载后再安装”的解决方法 下篇帖子: VMware 安装Mac OS X 10.7
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表