2017-2018-1 20155208 20155212 20155239 实验一 开发环境的熟悉

2017-2018-1 20155208 20155212 20155239 实验一 开发环境的熟悉

一、实验内容

1、交叉编译环境

2、目标机宿主机联通

3、目标机运行程序

4、目标机模块分解

5、清理工作

二、实验步骤

1、交叉环境编译

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

实验代码为:

  #include <stdio.h>
     int main(){
     printf("HelloWorld!
");
     printf("20155201_20155313
");
     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

结果截图:

2、目标机宿主机联通

主要考察ping的使用

首先用“USB转串口线”将主机和宿主机进行连接; 并且用超级终端作为实验箱的显示终端

然后用ifconfig在超级终端中查看实验箱IP(目标机):192.168.0.232,在Ubuntu中(宿主机)中用ifconfig在命令行中查看IP192.168.0.230

用网线连接实验室台式机和ARM实验箱的网口NET1 在超级终端中输入ping 192.168.0.230(ping UbuntuIP),在Ubuntu命令行中输入ping 192.168.0.232(ping 超级终端IP),用ping命令保证目标机和宿主机能互相ping通。

连接成功截图:

3、目标机运行程序

为了理解tftp和nfs的作用在超级终端中用mkdir/arm_20155208_20155212_20155239

建立实验箱中程序运行目录arm_20155208_20155212_20155239

建立映射:在超级终端中运行mount -t nfs -o nolock 宿主机IP:/home/linux/linux_20155208_20155212_20155239 /arm_20155208_20155212_20155239通过NFS把宿主机中的“linux_组员1学号_组员2学号”

映射到目标机中的“/arm_组员1学号_组员2学号”运行:超级终端中运行cd /arm_20155208_20155212_20155239 然后在超级终端中运行./armhello

运行成功截图:

5、清理工作 实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机,提交插好网线的照片

实验中遇到的问题

问题: 在实验的第二个小实验中,刚开始使用自己的笔记本尝试ping通,发现无论如何都连接不上。

解决过程: 开始尝试解决问题,是首先考虑是不是自己ping的IP出错了,仔细检查后发现并没有错,然后考虑到了虚拟机的网络连接方式,尝试使用了桥接网络和NET网,都还是无法连接,后来用了台式机接解决了问题。

实验体会及总结

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

交叉编译,就是在一个平台上生成另一个平台上的可执行代码。这个概念的出现和流行是和嵌入式系统的广泛发展同步的。

原文地址:https://www.cnblogs.com/lyx1996/p/7704658.html