Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115837
  • 博文数量: 64
  • 博客积分: 186
  • 博客等级: 入伍新兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 17:11
文章分类

全部博文(64)

文章存档

2014年(54)

2013年(2)

2012年(8)

我的朋友

分类: LINUX

2012-03-28 14:22:42

mount错误原因总结在文末,既然写到这里,就把下载执行文件的步骤也说到这吧,今天第一次写博客,呵呵,写的不好的地方还请各位朋友多多指导。

    相信大多数学习嵌入式linux的朋友都知道,嵌入式linux应用程序开发的基本方法是:先建立交叉编译环境(即宿主机-目标机)模式,然后在宿主机(即PC机,一般在虚拟机上安装linux系统)上编写程序,编译程序,调试程序,最后再将可执行文件“下载”到目标机(即开发板)上运行。这里所说的“下载”,我总结了一下,一共有4种方法:

1、通过FTP传送

2、通过NFS服务共享文件

3、通过串口发送

4、通过U盘拷贝

    其中方法4最容易,但操作起来最麻烦,尤其是需要反复下载调试程序的时候,把U盘砸了的心都有了;方法3需要有超级终端(WIN7就悲剧了),速度慢,操作也比较繁琐,因此比较实用也是我使用过的只有方法1和方法2.

    这里介绍方法1和方法2的主要步骤:

 

方法1——通过FTP传送

前提:PC虚拟机上linux系统中安装FTP服务(安装系统的时候可以选择安装,也可以通过单独安装包安装),网线连接PC机和开发板,IP地址配置好在同一网段

主要步骤:

ftp 192.168.1.230 //运行FTP客户端,并连接192.168.1.230开发板,或者也可以分开使用:ftp回车 o192.168.1.230回车,效果一样(我的开发板IP地址为:192.168.1.230)

输入用户名和密码登陆开发板

bin //设置文件格式为二进制

put 目标文件 //发送目标文件

by //关闭FTP程序,个人觉得这条命令及其人性化

然后到开发板上更改目标文件的可执行权限(chmod 755 目标文件),最后./执行就行了

截图如下:

    虽然下载一次只需要几条命令,但同样如果反复调试,反复下载的话也让人感觉很烦,因此下面介绍最好用的方法2.

 

方法2——通过NFS服务共享文件

前提:PC虚拟机上linux系统中安装NFS服务(安装系统的时候可以选择安装,也可以通过单独安装包安装),网线连接PC机和开发板,IP地址配置好在同一网段

接下来就是将PC虚拟机上linux系统中某个文件夹通过NFS服务共享给开发板了,配置如下:

宿主机配置:

配置待共享的目录

vi /etc/exports

image

有几行就有几个目录需要共享,这里有两个文件夹,路径过后跟的是参数:  *(rw,sync,no_root_squash)

*表示所有IP地址,也可以改成某个IP地址或地址段:192.168.1.1;rw表示对该文件夹可读可写;sync表示实时同步该文件夹;no_root_squash表示允许其他的机器用root权限执行NFS目录

配置完成后重启NFS服务即可:service nfs restart 全部都显示OK即NFS启动成功

image

目标机配置:

目标机只需要将上述加入/etc/exports的文件夹mount给自己即可命令为:

mount –t nfs –o nolock 192.168.1.2:/home/Emberd/NFS_File /mnt

192.168.1.2为宿主机IP地址,-t表示指定待mount的文件类型,-o表示额外的选项,nolock表示不使用文件锁(文件锁这玩意我也没深入了解过,只知道这里把他禁用了就OK)

image

    挂载成功,没有消息就是好消息,以后可以到/home/Emberd/NFS_File中编写代码,编译文件,产生可执行代码,然后在目标机中cd到该文件夹,直接执行即可。

 

 

错误信息:

1.如果不使用-o nolock 参数的话,回无法mount,并且要等很久才有错误信息,错误信息如下:

2.如果IP地址填写错,或者宿主机没有启动NFS服务的话会有以下提示:

image

阅读(1317) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~