2018-2019-1 20175304 20175303 20175327 20175335 实验一 开发环境的熟悉
实验目的
熟悉Linux开发环境;学会Linux开发环境的配置和使用;使用Linux的arm编译。
实验过程
实验一-1-交叉编译环境-(使用自己笔记本电脑)
1.下载新版本的虚拟机软件VMware Workstation Pro
2.解压老师提供的虚拟机
3.用VMWare打开Ubuntu,用户名:linux,口令:1
4.在终端中建立实验目录"mkdir linux_20175335_20175327_20175304_20175303"
5.在实验目录中编写“hello_word”程序,另外补充几行打印所有组员的学号姓名
() #include <stdio.h> int main(void){ printf("HelloWorld!\n"); printf("20175304_20175303_20175327_20175335\n"); return 0; } (
)
6.参考bocsd目录中的脚本armc.sh
7 分别用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。分别运行linuxhello,armhello,有什么结果?提交截图并用file命令分析原因。
原因:file命令可以告诉我们文件的类型,通过file命令我们得知linuxhello是一个64-bit的文件,而armhello是32-bit的,我们的宿主机是64位,所以无法运行armhello。
实验一 开发化境的熟悉-2-目标机宿主机联通
1.解压虚拟机“arm.RocEDU.Win7”,并在桌面上建立快捷方式。
2.把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
3.在Win7设备管理器中查看USB所连虚拟机的端口,显示为com4
5.配置超级终端,取名为shiyan2,端口选com4,选115200
6.关闭实验箱,再重新给实验箱通电。等待,到输入用户名时,输入root
7.用ifconfig在超级终端中查看实验箱IP(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP
在超级终端中输入ifconfig后查看目标机IP:192.168.0.232
在Ubuntu中输入ifconfig后查看宿主机IP:192.168.0.230
8.用网线连接实验室台式机(或自己笔记本电脑)和ARM实验箱的网口NET1(最大屏旁边的)
9.用ping命令保证目标机和宿主机能互相ping通,提交ping通的截图
宿主机ubuntu ping 目标机
目标机 ping 宿主机ubuntu
实验一 开发化境的熟悉-3-目标机运行程序
1.在超级终端中用“mkdir /arm_20175304_20175303_20175327_20175335” 建立实验箱中程序运行目录“arm_20175304_20175303_20175327_20175335”
2.在超级终端中输入并运行
“mount -t nfs -o nolock192.168.0.230:/home/linux/linux_20175304_20175305_20175327_20175335 /arm_20175304_20175303_20175327_20175335”
通过NFS把宿主机中的“linux_20175304_20175305_20175327_20175335” 映射到目标机中的“/arm_20175304_20175303_20175327_201753357”
3.超级终端中运行"cd /arm_20175304_20175303_20175327_20175335"
4.超级终端中运行"./armhello", 提交运行截图,并深入理解交叉编译
按步骤来之后提示有误,以为不通,重新ping,ping通后重新来,建文件夹说文件夹已存在没问题,输第二个命令后说输入了错误的文件描述,现在写实验报告才发现 确实是文件名写错了。实验1新建文件时写了2017xxxx,实验3输入命令时没写2017,只写了后四位学号。。。难过
实验中的问题及解决过程
问题1:目标机与宿主机ping不通
解决方法:
首先打开虚拟机设置,将网络适配器改成桥接模式
然后打开虚拟机软件的虚拟网络编辑器,更改配置,将桥接模式的已桥接至“自动”改为“Realtek PCIe Family Controller”
问题2:输错文件名
问题2解决方法:无法解决
实验感受
除了第四题可能难一点,前三个都很简单。只要会基础的,有问题及时找到正确的解决办法。另外多看看学长学姐的博客,学得会很快。