2018-2019-1 20165226 20165310 20165315 实验一 开发环境的熟悉

目录


一、实验目的
二、实验步骤
三、实验过程中遇到的问题及解决
四、实验感想

一、实验目的


熟悉Linux开发环境并学会Linux开发环境的配置和使用,熟悉arm箱的使用,熟悉以下知识点:

  • 交叉编译
  • 宿主机与目标机
  • NFS
  • 超级终端
  • file命令

返回目录

二、实验步骤


任务一 交叉编译环境

1.安装老师提供的software目录中的“中的“VMware-workstation-full-10.0.1-1379776.exe”

  1. 解压老师提供的software目录中的“中的“Ubuntu1204.rar”
  2. 用VMWare打开Ubuntu,用户名:linux,口令:1
  3. 建立实验目录:mkdir linux_组员1学号_组员2学号_组员3学号
  4. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名
  5. 参考bocsd目录中的脚本的脚本armc.sh,分别用,分别用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c,用gcc编译的可执行文件命名linuxhello:gcc hello.c -o linuxhello;用arm-none-linux-gnuenbi-gcc编译的命名为armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
  6. 分别运行linuxhello,armhello

实验步骤:

  • 用VMWare打开Ubuntu,用户名:linux,口令:1。
  • 建立实验目录mkdir linux_20165226_20165310_20165315
  • 在实验目录中编写“helloworld”程序,另外补充几行打印所有组员的学号姓名
  • 分别用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c
    • 用gcc编译的可执行文件命名为“linuxhello”:gcc hello.c -o linuxhello
    • 用arm-none-linux-gnuenbi-gcc编译的命名为'“armhello”:
      • 首先使用chmod +x +x arm.sh命```命令赋予权限
      • /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
  • 分别运行linuxhello,armhello

运行截图:

实验分析:
经过运行发现,在Linux中只能运行使用gcc编译的linuxhello,而无法运行使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello。这是因为,使用gcc编译的linuxhello适用于x86-64机器,而使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello只能在arm实验箱上运行


任务二 目标机宿主机连通

  1. 到实验室把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
  2. 参考视频配置超级终端,用超级终端作为实验箱的显示终端
  3. ifconfig在超级终端中查看实验箱ip(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看ip
  4. 用网线连接电脑和ARM实验箱的网口NET1
  5. 用ping命令保证目标机和宿主机能互相ping通

实验步骤:

  • 连接好arm实验箱的电源线,并将串口线接入实验箱COM1、网线接入NET1

  • 进入bocsd目录,运行,运行armc.sh 交叉编 交叉编译出hello程序

  • 在win7 虚拟机中查看ip:

  • 通过设备管理器查看USB转串口的端口号为COM3

  • 打开超级终端,选择正确的串口号COM3,并在属性中,将波特率设置为115200。

  • 打开arm机电源开关,等待arm机的信息在超级终端的窗口显示,登陆用户为root

  • ifconfig在超级终端中查看实验箱ip(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP。记录下arm机的ip为:p为:192.168.0.232,Ubu,Ubuntu的ip为:p为:192.168.0.230

  • 使用ping命令测试目标机与宿主机是否能连通

运行截图:



返回目录

三、实验过程中遇到的问题及解决


  • 问题1:在 用arm-none-linux-gnuenbi-gcc编译的时候出现了一些问题,报错没有那个文件

  • 问题1解决方案:以为是没有下载 编译环境,然后使用wget指令下载编译环境

  • 问题2:在问题一基础上进行操作后结果继续报错

  • 问题2解决方案: 于是再继续跟进,进入root权限使用sudo apt-get update

  • 问题3:在问题3基础上进行相关操作,下载相当慢不说,还报错

  • 问题3解决方案:退出root,然后检查最初调用编译环境时使用的编译输入指令,发现复制指令时有回车键,于是重新手动输入/usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello,编译成功

  • 问题4:win7宿主ping不通

  • 问题4解决方案:
    • 方案1:查看网络是否是桥接,将nat改成桥接
    • 方案2:关闭防火墙

    • 方案3:关闭WiFi、热点等移动网络,只使用本地网络
    • 方案4:使用另外一台电脑
      返回目录

四、实验感想


  • 本次实验学习了如何搭建开发环境以运行可执行文件,让我们进一步熟悉Linux开发环境的配置和使用,在Linux中编译程序,并将生成的可执行文件挂载到arm开发板上,从而完成程序在开发板上的运行。
  • 主机的作用主要是提供虚拟机运行的环境,并把arm编译工具共享给linux虚拟机,在linux虚拟机下用arm编译工具编译hello.c文件,将生成的可执行文件挂接到arm实验箱上,即可在实验箱的终端上进行操作,最终达到了虽然没有在arm实验箱中编译,但可以在arm上运行的效果。
  • 因为电脑配置的原因,在做实验一任务二时无论使用什么方法都ping不通,于是我们决定换另一台电脑,第一次实验难免会生疏,不过我们会更加熟练地进行实验操作。

返回目录

转载于:https://www.cnblogs.com/musea/p/9802221.html

2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉相关推荐

  1. 2018-2019-1 20165324_20165302_20165321 实验一 开发环境的熟悉

    2018-2019-1 20165324_20165302_20165321 实验一 开发环境的熟悉 参考链接 https://www.cnblogs.com/xpl20165321/p/980524 ...

  2. 2018-2019-1 20165318 20165322 20165326 实验一 开发环境的熟悉

    实验一 开发环境的熟悉 本小组成员 20165318 20165322 20165326 一.实验步骤 1:交叉编译环境 安装老师提供的software目录中的"VMware-worksta ...

  3. 《信息安全系统设计基础》实验一 开发环境的熟悉

    博客链接 <信息安全系统设计基础>实验一 开发环境的熟悉 转载于:https://www.cnblogs.com/20145205y/p/6059332.html

  4. 2018-2019-1 20165320 20165325 20165337 实验一 开发环境的熟悉

    实验一 开发环境的熟悉 小组成员 20165320 申启 20165325 李东骏 20165337 岳源 开发环境的熟悉-1-交叉编译环境 实验目标 理解gcc和交叉编译器编译的区别,能用file命 ...

  5. 2017-2018-1 20155201 20155313 实验一 开发环境的熟悉

    2017-2018-1 20155201 20155313 实验一 开发环境的熟悉 转载于:https://www.cnblogs.com/bonsai/p/7712071.html

  6. 2017-2018-1 20155301 20155307 20155339 《信息安全系统设计基础》 实验一 开发环境的熟悉...

    2017-2018-1 20155301 20155307 20155339 <信息安全系统设计基础> 实验一 开发环境的熟悉 实验一 交叉编译环境 实验步骤 安装老师提供的softwar ...

  7. 2017-2018-1 20155227 20155318 实验一 开发环境的熟悉

    2017-2018-1 20155227 20155318 实验一 开发环境的熟悉 小组成员:20155318李晓莹.20155227 辜彦霖 实验报告链接:2017-2018-1 20155227 ...

  8. 2014522420145238《信息安全系统设计基础》实验一 开发环境的熟悉

    20145224陈颢文20145238荆玉茗 <信息安全系统设计基础>第一次实验报告 课程:信息安全系统设计基础 班级: 1452 姓名:荆玉茗 陈颢文 学号:20145238 20145 ...

  9. 实验1 开发环境的熟悉

    交叉编译环境的搭建: 实验两人一组,最多三人一组 可以使用自己的笔记本,也可以使用实验室台式机,使用实验室机器的不用做本题 安装老师提供的software目录中的"VMware-workst ...

最新文章

  1. 【xmind】 使用 Java 生成思维导图
  2. 在调研近百家企业需求后,我们推出了新产品线——神策客景
  3. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
  4. python代码自动生成器下载_Python代码生成器
  5. tsql是mysql中的吗_Mysql中的sql是如何执行的
  6. Linux TCP 性能調優筆記
  7. nginx的web基础
  8. ProcExp的利用
  9. 解决win7资源监视器不能开启
  10. sa登录失败,错误代码18456
  11. 如何写简历才能够突显自己的厉害之处?
  12. 最小采样频率计算公式_音频文件大小计算公式-好文转载
  13. 2012中国互联网公司、全球互联网公司最新市值排名(2012.12.06)
  14. 让 QQ 邮箱更好用,支持桌面通知
  15. 转载 锁机制与原子操作 第四篇
  16. mysql下载个压缩文件怎么安装_压缩包法安装mysql
  17. Apache 基金会创始成员访谈录 ———— 回顾 Apache 20年历程!
  18. 什么是内存屏障?,为什么需要内存屏障?
  19. IDEA 支持vue
  20. CentOS安装配置tomcat

热门文章

  1. Ubuntu 14.04 64位机上配置Android Studio操作步骤
  2. Linux下多线程编程中信号量介绍及简单使用
  3. 【Qt中文手册】QSortFilterProxyModel
  4. 【Git】在本地创建git库管理自己的代码
  5. Java项目:在线水果商城系统(java+JSP+Spring+SpringMVC +MyBatis+html+mysql)
  6. Java项目:前台+后台精品图书管理系统(java+SSM+jsp+mysql+maven)
  7. python查看目录下的文件_Python——查看目录下所有的目录和文件
  8. 用队列实现形如a+b@b+a#的中心对称字符的检验
  9. 【iOS 开发】iOS 10.3 如何更换 app 图标
  10. Docker for mac安装