Ubuntu12.04下kermit的安装与使用(VMware+USB转串口),以及openssl-1.0.0e的安装

2024-06-16 12:18

本文主要是介绍Ubuntu12.04下kermit的安装与使用(VMware+USB转串口),以及openssl-1.0.0e的安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新手还是嫩啊,这个东西花费了我很长时间,不过最后搞出来了,值了。网上很多人说Linux下minicom不好用,推荐kermit。我的目的是想在VMware里面的Ubuntu12.04上面安装kermit,用USB转串口线连接开发板。参考网上的说法,下面总结一下我遇到的问题和解决方法。

1、安装串口工具

sudo apt-get install ckermit

2、配置相应的kermrc文件

在用户宿主目录下(/home/用户名/)创建一个名为“.kermrc”的配置文件。网上说是如果没有找到~/.kermrc这个文件时,才启动/etc/kermit/kermrc这个配置文件,由此,应该配置用户下的~/.kermrc的配置文件。

sudo vim ~/.kermrc

添加如下内容:

set line /dev/ttyUSB0 //网上说如果是串口就是ttyS0,这里我的做法不一样,在下面内容里有说明
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set parity none
set stop-bits 1
set file type bin
set file name lit
set rec pack 1000
set send pack 1000  //如果需要下载内核等大文件,这里可以改大一点
set window 5

网上说Ubuntu下默认是安装了U转串驱动的(PL2303),不需要自己重装。 设置虚拟机,在VMware中添加串口支持后,我用$ lsmod |grep usbserial和$dmesg | grep ttyUSB0查看,没有找到。 使用命令$sudo apt-get install setserial安装后仍然查看不到,而且/dev/下没有ttyUSB*。网上有说查看驱动为ttyUSB*分配的主次设备号,知道了主次设备号,然后用mknod创建即可。但是我安装之后已没有找到驱动,所以没有试这种方法,也不知道是什么原因找不到USB转串口的驱动,如果有人使用这种方法,可以分享一下。

3、设置虚拟机VMware,使用USB转串口设备(其实这一步也可以在安装kermit前设置好)

要先关闭虚拟机中的ubuntu,关闭后点击编辑虚拟机--添加硬件--选择串口:


然后点击下一步直至完成,确定。

开启虚拟机,我们会发现在虚拟机的最下面的工具栏上发现,多了一个按钮


我们点击这个按钮,选择“连接”,并打开“设置”,检查设置的是否正确


可以通过PC机上的设备管理器查看USB转串口连在哪个COM上,我的是COM4,连接在虚拟机的串行端口2(如上图),将此记下。

4、再次配置相应的kermrc文件

将~/kermrc的第一行改成set line /dev/ttyS1

如果是USB转串口(包括Expresscard转串口)也设置成set line /dev/ttyS*(不要设置成默认的set line /dev/ttyUSB*),把虚拟机的USB-serial controler改为disconnect,把serial改为connect。 上图里的串行端口1 对应ttyS0,串行端口2 对应ttyS1,以此类推。我的是串行端口2。

5、启动kermit

sudo kermit  

提示说C-kermit需要openssl 1.0.0e,而发现系统上的是openssl 1.0.1(后来费了半天劲终于发现这个问题可以忽略,下面内容有说明)

在C-Kermit>输入connect或者c就可以连接上啦(前提是把开发板,电源线,USB转串口线连接好了)。



异常情况:当你启动kermit,连接时出现 Sorry, you must SET LINE or SET HOST first ,解决办法:

a、用sudo管理员权限启动,检查配置文件是否正确。

b、虚拟机串口是否设置连接好

c、sudo chmod 777 /dev/ttyS1(跟你的匹配)

      d、开发板复位

kermit的使用方法就不说了,网上很多。下面说一下openssl的事情,在我首次安装kermit,启动后出现下面的情况:

众多问题出现在一起,首先提示说C-kermit需要openssl 1.0.0e,而发现系统上的是openssl 1.0.1,然后disable、sorry出现在一起,反正就是连不上。就从网上找,有说要安装openssl 1.0.0e,于是我就找这个包,很旧的包,首先openssl的官网上面没有找到这个version的,然后在网上找到一个openssl-1.0.0e.tar.gz(不知道官网怎么没有,这个是不是个人编译的呢),就安装这个包,安装过程中一个小错误还让我重新装了一次系统,哎,下面分享一下我安装openssl 1.0.0e的方法。

openssl是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

以下使用root用户

1、解压

#tar zxvf openssl-1.0.0e.tar.gz 
2、编译安装

进入到解压的目录

#cd openssl-1.0.0

# ./config –prefix=/usr/local/openssl 
# make	//时间有点长
# make test
# make install 
# cd /usr/local
# ln -s openssl ssl
在/etc/ld.so.conf文件的最后面,添加如下内容:/usr/local/openssl/lib
# ldconfig
3、添加OPENSSL的环境变量:

第一次安装openssl时,这里忘了加 “$”,导致

Command 'vi' is available in '/usr/bin/vi'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.

还有一些简单的命令也没办法用,网上说是PATH路径没有了,要添加,我添加了一些,但是还是有些命令不能用,最后就装系统了。

4、安装完毕,下面进行检查

# cd /usr/local
#ldd /usr/local/openssl/bin/openssl
出现如下信息:


查看路径

# which openssl
/usr/local/openssl/bin/openssl
#openssl version

可以看到,是openssl 1.0.1 ,而不是openssl 1.0.0e,我也纳闷了,为什么,难道是安装包的问题,哎,不管了,跳过这个问题,然后把kermit弄好了,现在kermit也能用,每次启动kermit,还会出现这个openssl version的问题,如上面的启动图片显示。也不知道是为什么kermit还能用,求解。


这篇关于Ubuntu12.04下kermit的安装与使用(VMware+USB转串口),以及openssl-1.0.0e的安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066435

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window