标签:修改 编写 环境变量配置 需要 对话 资源管理器 pos 技术 解决方法
解决方法有两个:
再次进入bash_profile文件,修改并保存路径;
直接在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin/。
1、为什么需要交叉编译?如何安装交叉编译环境?
交叉编译可以在一个平台上生成另一个平台上的可执行代码、同一个体系结构可以运行不同的操作系统、同一个操作系统可以在不同的体系结构上运行
安装arm编译器的时候,先在PC机上访问共享文件夹,将所需文件解压缩后拷贝到共享文件夹中,然后在虚拟机中利用./install.sh命令安装好arm编译器
2、实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
实验箱、虚拟机Redhat、WinXP之间的IP需要在同一个网段;
在本地连接的属性中按照实验箱ip修改虚拟机Redhat的ip,在网络配置-以太网设备中修改pc机的ip;
因为在同一网段中三者才能互相通信;
3、实验中mount命令中每个选项什么意思?
完整的命令为mount -t nfs -o nolock 192.168.0.234:/root/bc /host
1.-t nfs指定文件系统的类型是nfs,nfs是网络文件系统
2.-o nolock描述设备的挂接方式,nolock是禁用文件锁
3.192.168.0.234:/home/bc /host是加载192.168.0.234中/home/bc文件到/host目录下
(1)arm机的信息刚开始没有显示在超级终端的窗口中
解决:在打开超级终端窗口的情况下先关闭实验箱电源,然后打开电源重启,则超级终端的窗口中会开始显示arm机的信息。
(2)修改pc机与redhat虚拟机的ip后无法进行下一步。
解决:修改IP之后没有重启虚拟机,如果不选择重启,我们也可以选择注销。只要重新连接网络就可以了。
另外,还有另外一个方式可以测试是否是因为连接问题造成的,那就是直接启动cmd,ping一下就OK。
(3)正确编译后,执行./hello显示:cannot excute binary file.
解决:经过仔细观察,我们发现了,mount的路径出现了错误。将home改成host后,解决问题。
问题一:
在利用./install.sh命令安装arm编译器时,虽然我们已经使用了root权限登陆,然而还是遇到了权限不够的问题:
在重新设置了几次权限并重启之后依然无法安装,于是我们向娄老师求助,娄老师使用了一行代码便解决了我们的问题,令我们目瞪口呆:
回来后,我们仔细学习了这行指令的用法:
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写 x:可执行
问题二:
遇到的第二个问题是在超级终端编译时出现了如下问题:
经过分析之后我们认为应该是NFS设置出了问题,果然我们误删了一个文件夹,加上后便解决了这个问题。
问题链接20145229&20145316《信息安全系统设计基础》实验一 开发环境的熟悉
1.关于arm机无法连接xp系统的问题
2.关于第5步中输入虚拟机的 ip:\192.168.0.234之后显示“找不到此网路路径”的问题
3.在编译hello.c的时候提示“not found”?
再次进入bash_profile文件,修改并保存路径;
直接在GCC编译的时候在hello.c前面加上路径。
问题:开始时,将所用的线接好后,打开超级终端,超级终端的窗口中没有显示任何信息。
解决:串口线接错了位置。本应接到0,自己接到了1,重新连接后超级终端显示正常。
问题:进行到后面发现显示不能接通。
解决:首先考虑的是检查三者是否连通。使用ping命令检查。再次查看实验箱的IP地址,(一直以为和大家的试验箱一样是192.168.0.0)发现我们使用的实验箱IP是192.168.1.1。重新设置另外两个的地址使其处于同一网段,设置完后需重启,再次ping检查连接建立,成功。
在编译hello.c的时候提示“not found”
应该是在修改PATH环境变量路径的时候没有修改成功
解决:在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin
为什么需要进行交叉编译?
绝大多数 Linux 软件开发都是以 native 方式进行的,即本机(HOST)开发、调试,
本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的
开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具
解决:在同学的提醒下,我们意识到这是没有修改ip地址后没有重启虚拟机造成的,于是重启后,显示ip地址修改成功,顺利进入下一步。
解决:我们之前根据实验指导书中的指令输入mount -t nfs -o nolock 192.168.0.234:/root/bc /host
,后来仔细检查发现我们的文件不是放在/root/bc,于是修改指令为mount -t nfs -o nolock 192.168.0.234:/home/bc /host
,倒是再次想执行hello时又出现错误
根据错误的提示信息,我们进入hello可执行文件所在的/host,成功执行之前编写的hello.c文件
(1)超级终端问题及解决方案
问题1:打开超级终端后,arm机的信息始终没有显示在超级终端的窗口中。
解决:找到了原因,是串口线接错了位置,不应该接1,改为接0后。
问题2:之后还是无法显示。
解决:由于在电脑上开启了虚拟机,一直提示有一个设备再连接请重试尝试连接,,,关了虚拟机之后就成功了。
(2)IP问题及解决方案
问题:需要把实验箱、虚拟机Redhat、WinXP的IP设置为同一网段。
解决:WinXP是在本地连接属性-Internet协议(TCP/IP)属性里面修改IP地址的,虚拟机Redhat是在系统设置-网络-编辑-设备里面修改IP地址的。必须要把他们设为同一网段才能够完成接下来的步骤。
(3)环境变量配置问题及解决方案
问题:用arm编译器编译的时候出现问题。
解决:找到问题来源,是在设置环境变量时出现错误,修改PATH变量时路径输入有误,导致后来使用编译命令时找不到这条命令,之后这个问题还是没有解决,最后更换了设备才解决。
(4)非常不幸,直至最后一步编译之前都和图文教程一样的显示结果,但最终还是无法显示./hello
查询了mount -t nfs -o nolock 192.168.0.234:/home/bc /host
的意思,是NFS将虚拟机中编译后形成的可执行文件/home/bc目录下映射到arm机上,最后在超级终端上显示。
非常尴尬,直至娄老师要求停止实验时还是没有显示出来,但之后听同学说需要输入./host/hello
才ok,希望下次试验可以成功。
正确编译后,执行./hello显示:cannot excute binary file.
经过多次试验,查找后发现问题出在我们没有在host目录下运行文件。因为在下载调试的时候,我们将bc文件挂载到host目录下,所以就应该在host目录下运行可执行文件。
bash: ./hello: can not execute binary file
,可知无法执行hello
这个二进制可执行文件host
文件夹下,找到症结问题一:arm通信终端始终无法成功建立。显示该拨号正在被使用,请稍后尝试。
解决方法:在建立arm通信终端时关闭虚拟机,进行尝试,最终成功建立连接。
问题二:arm通信终端上面无法从键盘输入任何东西。但是显示设备已连接。
解决方法:实验箱与电脑设备连接的串口线松掉了。重新插线并保证接口连接牢固。
标签:修改 编写 环境变量配置 需要 对话 资源管理器 pos 技术 解决方法
原文地址:http://www.cnblogs.com/20145235litao/p/6229837.html