设为首页 收藏本站
查看: 749|回复: 0

[经验分享] 20155212江振思

[复制链接]

尚未签到

发表于 2017-11-21 11:47:51 | 显示全部楼层 |阅读模式
2017-2018-1 20155208 20155212 20155239 实验一 开发环境的熟悉

一、实验内容
  1、交叉编译环境
  2、目标机宿主机联通
  3、目标机运行程序
  4、目标机模块分解
  5、清理工作

二、实验步骤
  1、交叉环境编译


  •   如附图,开机时按F12,进入系统BIOS中,开启虚拟化功能
      
    DSC0000.jpg

  • 进入虚拟机,用VMWare打开Ubuntu,用户名:linux,口令:1
  • 建立实验目录,mkdir  linux_20155208_20155212_20155239
  •   在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名
      
    实验代码为:

  

#include <stdio.h>  

  
int main()
  
{
  printf("Hello world!");
  printf("\n20155212江振思\n20155239吕宇轩\n20155208徐子涵\n");
  return 0;
  
}
  

  
}
  

  然后先用gcc进行编译:
  gcc -o linuxhello hello.c
  然后用交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c
  /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello


  • 分别运行linuxhello,armhello,有什么结果?提交截图并用file命令分析原因。

    • linuxhello是基于x86-64架构生成的指令集,armhello是基于ARM架构生成的指令集

  • 结果截图:  
    DSC0001.jpg

  2、目标机宿主机联通


  • 解压超级终端软件“windows7st(Windows).rar”,并在桌面上建立快捷方式
  • 把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
  • 参考视频配置超级终端,用超级终端作为实验箱的显示终端
  • 用ifconfig在超级终端中查看实验箱IP(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP
  • 用网线连接实验室台式机(或自己笔记本电脑)和ARM实验箱的网口NET1(最大屏旁边的)
  • 用ping命令保证目标机和宿主机能互相ping通,提交ping通的截图

    • 实验箱IP(目标机):192.168.0.232
    • Ubuntu(宿主机):IP192.168.0.230

  • 在超级终端中输入ping 192.168.0.230,在Ubuntu命令行中输入ping 192.168.0.232(ping超级终端IP),用ping命令保证目标机和宿主机能互相ping通。
  连接成功截图:
  
DSC0002.jpg
  3、目标机运行程序


  • 理解tftp和nfs的作用
  • 在超级终端中用mkdir /arm_20155208_20155212_20155239 建立实验箱中程序运行目录arm_20155208_20155212_20155239
  • 在超级终端中运行mount -t nfs -o nolock 192.168.0.230:/home/linux/linux_20155208_20155212_20155239  /arm_20155208_20155212_20155239通过NFS把宿主机中的linux_20155208_20155212_20155239映射到目标机中的/arm_20155208_20155212_20155239
  • 运行:超级终端中运行cd /arm_20155208_20155212_20155239 然后在超级终端中运行./armhello
  • 运行成功截图:  
    DSC0003.jpg

  5、清理工作


  • 实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机,提交插好网线的照片。
  • 结果  
    DSC0004.jpg

实验中遇到的问题
  问题: 在实验的第二个小实验中,刚开始使用自己的笔记本尝试ping通,发现无论如何都连接不上。
  解决过程: 开始尝试解决问题,是首先考虑是不是自己ping的IP出错了,仔细检查后发现并没有错,然后考虑到了虚拟机的网络连接方式,尝试使用了桥接网络和NET网,都还是无法连接,后来又想到了是不是防火墙导致无法连接主机,但是把防火墙彻底关闭之后也无济于事,最后只能是使用实验室的电脑进行实验才解决了这个问题。

实验体会及总结


  • 首先为了完成实验学习了几个知识点:  
    1、交叉编译:


    • 交叉编译,就是在一个平台上生成另一个平台上的可执行代码。这个概念的出现和流行是和嵌入式系统的广泛发展同步的。
    • 简单来说,就是在一个平台上生成另一个平台上的可执行代码。
    •   宿主机(host) :编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。

    •   目标机(target):用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。


  •   NFS:
      

    NFS是`Network File system`的缩写,即网络文件系统。  
    使我们能够达到文件在不同系统间的共享。当用户想使用远程文件时只要用“mount”命令就可把远程文件系统挂接在自己的文件系统之下,使远程的文件与使用本地计算机上的文件一样。
      

      
    在计算机A上,想要把计算机B上的/home/linux/exp挂接到A上的/exp,执行命令`mount B的IP地址:/home/linux/exp /exp`
      

      
    当客户机挂接一个目录或文件时,并不是说复制服务器上的这一个目录或文件到本地的计算机上,而是在使用时从服务器上读取文件到本地的内存中,因此可以用cd进入这一个挂接到的目录,就如同进入本地的目录一样.

  •   file命令
      
    file用来探测指定文件的类型

    参考资料
      蓝墨云班课实验指导

  交差编译

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409155-1-1.html 上篇帖子: gcc 下篇帖子: 近日情况,及思考
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表