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

xiaoxiao2021-02-28  72

一: 安装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
转载请注明原文地址: https://www.6miu.com/read-59692.html

最新回复(0)