2018-2019-1 20165309 20165312 20165330 实验一 开发环境的熟悉

小组成员
  • 20165309吴思佳
  • 20165312曹歌
  • 20165330张羽昕

实验目的

  1. 理解gcc和交叉编译器编译的区别
  2. 理解并使用file命令
  3. 学会使用ping命令

实验步骤

1-交叉编译环境-(使用自己笔记本电脑)
  1. 在linux下建立实验目录:mkdir linux_组员1学号_组员2学号_组员3学号
  2. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名
  3. 用gcc编译的可执行文件命名linuxhello:gcc hello.c -o linuxhello;
  4. 用arm-none-linux-gnuenbi-gcc编译的命名为armhello: /usr/local/toolchain/toolchain-4.3.2/bin/arm-none-linux-gnueabi-gcc hello.c -o armhello
  5. 代码:
#include <stdio.h>

int main()
{
    printf("hello word!
");
    printf("
20165309吴思佳
20165312曹歌
20165330张羽昕
");
    return 0;
}
  1. 使用./linuxhello./armhello运行,并使用file armhello查看
    image
2-目标机宿主机联通
  1. ifconfig在超级终端中查看实验箱IP(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP
    image

  2. 用网线连接实验室台式机(或自己笔记本电脑)和ARM实验箱的网口NET1(最大屏旁边的)
    image

  3. 用ping命令保证目标机和宿主机能互相ping通
    image
    image
    image

实验中遇到的问题及解决方法

  1. 在启用win7系统时虚拟机无法联网
  • 解决办法:是因为虚拟机默认网络连接为桥接模式,打开虚拟机--设置,在网适配器中网络连接改为NAT模式,随后开启虚拟机,若还不能联网,则使用电脑的网络诊断,诊断后即可上网。
  1. Ubuntu虚拟机无法上网,网络状态显设备示未托管

新学到的知识点

  1. file命令
    • 用来识别文件类型,也可用来辨别一些文件的编码格式
    • 命令格式:file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
    • 命令参数
      • -b:列出辨识结果时,不显示文件名称。
      • -c:详细显示指令执行过程,便于排错或分析程序执行的情形。
      • -f:列出文件中文件名的文件类型
      • -F:使用指定分隔符号替换输出文件名后的默认的":"分隔符。
      • -L:查看对应软链接对应文件的文件类型。
      • -i:输出mime类型的字符串
      • -v:显示版本信息。
      • -z:尝试去解读压缩文件的内容。
      • -help:显示命令在线帮助
  2. 超级终端
    • 将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入
    • 它显示的是从串口接收到的字符
  3. 交叉编译
    • 即在一个平台上生成另一个平台上的可执行代码
    • 交叉编译链与gcc便以类似,下图为流程
      image
    • 宿主机(host):编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。
    • 目标机(target):用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。
参考资料
原文地址:https://www.cnblogs.com/besty-zyx/p/9827499.html