嵌入式linux系统与主机通过串口传输文件
嵌入式linux系统与主机通过串口传输文件
我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下lsz/lrz的使用方法。
一、编译lrzsz并下载到开发板上
从http://download.chinaunix.net/download/0007000/6293.shtml下一个lrzsz的tar包,解压缩后输入./configure,然后进入了src文件夹中,修改了src文件夹中的Makefile文件,配置为与手机对应的交叉编译器,运行make,ok!得到两个可执行文件sz,rz(或者 lsz,lrz),把它们下载到开发板linux系统的/bin目录下。
二、情况1: PC机用windows操作系统
如果PC机用的是windows操作系统,串口通信工具可以用系统自带的超级终端。下面介绍一下传输文件的方法。
1、开发板-->PC机
在开发板上输入 sz filename。
在PC机上点击超级终端的菜单“传送”-> “接收文件”,选择下载的位置和Zmodem 与崩溃恢复协议,点击接收即可。
2、PC机-->开发板
在开发板上先进入/tmp 目录,然后输入 rz。
在PC机上点击超级终端的菜单“传送”-> “发送文件”,选择目标文件和Zmodem 与崩溃恢复协议,点击发送即可。
三、情况2: PC机用 linux 操作系统
如果PC机用的是 linux 操作系统,串口通信工具可以用minicom。下面介绍一下传输文件的方法。
1、如果是第一次使用minicom,需要进行minicom的设置:
# minicom -s
出现这样的配置界面:
┌───── [configuration]──────┐
│ Filenames and
相关文档:
eaccelerator.shm_size
The amount of shared memory (in megabytes) that eAccelerator will use.
"0" means OS default. Default value is "0".
eaccelerator.cache_dir
The directory that is used for disk cache. eAccelerator stores precompiled code ......
什么是异步通讯?
就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。
这里要用到select函数。使用步骤如下:
1、设置一个集合变量,用来存放所有要判断的句柄(file descriptors:即我们建立的每个socket、用open打开的每个文件等)
2、把需要判断的句柄加入到集合里
3、设置判断时间
......
1. 准备工作:
开发板的ip设置
gzsd> net set ipaddr 192.168.0.11 设置开发板的IP
gzsd> net set serverip 192.169.0.10 设置tftp server的IP
gzsd> net set netmask 255.255.255.0 设置子网掩码
gzsd> net save 保存设置
gzsd> net ping XXX 测试连接状况
安装tftp服务器
windows下
运行光盘工具 ......