minicom下载文件到ARM开发板(主机ubuntu16.04)

一: 安装minicom 

注意设置下面的地方:

  设置默认上传/下载的目录,选择Filenames and paths , 会看到这样的选项:

    +-----------------------------------------------------------------------+
    | A - Download directory :  /home/lingd/arm/download                      |
    | B - Upload directory   : /home/lingd/arm/upload                       |
    | C - Script directory   :                                              |
    | D - Script program     : runscript                                    |
    | E - Kermit program     :                                              |
    | F - Logging options                                                   |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
注意:开发板发送给pc的文件将保存在Download directory所设定的目录中,而pc要下载到开发板的文件保存在Upload directory所设定的目录中
     设置完成后,选择”Save setup as dfl”,保存为默认设置.

二、为pc安装lrzsz

lrzsz is a unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols.
lingd@ubuntu:~$ sudo apt-get install lrzsz

三、交叉编译lrzsz并下载到开发板上

1、下载lrzsz源码包
到http://download.chinaunix.net/download/0007000/6293.shtml,下一个lrzsz的tar包,
2、解压缩后,到解压目录中执行./configure
lingd@ubuntu:~/arm$ tar -zxf lrzsz-0.12.20.tar.gz 
lingd@ubuntu:~/arm$ cd lrzsz-0.12.20/
lingd@ubuntu:~/arm/lrzsz-0.12.20$ ./configure       (记得chmod +x configure)
...................

..........

creating man/Makefile
creating po/Makefile.in
creating src/Makefile
creating debian/rules
creating Specfile
creating systype
creating src/lrzszbug
creating config.h
3、修改Makefile
有三个Makefile需要修改,分别是~/arm/lrzsz-0.12.20/Makefile、~/arm/lrzsz-0.12.20/lib/Makefile、~/arm/lrzsz-0.12.20/src/Makefile
lingd@ubuntu:~/arm/lrzsz-0.12.20$ vi Makefile
lingd@ubuntu:~/arm/lrzsz-0.12.20$ vi lib/Makefile
lingd@ubuntu:~/arm/lrzsz-0.12.20$ vi src/Makefile
将这三个Makefile中的所有gcc替代成你开发板所需要的交叉编译器,如arm-linux-gcc
即:
CC = gcc
CPP = gcc -E
都改成
CC = arm-linux-gcc
CPP = arm-linux-gcc -E
4、编译
lingd@ubuntu:~/arm/lrzsz-0.12.20$ make
在lrzsz-0.12.20/src目录下会生成两个可执行文件lsz、lrz(或者sz、rz),把它们下载到开发板linux系统的/bin目录下。
lingd@ubuntu:~/arm/lrzsz-0.12.20$ cd src
lingd@ubuntu:~/arm/lrzsz-0.12.20/src$ ls
ansi2knr.1  lrz          lsyslog.o    Makefile.in  tcp.o      zm.o
ansi2knr.c  lrz.c        lsz          protname.c   timing.c   zmodem.h
canit.c     lrz.o        lsz.c        protname.o   timing.h   zperr.c
canit.o     lrzszbug     lsz.o        rbsb.c       timing.o   zperr.o
crctab.c    lrzszbug.in  Makefile     rbsb.o       zglobal.h  zreadline.c
crctab.o    lsyslog.c    Makefile.am  tcp.c        zm.c       zreadline.o

四、测试

1、开发板-->PC机
在开发板上输入  lsz filename,然后会出现一个传输界面,传输完成后可以在你设置的默认下载目录Download directory里找到这个文件。
2、PC机-->开发板
在开发板上先进入/tmp 目录,然后输入lrz。

情况一:
# cd /tmp
# lrz                                                                         
�z waiting to receive.**B0100000023be50
按Ctrl-A,再按s,选择zmoden,会出现一个选择文件的界面,选择你要传输的文件(按一下空格键选择目录,按两下空格键进入目录),回车后出现一个传输界面,传输完成后,便可以在开发板的/tmp目录下找到这个文件了。


情况二:
#对应路径下
#lrz filename 
**B00
弹出下载窗口,然后下载成功




重大问题:


上面步骤完才后  可能出问题  那是因为缺少库文件

在源码的src/目录下会有lrz和lsz两个可执行文件

接下来,需要找到lrz和lsz所用到的动态库:

$ file src/lrz

src/lrz: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped 
$ arm-none-linux-gnueabi-readelf -a src/lrz | grep Shared 
0x00000001 (NEEDED) Shared library: [libnsl.so.1
0x00000001 (NEEDED) Shared library: [libc.so.6]

$ locate libnsl 

/lib/i386-linux-gnu/libnsl-2.15.so 
/lib/i386-linux-gnu/libnsl.so.1 
/lib/x86_64-linux-gnu/libnsl-2.15.so 
/lib/x86_64-linux-gnu/libnsl.so.1 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/armv4t/lib/libnsl-2.8.so 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/armv4t/lib/libnsl.so.1 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/armv4t/usr/lib/libnsl.a 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/armv4t/usr/lib/libnsl.so 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/lib/libnsl-2.8.so 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/lib/libnsl.so.1 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/thumb2/lib/libnsl-2.8.so 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/thumb2/lib/libnsl.so.1 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/thumb2/usr/lib/libnsl.a 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/thumb2/usr/lib/libnsl.so 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/usr/lib/libnsl.a 
/opt/armv6/codesourcery/arm-none-linux-gnueabi/libc/usr/lib/libnsl.so 
/usr/lib/x86_64-linux-gnu/libnsl.a 
/usr/lib/x86_64-linux-gnu/libnsl.so 

最后,把lrz、lsz和库文件一起拷贝到开发板上,验证OK!


本人是找到libnsl-2.9.so 哭文件    然后改名改成 libnsl.so.1   最后把 libnsl.so.1传到开发板的/lib文件下  解决了这个问题()


附:http://blog.csdn.net/u012590688/article/details/45916747
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值