搭建嵌入式开发环境超详尽版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统设计
实验一
:王磊
学号:SA14226179
班级:嵌入式软件设计1班
一、实验目的
1、掌握shell下常用的命令。
2、掌握真机与虚拟机共享文件的方法。
3、掌握虚拟机软件VMware及Red Hat 9发行版的安装。
4、掌握linux下程序的开发和调试方法。
5、掌握嵌入式linux开发环境的搭建,这部分是基于博创科技UP-NETARM2410-SLINUX系
统的。
6、了解Makefile文件编写。
7、了解install.sh文件容。
二、实验容
在PC上搭建交叉编译环境并开发应用程序,然后将可执行文件挂载到目标板(嵌入式系统)上运行,并显示hello world。
三、实验步骤及截图
1、安装VMware5.0:(略)。
2、安装red hat 9操作系统。
3、安装VMware工具。
4、共享光盘资料。
5、安装交叉编译工具链。
6、配置宿主机的IP地址。
7、关闭linux的防火墙。
8、配置NFS服务器,相关设置如下:
9、安装完成后,mount本机测试NFS是否配置好(到/mnt目录下看是否可以列出/arm2410s 目录下的所有文件和目录,有则可以说明mount 成功,NFS 配置成功)。
10、配置minicom(主要是配置串口)。
11、创建hello目录,并在其中编写hello.c源程序和Makefile文件。然后编译生成可执行文件hello。
源程序代码截图如下:
Makefile代码截图如下:
12、虚拟机下分别ping开发板与真机,发现能ping通,说明虚拟机与开发板、真机可以通信。(欲停止ping,键入Ctrl+C)
13、配置真机的IP地址。
14、打开真机的win32控制台程序,分别ping虚拟机和开发板,发现均能ping通,表示真机与虚拟机、开发板可以通信。
15、在shell中键入minicom,回车,出现欢迎信息后,给开发板上电,然后根据提示信息敲回车。
16、开发板linux启动完毕后,出现[/mnt/yaffs]提示符,键入相应命令把宿主机的/arm2410s目录挂载到目标机的/host 目录,然后进入/host目录,执行可执行文件hello,显示hello world,即实现在通用计算机(PC机)上开发,在专用计算机(嵌入式系统)上运行的目标。
四、实验总结与心得
1、总结
1、目标板启动,Linux虚拟机超级终端没有显示启动信息?
a)如果Windows超级终端也不能显示目标板启动信息,考虑串口损坏。
串口打印信息
b)如果Windows超级终端可以显示目标板启动信息,可考虑Linux虚拟机
串口号设置不正确,重启虚拟机再试;或者将串口线连接PC、目标板的
两个接头互换。
2、minicom显示目标板启动信息时,出现乱码?
a)查看minicom的比特率配置是否正确。
b)查看minicom的数据位数、停止位和数据流是否硬件控制等配置是否正
确。
串口配置信息
3、Make不成功?
查看Makefile文件是否正确,尤其关注实现各目标的命令是否另起一行并插入
制表符而非空格。
4、 NFS在PC和目标板之间实现文件共享,但是目标板提示“mount
failed:protocol not support”,是什么原因?
a)考虑在文件系统制作时,选择mount命令没有勾选支持nfs。
b)在mount命令后,加入-o nolock。
5、在Linux下当我们用minicom调用终端进行操作的时候第一次是可以正常的,
等关闭以后再打开会显示:Device /dev/ttyS0 lock failed:不允许的操作?
进入/var/lock目录你会发现下面会有进入/var/lock目录你会发现下面会有几
个文件,是以LCK.004.LCK...LCK..开头的文件,我们手动删除掉就可以
了。即把lock下所有带LCK的文件全部删掉!
6、真机无法ping通虚拟机和开发板、虚拟机无法ping通真机和开发板?
a)网口坏掉。
b)网线坏掉。
c)没有将真机、虚拟机、开发板IP配置成一个网段。
2、心得
第一次接触交叉开发过程,感觉对知识体系要求比较高;在实验过程中我遇到不少问题,首先我自主的去网上搜索求助,结果解决了不少问题,所以自主学习能力也是我应当重视的,不能遇到啥问题就问同学或老师,其次遇到实在无法解决的问题时,在指导老师的帮助下都一一克服;最后,要勤于总结,对不懂的问题的解决方法要记录下来,学习的过程本来就是一个积累的过程。
经过这次实验,使得我对嵌入式开发有了进一步的思考和认识,虽然自我感觉理论知识学得还算不错,但真正动起手来发现还是有很多不足,所以我要重视实践。