2018-2019-1 20165226 20165310 20165315 实验一 开发环境的熟悉
目录
一、实验目的
二、实验步骤
三、实验过程中遇到的问题及解决
四、实验感想
一、实验目的
**** 熟悉Linux开发环境并学会Linux开发环境的配置和使用,熟悉arm箱的使用,熟悉以下知识点: - 交叉编译 - 宿主机与目标机 - NFS - 超级终端 - file命令二、实验步骤
**** ## 任务一 交叉编译环境 > 1.安装老师提供的software目录中的“中的“VMware-workstation-full-10.0.1-1379776.exe” > ” > 2. 解压老师提供的software目录中的“中的“Ubuntu1204.rar” > ” > 3. 用VMWare打开Ubuntu,用户名:linux,口令:1 > 4. 建立实验目录:```mkdir linux_组员1学号_组员2学号_组员3学号``` > 5. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名 > 6. 参考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 > 7. 分别运行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
- 首先使用
- 用gcc编译的可执行文件命名为“linuxhello”:
- 分别运行linuxhello,armhello
运行截图:
实验分析:
经过运行发现,在Linux中只能运行使用gcc编译的linuxhello,而无法运行使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello。这是因为,使用gcc编译的linuxhello适用于x86-64机器,而使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello只能在arm实验箱上运行
任务二 目标机宿主机连通
- 到实验室把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
- 参考视频配置超级终端,用超级终端作为实验箱的显示终端
- 用
ifconfig
在超级终端中查看实验箱ip(目标机),在Ubuntu中(宿主机)中用ifconfig
在命令行查看ip- 用网线连接电脑和ARM实验箱的网口NET1
- 用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编译的时候出现了一些问题,报错没有那个文件 ![](https://img2018.cnblogs.com/blog/1047870/201810/1047870-20181017090016800-2127896049.png)-
问题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:使用另外一台电脑
返回目录
-