《EELiod开发板教学文稿.doc》由会员分享,可在线阅读,更多相关《EELiod开发板教学文稿.doc(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。EELiod开发板-第一步VMware下安装Ubuntu10.041. 安装VMwareVMware和普通软件安装一样,这里不再赘述2. 下载Ubuntu10.04的镜像文件3. Ubuntu官方下载地址:VMware下安装Ubuntu10.04打开虚拟机软件,如下图:每新建分区后继续点击“空闲”行,之后点击“添加”按钮到这里就算安装Ubuntu成功结束了,但是在开发之前还要进行一些系统的升级:1)点击“System”“Administration”“SoftwareSources”“输入密码”“Dow
2、nloadfrom”“Serverfor中国Other中国”“ChooseServer”“Close”“Reload”2)点击“System”“Administration”“LanguageSupport”“Update”3)点击“System”“Administration”“UpdateManager”“Check”“InstallUpdates”第二步EELiod平台开发环境搭建1. 工具链的安装现在,把光盘放入光驱中,如果linux系统可以自动的挂载,可以跳过这个步骤。rootlocalhost#mount/dev/cdrom/mnt/cdromrootlocalhost#cd/mn
3、t/cdrom在开发主机上创建目录,并将光盘内容拷贝到目录中。在根目录创建了一个名为“EELiod”的目录,在将光盘中的所有内容拷贝到了该目录中。具体操作如下:rootlocalhost#mkdir/EELiodrootlocalhost#cd/EELiodrootlocalhostEELiod#cpa/mnt/cdrom/*./使用cp命令将xscalev1.tar.gz文件拷贝到PC上/opt下。然后进入到/opt/目录下,解压该文件。rootlocalhost#cp/EELiod/Toolchain/xscalev1.tar.gz/optrootlocalhost#tarxvfzxsca
4、lev1.tar.gz移动到工具链的bin目录下使用ls命令查看,可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。为了之后在任何目录下面都能够使用Toolchain,必须要对路径进行设置。打开/etc/profile文件来设置路径,使用gedit编辑器修改profile文件。rootlocalhostetc#geditprofile用gedit编辑器打开/etc/profile文件并在最后一行添加下述的路径:exportPATH=$PATH:/opt/xscalev1/bin保存并退出该文件。使用source命令来使路径生效。rootlocalhostetc#sourcepro
5、file使用which命令来查看路径是否生效。rootlocalhostetc#whicharm-linux-gcc/opt/xscalev1/bin/arm-linux-gcc注:如果路径没有生效,则可以重启一下PC的linux系统。再使用which命令来查看路径是否生效。2. 网络协议的安装安装协议之前要先安装xinetd服务,此服务包含了对bootp、tftp协议的管理,安装命令如下:sudoapt-getinstallxinetd如果已安装则可省略此步1)Bootp协议的安装因为Ubuntu不支持rpm包安装,所以要先把“EELiod/rpm”目录下的bootp-2.4.3-7.i38
6、6.rpm转换成Ubuntu支持的deb包格式,怎么转换呢?用alien命令,所以下一步就是首先安装alien,联网的情况下使用如下命令:sudoapt-getinstallalien也可以在新立得软件包管理器输入alien,右击alien,点击“标记以便安装”,点击上面的“应用”,安装即可。这样alien命令就安装上了,开始把rpm包转换成deb包吧!命令如下:alienbootp-2.4.3-7.i386.rpm回车之后会出现error:incorrectformat:unknowntagbootp_2.4.3-8_i386.debgenerated不用理会这个提示,查看相同目录下出现了一
7、个bootp_2.4.3-8_i386.deb包,可见已经转换成功,那又如何安装这个deb包呢?使用dpkg命令(此命令在安装alien时也给安装上了,如果没有安装则sudoapt-getinstalldpkg),如下:dpkgibootp_2.4.3-8_i386.deb查看/etc目录下是否有bootptab文件,命令如下:ls/etc/bootptab经试验没有,可见bootp没有安装成功,估计是安装包在Ubuntu下不适用的问题,所以选择在“新立得”安装,输入bootp,安装过程和alien一样,安装后再次查看/etc目录下是否有bootptab文件,ItisOK!此时的bootpta
8、b是一个说明和解释文件,将“EELiod/Net_Config”目录中的“bootptab”文件复制到PC机的“etc”目录下。命令如下:rootlocalhostroot#cp/EELiod/Net_Config/bootptab/etc输入命令chkconfig-list查看xinetd服务下是否有bootp协议,查看没有,复制“EELiod/Net_Config”目录中的“bootp”文件到PC机的“/etc/xinetd.d”目录下。命令如下:rootlocalhostroot#cp/EELiod/Net_Config/bootp/etc/xinetd.d再次查看xinetd服务下是否
9、有bootp协议,ItisOK!可见bootp协议需要有两个配置文件:一个是/etc目录下的bootptab文件;一个是/etc/xinetd.d目录下的bootp文件。用cat命令查看一下“bootptab”文件的内容,如下图:test:ht=1:ha=0x123456789a00:#ha=0x123456789999:ip=192.168.0.50:sm=255.255.255.0“bootptab”文件的内容作用说明:test:标记ht:硬件类型(1表示以太网)ha:硬件地址(这个地址必须和板子的MAC地址相同)ip:IP地址(如果板子的MAC地址和ha的地址一致的话,ip将被传输给板子
10、).sm:子网掩码由此可见:bootp协议的作用是为了给目标机一个ip地址,使宿主机与目标机能够ping通,然后通过tftp协议下载烧写内核和文件系统。“bootp”文件的内容:servicebootpsdisable=nosocket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/bootpd2)tftp协议的安装进入到“EELiod/rpm”目录下,安装tftp-server-0.17-9.i386.rpm,安装过程与安装bootp一样,要先通过alien转换成deb包,然后通过dpkg安装deb包,安装后会在/etc/xi
11、netd.d/目录下出现tftp文件,内容如下:servicetftpsocket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/in.tftpdserver_args=-s/tftpbootserver_args+=-s/odm/tftpbootdisable=no记得把disable的值yes改为no,还要在根目录下建立tftpboot目录,并赋予最高权限chmod777/tftpboot-R这样还不够,还要在线安装tftp,因为Ubuntu下不仅要安装tftp服务器端还要安装客户端,sudoapt-getinstalltf
12、tp这样整个过程就安装完了,可以测试一下:在/tftpboot目录下touchhello.c创建hello.c文件,然后在hello.c文件里随便输入点东西。然后退出/tftpboot目录,输入如下命令:tftplocalhosttftpgethello.ctftpquit3. ls查看当前目录是否有hello.c文件并用cat命令查看文件内容是否有丢失,如果hello.c正常则tftp协议安装正确。minicom的安装与配置minicom也同样在线安装,sudoapt-getinstallminicom,安装与否可通过在终端输入minicom可知。在LINUX的终端中以超级用户身份登录并输入
13、“minicom-s”,然后按下回车键。rootlocalhostroot#minicom-s“-s“选项会调出配置信息。下面显示的就是配置的菜单。移到”Serialportsetup“会调出串口的配置菜单。我们只配置其中的第三项和第四项,第三项配置好后如图(按下键盘的A键则修改条目A对应的串口号,按下键盘的E键则修改条目E对应的试验箱的配置依次往下):第四项配置好后如图(A、B、K条目无用,分别删除就ok了):记得第一次配置好后保存配置信息,即选择如下图选项保存即可:配置好后可以选择“Exit”退出配置菜单或选择“ExitfromMinicom”后在终端输入minicom再次进入,如果进入以
14、下界面则说明minicom配置成功(注:为了适合大部分朋友的学习,我是以笔记本(无串口)的xp下装Ubuntu虚拟机来讲述的,但我的是台式机,所以下面配置的串口是“/dev/ttyS0”):第三步EELiod平台系统的下载一.Bootloader的下载进入到“EELiod/Jflashmm”目录下,输入“tarxzvfJflash-Xsbase270.tar.gz”解压Jflash工具。进入到“Jflash-Xbase270”目录下,输入“./jflashmmboot”下载“Bootloader”,可是提示下图错误:所以要先安装libstdc+5,步骤如下:1.下载安装包:http:/lug.
15、mtu.edu/ubuntu/pool/main/g/gcc-3.3/libstdc+5_3.3.6-10_i386.deb2.解包为libstdc+5:dpkg-xlibstdc+5_3.3.6-10_i386.deblibstdc+53.复制到系统lib目录:sudocplibstdc+5/usr/lib/libstdc+.so.5.0.7/usr/lib4.进入系统lib目录建libstdc+5链接:cd/usr/lib;sudoln-slibstdc+.so.5.0.7libstdc+.so.5安装完之后继续输入“./jflashmmboot”下载“Bootloader”,等待成功即可
16、,呵呵!二.内核的下载把“EELiod/image”目录下的“zImage和rootfs.img”文件复制到“tftpboot”目录下。在终端下输入“minicom”打开minicom这时启动试验箱,进入下图界面:此时按一下键盘上的任一键进入到BootLoader的菜单,如下图:下面测试bootp协议,如果成功方可进行下面一系列操作,按键盘的数字键“2”选中选项2(2Bootp)。测试一下PC与目标平台网络握手是否成功。当出现“bootppachetisnotreceived.”时,说明网络没有连通。用“cat”命令查看一下“ect”目录下的bootptab文件,发现返回的mac地址与这个配置
17、文件的mac地址不匹配。按键盘的数字键“0”选中选项0进入到命令行状态,在命令行状态输入“setmyhaddr123456789a00”,然后回车,把目标平台的mac地址设置与bootptab文件中的mac地址一致,再输入“quit”返回到菜单模式。按键盘的数字键“2”选中选项2(2Bootp)。测试一下PC与目标平台网络握手是否成功。当出现“replypacketisreceived.”时,说明网络握手已成功。按键盘的数字键“3”选中选项3把内核映象文件(zImage)下载到目标平台的SDRAM按键盘的数字键“4”选中选项4把内核映象文件(zImage)固化到目标平台的Flash中三.文件系
18、统的下载5、6即为文件系统的下载和烧写,到这里内核和文件系统的烧写过程就完成了,是不是很简单呢!呵呵,之后即可按下7启动系统第三步安装Qt开发环境并移植QtEmbedded-4.5.2和tslib1.4到实验箱一编译安装tslib1.4A、安装编译过程需用到的程序roothrixin-desktop:/home/hrixin#apt-getinstallautoconfroothrixin-desktop:/home/hrixin#apt-getinstallautomakeroothrixin-desktop:/home/hrixin#apt-getinstalllibtoolB、配置编译r
19、oothrixin-desktop:/work/qt#tarxzvftslib-1.4.tar.gzroothrixin-desktop:/work/qt#cdtslibroothrixin-desktop:/work/qt/tslib#./autogen.shroothrixin-desktop:/work/qt/tslib#echoac_cv_func_malloc_0_nonnull=yesarm-linux.cacheroothrixin-desktop:/work/qt/tslib#./configure-host=arm-linux-prefix=/usr/local/tslib/
20、-cache-file=arm-linux.cache-enable-inputai=noac_cv_func_malloc_0_nonnull=yesroothrixin-desktop:/work/qt/tslib#makeC、安装roothrixin-desktop:/work/qt/tslib#makeinstall在/usr/local/tslib/文件夹下有4个文件夹,这些就是我们需要的东西了。修改/usr/local/tslib/etc/ts.conf在前面添加module_rawinput,注意不要多空格保存注意:触摸屏的前提是你的触摸屏驱动已经写好,并加载进了内核.你可以测试
21、有没有加载触摸屏驱动,cat/dev/input/event0(这只是我的试验箱上的触摸屏),点击触摸屏,看终端有无显示,若有则表明正确。三安装qt-sdk在PC的linux系统中开发qt程序,完全可以下载完整的SDK,包含QT库,QtCreator和qt的其他开发工具。下载后直接安装即可。三编译安装QtEmbedded-4.5.2-arm版本A、解压roothrixin-desktop:/work/qte#tarxjvfqt-embedded-linux-opensource-src-4.5.2.tar.bz2roothrixin-desktop:/work/qte#mvqt-embedde
22、d-linux-opensource-src-4.5.2qt-embedded-linux-opensource-src-4.5.2-armroothrixin-desktop:/work/qte#cdqt-embedded-linux-opensource-src-4.5.2-armB、配置编译:./configure-prefix/usr/local/Trolltech/QtEmbedded-4.5.2-arm-embeddedarm-release-shared-fast-no-largefile-qt-sql-sqlite-no-qt3support-no-xmlpatterns-no
23、-mmx-no-3dnow-no-sse-no-sse2-no-svg-no-webkit-qt-zlib-qt-gif-qt-libtiff-qt-libpng-qt-libmng-qt-libjpeg-makelibs-nomaketools-nomakeexamples-nomakedocs-nomakedemo-no-nis-no-cups-no-iconv-no-dbus-no-openssl-xplatformqws/linux-arm-g+-little-endian-qt-freetype-depths16,18-qt-gfx-linuxfb-no-gfx-transforme
24、d-no-gfx-multiscreen-no-gfx-vnc-no-gfx-qvfb-qt-kbd-usb-no-glib-qt-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib注意这个目录要跟你的tslib安装目录相同!roothrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm#makeC、安装到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目录下:roothrixin-desktop:/work/qt
25、e/qt-embedded-linux-opensource-src-4.5.2-arm#makeinstall最后在/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin/目录下是不是有个qmake?将此导入qt即可开发在arm上能运行的程序!这种方法是不是很简便啊!推广!如下图:到这里qt的开发环境就算搭建完了,以后在qtcreator上写程序就可以了,然后build工程即可。注:一般情况下选择release模式。以上的方法适合自己有板子的同学,如果没有板子大家可以用下面的方法:qt-x11-opensource-src-4.5.2.tar.gz是PC上
26、的模拟,编译,执行用的qt-x11-opensource-src-4.5.2.tar.gz很简单。解压;./configure;make;makeinstall;标准的3板斧即可可以选择./configure-nomakeexamples-nomakedemos-nomaketools不编实例等.使用你刚才编译出来的qmake执行/usr/local/Trolltech/Qt-4.5.2/bin/qmake-vQMakeversion2.01aUsingQtversion4.5.2in/usr/local/Trolltech/Qt-4.5.2/lib可以看到,无论你以前的Qt版本多么混乱,这个
27、Qmake不会乱,不用担心之前的版本影响,只要选对了qmake,万事无忧。然后试试编译一个Qt工程,可以到源码里的qt-x11-opensource-src-4.5.2.tar.gz的/examples/里找,如/examples/widgets/digitalclock/,删掉所有除.cpp.h之外的文件,在/examples/widgets/digitalclock里执行/usr/local/Trolltech/Qt-4.5.2/bin/qmake-project/usr/local/Trolltech/Qt-4.5.2/bin/qmakemake然后就可以./digitalclock-q
28、ws,很简单地PC端的编译和模拟就实现了。当然为了写代码方便,你也可以安装一个qtcreator,把qmake导入进去即可。四移植QtEmbedded-4.5.2和tslib1.4到实验箱现在就开始把QtEmbedded-4.5.2和tslib1.4移植到根文件系统里,奉劝大家基础不好的话还是在开发箱自带的文件系统下进行修改,我测试只需把/usr/目录下的qpe和bin文件夹删除,目的是释放空间、删除旧版本的qt库和tslib库,然后把tslib整个文件夹和qt重要的库(libQtCore、libQtGui等)和交叉编译工具的库移植到跟文件系统的相应位置即可,注:移植的路径必须和宿主机下编译安装的路径一样,这里不包含交叉编译工具的库。如有疑问可以访问我的博客查找或留言:或QQ联系:542311877,也可加入IT技术精英群:159035331或致电:18903291336-