资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,中山大学嵌入式系统实验室,嵌入式,Linux,下开发环境搭建实验,2008.9,陈立文,chenlw,实验内容创建开发环境,Minicom,的设置,安装,Toolchain,编译,Bootloader,JTAG,编译,Bootp,设置,Tftp,设置,Minicom,的设置,minicom,是,Linux,下一个很类似,Windows,超级终端的程序。很适合用于使用串口调试设备(多是网络设备),或者连接,Modem,(,56K,等)拨号的场合。,Minicom,的设置,平台已经装上操作系统后, 您既可以在,windows,下也可在,linux,下来检测它。在,windows,下用的是超级终端,在,linux,下用的是,minicom,。在,linux,下检测时,首先运行,minicom,,由于,minicom,是通过串口来工作的,所以要通过程序来对串口通信进行设置。,起动,minicom,的设置窗口:在,linux,的终端中输入“,minicom,s”,然后,按下回车键,rootlocalhost,root#,minicom,s,“,-s“,选项会调出配置信息。下面显示的就是配置的菜单。移到”,Serial port setup“,会调出串口的配置菜单。,安装,Toolchain,开发嵌入式系统,因为嵌入式系统的特有局限,不可能具有很大的存储能力和友好的人机交互界面,所以一般开发环境都必须安装在,PC,上,,而通过,Toolchain,生成的最终目标文件将可以运行在相应的目标平台上。,ARM,交叉编译环境不同于,X86,系列桌面的编译环境。因为,XSBase270-Module,采用的,PXA270,芯片同样是基于,ARM,体系结构的,所以在基于,XSBase,的开发过程中必须使用,ARM,的交叉编译环境。,这个编译器环境将使用下面的,GNU,工具。,GNU gcc compilers for C, C+,GNU binutil,GNU C Library,GNU C header,通用的,GNU Tools,都是针对,x86,体系结构的,而上述的,GNU,交叉编译工具是针对,ARM,的,最终编译后产生的二进制文件只能在,ARM,架构的处理器上运行,安装,Toolchain,安装,Toolchain,在,XSBase270-Module,上使用的所有的,Toolchain,均以压缩文件的形式提供,,如下所示:,binutils-2.15.tar.gz,gcc-3.3.2.tar.gz,glibc-2.3.2.tar.gz,glibc-linuxthreads-2.3.2.tar.gz,安装,Toolchain,PC,上的,/XSBase270/Toolchain,中,使用,ls,命令查看该目录下的文件,可以看到该目录下存在有名为,xscalev1.tar.gz,的文件。在以,root,用户登录的前提下,使用,cp,命令将,xscalev1.tar.gz,文件拷贝到,PC,上,/opt,下(必须将其拷贝到,/opt,目录下)。然后进入到,/opt/,目录下,解压该文件。,rootroot,# tar,xvfz,scalev1.tar.gz,为了之后在任何目录下面都能够使用,Toolchain,,必须要对路径进行设置。打开,/root/.,bash_profile,文件来设置路径,如下所示,使用,vi,编译器来修改,.,bash_profile,文件。,rootlocalhost,root# vi ./,bash_profile,用,VI,编辑器打开,/root/.,bash_profile,文件并添加下述的路径:,PATH=$PATH:/opt/xscalev1/bin,Toolchain,测试,这个编译器生成,ARM,的二进制代码,不同于在,X86,系列的,GCC,生成的二进制代码。所以请参考专门的编译过程和选项的文档。,现在用一个简单的程序测试这个编译器,随后,将会使用,gcc,和,arm-,linux-gcc,这两个工具来进行编译。,(,见使用说明书文档,3.1.3,节,),编译,Bootloader,在进行,Bootloader,编译之前,必须确认已经在目标板上安装,Toolchain,。,移动到,/XSBASE270/Bootloader,目录下,可以查看到该目录下的所有资源文件。可以使用,make,命令来创建名为,boot,的,Bootloader,镜像。, /Boot-XSBASE270# make,JTAG,编译,在,XSBase270-Module,中,,JTAG,的功能主要是:一是板子的调试,二是,bootloader,的下载。,创建,JTAG,JTAG,资源所在的目录下,资源文件存在于,Jflash-XSBase270,目录下,使用,tar,xvfz,解压该目录下的压缩包。,进入解压的目录下,如果,Makefile,可用,使用,make,的命令就可以编译,JTAG,的源文件了(也可以使用,make clean,命令来清除之前编译过的文件)。当编译过程完成后,将会生成一个名为,Jflashmm,的二进制文件。在编译过程中,会出现一些警告信息,但是可以忽略。,用,JTAG,烧写,Bootloader,到,flash,中,JTAG,的一个最主要的功能就是将,Bootloader,烧写到,flash,中,在这里将会使用编译后生成的,Jflashmm,把,Bootloader,烧写到,flash,中。,在,Bootloader,被编译完成后,系统将会创建一个名为,boot,的,Bootloader,的镜像。当然,在系统光盘中,/XSBASE270/Image,也提供了已经编译好的,Bootloader,的镜像文件。,Bootp,设置,引导协议(,BOOTP,)是一种基于,UDP/IP,的协议。这种协议允许正在启动的主机动态配置而无需用户监督。,BOOTP,主要用于客户机从服务器获得自己的,IP,地址,服务器的,IP,地址以及启动映象文件名。,在一个评估板系统中,这些协议通常是和,Tftp,一起使用来将内核和文件系统从,PC,上下载到目标板中。,Bootp,主要是用来获取目标板和主机的,ip,信息,以便可以使用,Tftp,协议来传输文件。,安装,bootpd,在使用,Bootp,前,需确保,bootp,和,xinetd,已经被安装。可以使用以下命令来检查是否“,xinetd,rpm”,已经被安装。,rootroot,RPM # rpm ,qa,|,grep,xinetd,(*,以上,xinetd,中的内容可能会随着已安装的,linux,版本不同而不同,),提示:使用,rpm,命令时的“,qa,”,选项将输出当前已经安装的,rpm,列表(,q:question,a:all,)。,Tftp,设置,Tftp,是类似于,ftp,的一个传输协议。,它使用,IP,和,UDP,作为子协议。,在目标板上,该协议被会在,Bootloader,下被用来下载,kernel,和文件系统的镜像,传输媒质是以太网,以较高的速度。,创建,/etc/,xinetd.d/tftp,文件,当,tftp,rpm,被安装后,需要创建,/etc/xinetd.d/tftp,文件。类似于,bootp,一样,,tftp,程序是被,xinetd,程序来执行的。,如下图所示,修改,/etc/,xinetd.d/tftp,文件,然后,tftp,才能被,Xinetd,程序执行。,xinetd,-,扩展的互联网服务守护进程,xinetd,执行与,inetd,相同的任务:它启动提供互联网服务的程序。,与在系统初始化时启动这些服务器,让它们保持休眠,直到有连接请求到达才提供服务这种做法不同,,xinetd,是唯一的被启动的守护进程,它侦听各种服务在它们各自的配置文件中列出的所有端口。当一个请求到达,,xinetd,启动合适的服务器。因为它以这种方式操作,,xinetd,(,还有,inetd,),常被称作超级服务器。,
展开阅读全文