实验一(开发环境的熟悉)问题总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验一(开发环境的熟悉)问题总结相关的知识,希望对你有一定的参考价值。

实验一问题总结

  • 问题链接:《信息安全系统设计基础》实验一实验报告
    • 在编译hello.c的时候提示“not found”。
    • 解决方法有两个:
      再次进入bash_profile文件,修改并保存路径;
      直接在GCC编译的时候在hello.c前面加上路径 /opt/host/armv4l/bin/。

  • 问题链接:20145327 《信息安全系统设计基础》实验一 开发环境的熟悉
    • Arm开发板的信息始终无法与超级终端连通
      • 解决方案:网线没插好
    • 虚拟机、实验箱、主机可以ping通,就是打不开虚拟机所在文件夹,换了一台电脑重新配置就打开了
      • 设备问题
  • 问题链接: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目录下
  • 问题链接:北京电子科技学院(BESTI)实验报告1
    • (1)arm机的信息刚开始没有显示在超级终端的窗口中

      解决:在打开超级终端窗口的情况下先关闭实验箱电源,然后打开电源重启,则超级终端的窗口中会开始显示arm机的信息。

      (2)修改pc机与redhat虚拟机的ip后无法进行下一步。

      解决:修改IP之后没有重启虚拟机,如果不选择重启,我们也可以选择注销。只要重新连接网络就可以了。

      另外,还有另外一个方式可以测试是否是因为连接问题造成的,那就是直接启动cmd,ping一下就OK。

      (3)正确编译后,执行./hello显示:cannot excute binary file.

      解决:经过仔细观察,我们发现了,mount的路径出现了错误。将home改成host后,解决问题。

  • 问题链接: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前面加上路径。
  • 问题链接: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)开发、调试,
      本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的
      开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具

  • 问题链接: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。
  • 问题链接: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,希望下次试验可以成功。

  • 问题链接:20145204&20145212信息安全系统实验一报告
    • 正确编译后,执行./hello显示:cannot excute binary file.

      经过多次试验,查找后发现问题出在我们没有在host目录下运行文件。因为在下载调试的时候,我们将bc文件挂载到host目录下,所以就应该在host目录下运行可执行文件。

  • 问题链接:20145221 《信息安全系统设计基础》实验一 开发环境的熟悉
    • 编译hello.c文件后无法在超级终端中执行

      • 错误界面:
        • 技术分享
      • 解决过程:
        • 通过阅读错误提示:bash: ./hello: can not execute binary file,可知无法执行hello这个二进制可执行文件
        • 通过前几行代码可知,编译过程应无问题,不然会报错,排除编译错误
        • 那是不是可能便宜成功了,但挂载失败了,所以又再次在虚拟机与arm实验箱之间ping,结果显示连接正常,能顺利读取返回包,排除连接错误
        • 那最后就要考虑这个二进制文件是否存在当前目录下,打开redhat的资源管理器,果然没有在bc文件夹下发现hello文件,再看编译指令,明显是将编译后的文件挂载到bc目录下的host文件夹下,找到症结
  • 问题链接:20145203、20145223 《信息安全系统设计基础》实验一 开发环境的熟悉
    • 问题一:arm通信终端始终无法成功建立。显示该拨号正在被使用,请稍后尝试。

      解决方法:在建立arm通信终端时关闭虚拟机,进行尝试,最终成功建立连接。

      问题二:arm通信终端上面无法从键盘输入任何东西。但是显示设备已连接。

      解决方法:实验箱与电脑设备连接的串口线松掉了。重新插线并保证接口连接牢固。

 

 

 





































以上是关于实验一(开发环境的熟悉)问题总结的主要内容,如果未能解决你的问题,请参考以下文章

20165235 实验一 Java开发环境的熟悉

20165334 实验一 Java开发环境的熟悉

20165222 实验一java开发环境的熟悉

20165322 实验一 Java开发环境的熟悉

20145234黄斐《Java程序设计》实验一—Java开发环境的熟悉(Linux + Eclipse)

20165306 实验一Java开发环境的熟悉