《嵌入式Linux开发工具及eLinux系统构建实验.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux开发工具及eLinux系统构建实验.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式Linux开发工具及eLinux系统构建实验 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望安全注意事项安全注意事项注意不要烧毁注意不要烧毁ADS开发板开发板禁止带电插拔串口禁止带电插拔串口禁止上电中用手触摸电路板禁止上电中用手触摸电路板注意不要滴水在注意不要滴水在ADS开发板开发板注意不要将物品放在电路板上注意不要将物品放在电路板上按复位键和开关电源时要小心谨慎按复位键和开关电源时要小心谨慎第一部分:嵌入式第一部分:嵌入式Linux开发开发工具的使用工具的
2、使用实验目的实验目的n n了解嵌入式了解嵌入式Linux开发环境配置与使用方法;开发环境配置与使用方法;n n了解了解Makefile的基本概念和基本结构;的基本概念和基本结构;n n初步掌握编写初步掌握编写Makefile的方法及应用程序的编的方法及应用程序的编译;译;n n熟悉嵌入式熟悉嵌入式Linux交叉编译环境的创建与使用交叉编译环境的创建与使用方法;方法;实验内容实验内容1、熟悉、熟悉RedHat虚拟机的使用,虚拟机的使用,Window环境与环境与虚拟机虚拟机Linux环境的文件共享、环境的文件共享、Linux基本操基本操作;作;2、使用命令行的方式手动编译程序;、使用命令行的方式手
3、动编译程序;3、利用、利用 GNU make 自动编译应用程序自动编译应用程序;4、多个、多个.c文件的编译;文件的编译;5、嵌入式、嵌入式Linux交叉编译环境的创建与使用。交叉编译环境的创建与使用。实验步骤(实验步骤(1)1、熟悉、熟悉RedHat虚拟机的使用方法;虚拟机的使用方法;Window环境与虚拟机环境与虚拟机Linux环境的文件共享、环境的文件共享、Linux基本操作等基本操作等2、使用命令行的方式手动编译程序、使用命令行的方式手动编译程序利用文本编辑器创建利用文本编辑器创建hello.c文件(文本编辑文件(文本编辑器使用器使用gedit或或vi等)等)手动编译手动编译hello
4、应用程序,运行应用程序,运行hello并查看并查看运行结果。运行结果。修改修改hello.c文件,重新手动编译应用程序。文件,重新手动编译应用程序。删除删除hello.o和和hello文件文件实验步骤(实验步骤(2)3、利用、利用 GNU make 自动编译应用程序自动编译应用程序利用文本编辑器创建一个利用文本编辑器创建一个Makefile文件,并文件,并将其保存到与将其保存到与hello.c相同的目录下。相同的目录下。#makefile test for hello program#makefile test for hello program#written by Emdoor#writt
5、en by EmdoorCC=gccCC=gccCFLAGS=CFLAGS=all:helloall:hellohello:hello.ohello:hello.o$(CC)$(CFLAGS)hello.o o hello$(CC)$(CFLAGS)hello.o o hellohello.o:hello.chello.o:hello.c$(CC)$(CFLAGS)c hello.c o hello.o$(CC)$(CFLAGS)c hello.c o hello.oclean:clean:rm rf hello*.orm rf hello*.o实验步骤(实验步骤(3)利用利用make命令编译
6、程序,运行命令编译程序,运行hello并查看并查看运行结果。运行结果。执行执行make clean命令命令修改修改hello.c文件,重复第(文件,重复第(2)、()、(3)步操)步操作,观察所生成的文件及运行结果。作,观察所生成的文件及运行结果。实验步骤(实验步骤(4)重新编辑重新编辑重新编辑重新编辑makefilemakefile文件(文件(文件(文件(斜斜斜斜红色表示修改部分红色表示修改部分红色表示修改部分红色表示修改部分)#makefile test for hello program#makefile test for hello program#written by Emdoor#
7、written by EmdoorCC=gccCC=gccCFLAGS=CFLAGS=OBJS=hello.oOBJS=hello.oall:helloall:hellohello:hello:$(OBJS)$(OBJS)$(CC)$(CFLAGS)$(CC)$(CFLAGS)$-o$-o$hello.o:hello.chello.o:hello.c$(CC)$(CFLAGS)c$(CC)$(CFLAGS)c$-o$-o$clean:clean:rm rf hello*.orm rf hello*.o实验步骤(实验步骤(5)重复第重复第2,3步操作,查看并记录所生成的文步操作,查看并记录所生成
8、的文件和运行的结果。比较这两种操作,同时指件和运行的结果。比较这两种操作,同时指出出$、$、$在上述在上述Makefile中的含义。中的含义。实验步骤(实验步骤(6)4 4、多个、多个、多个、多个.c.c文件的编译文件的编译文件的编译文件的编译创建文件创建文件创建文件创建文件hello1.chello1.c、hello2.chello2.c、hello.hhello.h和和和和makefilemakefile/hello1.c/hello1.c/written by Emdoor/written by Emdoor#include#include int main()int main()pri
9、ntf(Welcome Emdoor!n);printf(Welcome Emdoor!n);test2();test2();return 1;return 1;实验步骤(实验步骤(7)/hello2.c/written by Emdoorinclude hello2.h#include void test2(void)printf(Welcome Emdoor!hello2n);/hello2.h/written by Emdoorvoid test2(void);实验步骤(实验步骤(8)#makefile test for multi files program#makefile test
10、 for multi files program#written by Emdoor#written by EmdoorCC=gccCC=gccCFLAGS=CFLAGS=OBJS=hello1.o hello2.oOBJS=hello1.o hello2.oall:helloall:hellohello:$(OBJS)hello:$(OBJS)$(CC)$(CFLAGS)$-o$(CC)$(CFLAGS)$-o$hello1.o:hello1.chello1.o:hello1.c$(CC)$(CFLAGS)c$-o$(CC)$(CFLAGS)c$-o$hello2.o:hello2.chel
11、lo2.o:hello2.c$(CC)$(CFLAGS)c$-o$(CC)$(CFLAGS)c$-o$clean:clean:rm rf hello*.orm rf hello*.o实验步骤(实验步骤(9)利用利用make命令编译程序,运行命令编译程序,运行hello并查看并查看运行结果。运行结果。执行执行make clean命令命令修改修改hello.c文件,重复第(文件,重复第(2)、()、(3)步操)步操作,观察所生成的文件及运行结果。作,观察所生成的文件及运行结果。实验步骤(实验步骤(10)重新编辑重新编辑重新编辑重新编辑makefilemakefile文件(文件(文件(文件(斜斜斜斜
12、红色红色红色红色表示修改部分)表示修改部分)表示修改部分)表示修改部分)#makefile test for multi files program#makefile test for multi files program#written by Emdoor#written by EmdoorCC=gccCC=gccCFLAGS=CFLAGS=CFILES=$(wildcard*.c)CFILES=$(wildcard*.c)OBJSOBJS=$(CFILES:%=$(CFILES:%.c=%.o)c=%.o)all:helloall:hellohello:$(OBJS)hello:$(OB
13、JS)$(CC)$(CFLAGS)$(CC)$(CFLAGS)o hello$(OBJS)o hello$(OBJS).c.o:.c.o:$(CC)c$(CC)c$附件附件-通讯工具通讯工具-超级终端,根据超级终端,根据电脑的实际接口选择电脑的实际接口选择Com1或或com2,端口配,端口配置为:置为:Rate:115200;Data Bits:8;Parity:无;无;Stop Bits:1;Flow Control:无无11.超级终端用于开发板上的嵌入式超级终端用于开发板上的嵌入式linux系统的系统的信息界面信息界面实验步骤实验步骤11.11.打开打开C:Cisco TFTP Serve
14、rTFTPServer.exe软件,用于通过网线烧写内核和文件系统。软件,用于通过网线烧写内核和文件系统。12.12.此时重启开发板电源,烧写到开发板此时重启开发板电源,烧写到开发板boot将将开始运行,按开始运行,按“空格键空格键”进入进入bootloader的的下载模式,界面如下:下载模式,界面如下:实验步骤实验步骤13.13.输入输入输入输入“0”0”,回车,并根据本机的,回车,并根据本机的,回车,并根据本机的,回车,并根据本机的IPIP地址配置地址配置地址配置地址配置tftptftp服服服服务器务器务器务器IPIP地址:地址:地址:地址:(设本机设本机设本机设本机ipip:218.19
15、2.169.4)218.192.169.4)14.14.set myipaddr 218.192.169.5set myipaddr 218.192.169.515.15.set destipaddr 218.192.169.4set destipaddr 218.192.169.414.14.用提供的直连网线连接开发板和用提供的直连网线连接开发板和用提供的直连网线连接开发板和用提供的直连网线连接开发板和pcpc机,并将要烧写机,并将要烧写机,并将要烧写机,并将要烧写的内核和文件系统复制到的内核和文件系统复制到的内核和文件系统复制到的内核和文件系统复制到C:Cisco TFTP C:Cisco
16、 TFTP ServertftpServertftp目录;目录;目录;目录;15.15.在超级终端中输入:在超级终端中输入:在超级终端中输入:在超级终端中输入:tftp zImage_e24qt kerneltftp zImage_e24qt kernel回车,回车,回车,回车,此时开始传输内核镜像文件,完成后输入:此时开始传输内核镜像文件,完成后输入:此时开始传输内核镜像文件,完成后输入:此时开始传输内核镜像文件,完成后输入:flash flash kernelkernel回车开始烧写内核;回车开始烧写内核;回车开始烧写内核;回车开始烧写内核;16.16.在超级终端中输入:在超级终端中输入:
17、在超级终端中输入:在超级终端中输入:tftp tftp rootfs270qt_24.imgrootfs270qt_24.img root root 回车,此时开始传输文件系统镜像文件,完成后输回车,此时开始传输文件系统镜像文件,完成后输回车,此时开始传输文件系统镜像文件,完成后输回车,此时开始传输文件系统镜像文件,完成后输入:入:入:入:flash rootflash root回车开始烧写文件系统;回车开始烧写文件系统;回车开始烧写文件系统;回车开始烧写文件系统;实验步骤实验步骤此时嵌入式此时嵌入式linux 的的bootloader、内核、文、内核、文件系统均已烧写到开发板,重启开发板件系
18、统均已烧写到开发板,重启开发板电源,开发板的电源,开发板的linux系统就可以正常启系统就可以正常启动了,在系统登陆用户中输入动了,在系统登陆用户中输入“root”,系统就登陆到,系统就登陆到linux 系统了。系统了。实验步骤实验步骤17.17.编写简单应用程序,例如编写简单应用程序,例如“helloworld.c”,并进行交叉编译(,并进行交叉编译(arm-linux-gcc helloworld.c -o hello),将可执行文件下载),将可执行文件下载到本机到本机windows系统的目录下。系统的目录下。18.18.在超级终端中输入:在超级终端中输入:cd/tmp,然后点击菜单,然后
19、点击菜单发送发送-传送文件,选择传送文件,选择hello文件将其下载到文件将其下载到cd/tmp目录。目录。19.19.运行运行hello:./hello;如果没有权限则修改权限:如果没有权限则修改权限:chmod+x hello实验注意事项和要求实验注意事项和要求n n程序要自己完成,自己动手才有收获程序要自己完成,自己动手才有收获n n每个小组在实验室的位置固定每个小组在实验室的位置固定n nPC启动到启动到Windows操作系统操作系统n n不要乱删机器内的东西不要乱删机器内的东西n n建立自己的路径,小组用到的资料和程序建立自己的路径,小组用到的资料和程序都放在自己路径下都放在自己路径下实验参考资料实验参考资料n nLinux下下BootLoader实验实验 的实验手册的实验手册n nBootLoader源代码源代码n n用户手册:用户手册:Intel PXA27x Processor Family Developers Manual.pdfn nEELoid实验系统电路图:实验系统电路图:n n底板:底板:EELiod_EDR_V3.pdfn n主板:主板:EELiod_Moudle_V3_0.pdfn nBanyan仿真器使用文档仿真器使用文档n n相关课件相关课件
限制150内