实验一问题总结
- 问题链接:《信息安全系统设计基础》实验一实验报告
- 在编译hello.c的时候提示“not found”。
- 解决方法有两个:
再次进入bash_profile文件,修改并保存路径;
直接在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin/。
- 问题链接:20145327 《信息安全系统设计基础》实验一 开发环境的熟悉
- Arm开发板的信息始终无法与超级终端连通
- 解决方案:网线没插好
- 虚拟机、实验箱、主机可以ping通,就是打不开虚拟机所在文件夹,换了一台电脑重新配置就打开了
- 设备问题
- Arm开发板的信息始终无法与超级终端连通
- 问题链接:20145231 20145205 《信息安全系统设计基础》实验一 开发环境的熟悉
- 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、为什么需要交叉编译?如何安装交叉编译环境?
- 问题链接:北京电子科技学院(BESTI)实验报告1
- (1)arm机的信息刚开始没有显示在超级终端的窗口中
解决:在打开超级终端窗口的情况下先关闭实验箱电源,然后打开电源重启,则超级终端的窗口中会开始显示arm机的信息。
(2)修改pc机与redhat虚拟机的ip后无法进行下一步。
解决:修改IP之后没有重启虚拟机,如果不选择重启,我们也可以选择注销。只要重新连接网络就可以了。
另外,还有另外一个方式可以测试是否是因为连接问题造成的,那就是直接启动cmd,ping一下就OK。
(3)正确编译后,执行./hello显示:cannot excute binary file.
解决:经过仔细观察,我们发现了,mount的路径出现了错误。将home改成host后,解决问题。
- (1)arm机的信息刚开始没有显示在超级终端的窗口中
- 问题链接:20145337 《信息安全系统设计基础》实验一 开发环境的熟悉
- 问题:在超级终端内没有运行出hello.c文件
- 解决:进入hello.c文件所在的位置运行。
- 问题链接:20144303 20145239《信息安全系统设计基础》实验一 开发环境的熟悉
- 问题一:
在利用./install.sh命令安装arm编译器时,虽然我们已经使用了root权限登陆,然而还是遇到了权限不够的问题:
在重新设置了几次权限并重启之后依然无法安装,于是我们向娄老师求助,娄老师使用了一行代码便解决了我们的问题,令我们目瞪口呆:
回来后,我们仔细学习了这行指令的用法:
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写 x:可执行问题二:
遇到的第二个问题是在超级终端编译时出现了如下问题:
经过分析之后我们认为应该是NFS设置出了问题,果然我们误删了一个文件夹,加上后便解决了这个问题。
- 问题一:
- 问题链接20145229&20145316《信息安全系统设计基础》实验一 开发环境的熟悉
- 实验中arm始终无法出现vivi,后更换试验箱后问题得到了解决,一直以为是自己的配置出现了问题浪费了大量时间,以后遇到这种情况一定要随机应变,不浪费时间
- 问题链接:20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉
- 1.关于arm机无法连接xp系统的问题
- 在实验过程中我们发现有很的小组无法正确连接arm机与主机,主要问题就是网线的问题,我们需要将主机上的网线拔掉,将arm和主机通过网线连接,可能很多同学看到主机上有网线就没有管arm机上的网线了。
2.关于第5步中输入虚拟机的 ip:\192.168.0.234之后显示“找不到此网路路径”的问题
- 发生这种情况,一定是网络连接有问题。首先检查了网线连接确认无误之后,再对arm机、linux虚拟机和xp的ip分别进行了检验。很可能是是在配置xp系统的ip的时候发生了问题:xp系统配置ip的时候,依次点开了若干对话框;在配置完ip之后,要依次点击确定并关闭对话框,才使得新修改的ip生效。(这里很多人在配置完成后都随手叉掉,最后也不知道是哪里出了问题,所以一定要点击确定)
3.在编译hello.c的时候提示“not found”?
- 出现这样的问题,是在修改PATH环境变量路径的时候没有修改成功。解决方法有两个:
再次进入bash_profile文件,修改并保存路径; 直接在GCC编译的时候在hello.c前面加上路径。
- 1.关于arm机无法连接xp系统的问题
- 问题链接:20145201 20145227 《信息安全系统设计基础》实验一 开发环境的熟悉
-
(1)超级终端问题及解决方案
问题:开始时,将所用的线接好后,打开超级终端,超级终端的窗口中没有显示任何信息。
解决:串口线接错了位置。本应接到0,自己接到了1,重新连接后超级终端显示正常。(2)IP问题及解决方案
问题:进行到后面发现显示不能接通。
解决:首先考虑的是检查三者是否连通。使用ping命令检查。再次查看实验箱的IP地址,(一直以为和大家的试验箱一样是192.168.0.0)发现我们使用的实验箱IP是192.168.1.1。重新设置另外两个的地址使其处于同一网段,设置完后需重启,再次ping检查连接建立,成功。
-
- 问题链接:20145328《信息安全系统设计基础》实验一 开发环境的熟悉
- 在编译hello.c的时候提示“not found”
应该是在修改PATH环境变量路径的时候没有修改成功
解决:在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin为什么需要进行交叉编译?
绝大多数 Linux 软件开发都是以 native 方式进行的,即本机(HOST)开发、调试,
本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的
开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具
- 在编译hello.c的时候提示“not found”
- 问题链接:20145214 《信息安全系统设计基础》实验一 开发环境的熟悉
-
1、arm机的信息刚开始没有显示在超级终端的窗口中
- 解决:在打开超级终端窗口的情况下先关闭实验箱电源,然后打开电源重启,则超级终端的窗口中会开始显示arm机的信息。
2、修改pc机与redhat虚拟机的ip后无法进行下一步,并且显示虚拟机的ip地址尚未修改
- 解决:在同学的提醒下,我们意识到这是没有修改ip地址后没有重启虚拟机造成的,于是重启后,显示ip地址修改成功,顺利进入下一步。
3、在超级终端中运行hello可执行文件时出现错误
- 解决:我们之前根据实验指导书中的指令输入
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文件
-
- 问题链接:20145304 20145315 《信息安全系统设计基础》 实验一 开发环境的熟悉
-
- 实验箱、虚拟机Redhat、WinXP之间的IP需要在同一网段,可通过在PC端ping虚拟机和redhat来查看是否能进行数据传输。
- 挂载-mount 命令的一般格式是:mount -t 文件类型 文件名 加载的目录,nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能,所以要mount -o nolock。
- 实验箱、虚拟机Redhat、WinXP之间的IP需要在同一网段,可通过在PC端ping虚拟机和redhat来查看是否能进行数据传输。
-
- 问题链接:20145224&20145238《信息安全系统设计基础》实验一 开发环境的熟悉
- (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,希望下次试验可以成功。
- (1)超级终端问题及解决方案
- 问题链接:20145204&20145212信息安全系统实验一报告
- 正确编译后,执行./hello显示:cannot excute binary file.
经过多次试验,查找后发现问题出在我们没有在host目录下运行文件。因为在下载调试的时候,我们将bc文件挂载到host目录下,所以就应该在host目录下运行可执行文件。
- 正确编译后,执行./hello显示:cannot excute binary file.
- 问题链接:20145221 《信息安全系统设计基础》实验一 开发环境的熟悉
-
编译hello.c文件后无法在超级终端中执行
- 错误界面:
- 解决过程:
- 通过阅读错误提示:
bash: ./hello: can not execute binary file
,可知无法执行hello
这个二进制可执行文件 - 通过前几行代码可知,编译过程应无问题,不然会报错,排除编译错误
- 那是不是可能便宜成功了,但挂载失败了,所以又再次在虚拟机与arm实验箱之间ping,结果显示连接正常,能顺利读取返回包,排除连接错误
- 那最后就要考虑这个二进制文件是否存在当前目录下,打开redhat的资源管理器,果然没有在bc文件夹下发现hello文件,再看编译指令,明显是将编译后的文件挂载到bc目录下的
host
文件夹下,找到症结
- 通过阅读错误提示:
- 错误界面:
-
- 问题链接:20145203、20145223 《信息安全系统设计基础》实验一 开发环境的熟悉
- 问题一:arm通信终端始终无法成功建立。显示该拨号正在被使用,请稍后尝试。
解决方法:在建立arm通信终端时关闭虚拟机,进行尝试,最终成功建立连接。
问题二:arm通信终端上面无法从键盘输入任何东西。但是显示设备已连接。
解决方法:实验箱与电脑设备连接的串口线松掉了。重新插线并保证接口连接牢固。
- 问题一:arm通信终端始终无法成功建立。显示该拨号正在被使用,请稍后尝试。