基于arm11的智能家居设计与实现top wsn网关使用手册linux分册_第1页
基于arm11的智能家居设计与实现top wsn网关使用手册linux分册_第2页
基于arm11的智能家居设计与实现top wsn网关使用手册linux分册_第3页
基于arm11的智能家居设计与实现top wsn网关使用手册linux分册_第4页
基于arm11的智能家居设计与实现top wsn网关使用手册linux分册_第5页
已阅读5页,还剩187页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文档为中芯优电的TOP-WSNARM网关配套到公司留言批评指正,手册内容在不断地校正更新中,用户可随时到公司网站上版本。公司 版本版本更新WIFI驱动及GPS测前 第一章TOP-WSNARM网关开发板简 第二章TOP-WSNARM网关资源分 Nandflash地址分 第三章6410硬件结构简单分 第四章嵌入式Linux开发环境的建 在 下建一个tftpboot,把属性改成 测试tftp服务 更新exports文 mkcramfs的安 第五章快速上 SD启动的uboot烧 格式化 第六章Uboot的使用 uboot的配 uboot的编 USB命令的使 串口命 Nandflash操作命 6.2.5.启动linux内核相关命 第七章Linux内核使用Nandflash驱 配 测 配 测 配 测 USBOTG驱 OTG的Host功能配 OTG的Host功能测 OTG的slave(device)功能配 OTG的slave(device)功能测 USBhost驱 配 测 配 测 配 测 Keyboard驱 配 测 配 测 配 测 GPRS上 配 测 Camera驱 配 测 GPS驱 配 测 配 测 3G驱 配 测 LED驱 第八章Qtopia-2.2.0使用 第九章Qt4使用 第十章根文件系统的制 第十一章多硬件编测 H264硬测 MPEG4硬测 H263硬测 JPEG与显示测 H264与TV输出测 第十二章Qt4测试程 附录一Linux启动画面的制 附录二DIY一根OTG 附录三移植qtopia-- 附录四vmware下安装Ubuntu附录五uboot命令使用TOP-WSNARMTOP-WSNARM网关是中芯优电推出的用于高端手持设备、微型智能控制设备的开发套件。采用S3C6410处理器。该款套件48mm*67mm的方块的大小。TOP-WSNARM网关套件由板和底板(外设板或称基本板)组成,板上集成S3C6410处理器,256MB的DDR内存以及1GB的NANDFLASH,同时预留了256KRS-232串口USBHOST10M/100MTFTLCD接口,口wm8987sound4x4一路输入(模拟saa7113或数字ov9650,可以选择一路输出一个RTC和SDIOWIFISD低、处理能力强等特点,能够装载和运行嵌入式Linux操作系统。用户可以在供完备的嵌入式Linux开发环境及丰富的开发调试工具软件。 扩展总线最大频率3232完全静态设计(0-控制器(八个体SROMSRAM控制器,NAND复位时引导选择(8比特、16比特或NAND可供选择五个三十二位定时器,(time0,time1带有64UART,SupportsIrDADMADMA8个通道;(DMA)支持STN与TFTLCD控制器;IISUSBhost口,USBdeviceIIC-Bus两个串行接口电路SD卡接口(sopport1/4/8bitmode,rateuptocamera_if MFC(多格式编)接口,支持H263、H264、MPEG4和VC-1硬件S3C64101Gbytes8NAND64Mbytes32DDRRAM两个四线 接10M/100Mcamera头接口(可选模拟TVP5150或USB(host,device)SDAC97音频(使用wm9713一 接口(可选两种不同接口的屏MFC直流电源(需要客户自己LED看门狗watdog驱动实时时钟RTC驱动2通道i2c驱动Rotatorjpegnandflash驱动(2Kpage)onenandflash驱动USBdevice驱动、USBhost驱动、USBOTG2D、3D驱Camera声卡WM9713驱动(ALSA)支持USB升级内核和文件系统TOP-WSNARMStepNandflashCramfsfileUbifsfilesystem(真正使TOP-WSNARM网关提供多种启动方式,可以根据拨码开关进行设置。目前只用到NANDSD2种,具体的设置方式如下:S3C6410S3C6410MemoryPheriperal两部分,地址范围分别为总线Pheriperal空间。而为了适应不同外设的速度,又分别通过AHB总线LCDCameraAccelerator等高速外设,通过APB总线iicwatchdogMemory4大区域,分别是启动镜像区、内部内存区、启动镜像区物理地址为0x 映射到这个启动区,比如说选择了IROM启动方式后,就把IROM所占的地址空间映射为0x 内部内存区物理地址为0x 内部的内存地址,内部的ROM和SRAM都是分布在这个区间。其中, ~0x0bffffff对应着内部ROM,当然实际上内部的ROM也并没有64MB这么多,只有32KB是有实际介质的,这32KB是一个只读区,放的IROMIROM启动的时候首先运行的代码就是这一SRAM4KBnandflash启动的静态内存区物理地址为0x 挂在外部总线上的设备,比如说SRAM、NORflash、oneNand等。这个区flash、CF等非线性器,这并不是说可以通过bank2~bank5的地址段就能直接nandflash、CF内部的地址,相反,当映射到这些器件的时候这些bank的地址也不能再使用了,这些非线性器还是得通过Pheriperal空间的AHB总线进行,和S3C2410中的方式是一样的。不过有一个特例是,当映射到bank2开始的4KB,而在以nandflash方式启动的时候bank2被映射到 开始的地方,实际上就是把Stepstone映射到0x 和S3C2410的情况还是相似的。动态内存区物理地址为0x ~0x6fffffff,共3*256MB。其中第一个256MB为保留区,实际使用的动态内存区为0x ~0x6fffffff,又分为2个这个内存区主要是扩展DRAM,最大可以扩展512MB的DRAM。EPLL为需要特殊速率时钟的外设提供时钟信号。Manual可以找到。OM[4:1]四个硬件管脚决定了Nandflash启动,以及支持的管脚也要为1。boot代码到内部RAM中,然后进行引导。关于IROM的引导,具体过程如图:称为Bootloader0(BL0),它会做一些初始化的工作。然后根据GPN[15:13](SD/MMC/OneNand/Nand)中的指定区域4KB的程序到StepStone中运行,这段代码被称为Bootloader1(BL1)。BL1可以初始化系统时钟,UARTSDRAM等设备,然后拷贝SDRAMBL2,继续运行,BL2可以支持更强大的功能,可以将OS加载到SDRAM中,然后运行OS。还是看一程图吧,理解起来会更直观一些,IROM启动流程如图第四章嵌入式Linux要进行嵌入式linux的开发首先要按照好一个主机开发环境,因为嵌入式首先在Windows下安装一个虚拟机软件vmwareWindows下可用的工具比较多,再在vmware基础上安装一个桌面版本的Linux系统。这里使用的是vmware-7.0和Ubuntu-9.10,二者都可以在网上到。安装过程比较冗长,这里不一一说明,可以参考《附录四vmware下安装UbuntuUbuntu缺少很多需要用到的软件包,这要根据自己的实际情况使用Ubuntu的apt命令安装这些软件包。在嵌入式linux开发过程中需要使用tftp方式从Linux主机文件到板子中,因此需要在主机linux系统中安装tftp服务器。选上openbsd-inetd。在Ubuntu的终端下输入命令如下:$sudoapt-getinstalltftp $$cd$sudomkdir$od777$$sudovi$tftpdgramudpwaitnobody/usr/sbin/tcpd/usr/sbin/in.tftpd$$sudo/etc/init.d/openbsd-inetd$sudoin.tftpd-l测试tftp$$cd$touchtftp>gettest现在编译好的内核文件拷贝到/tftpboot下面,就可以使用u-boot的在开发与调试阶段,nfsLinux开发过程中,若nandflash中查看结果,并且每次针对情况亦需从新nandflash的损耗,以是对工作效率的大大降低。nfsPC宿主机上某个特定的当时开发的$$sudoapt-getinstallnfs-kernel- mon配置$$sudovi#Portmapconfigurationfile#Note:ifyoumanuallyeditthisconfiguration#portmapconfigurationscriptswillavoidmodifying#(forexample,byrunning'dpkg-reconfigureportmap').#Ifyouwantportmaptolistenonlytotheloopback#mentthefollowingline(itwill#mentedautomaticallyifyouconfigure#through#OPTIONS="-i$sudodpkg-reconfigure 运行后选择sysv-rc-conf(chkconfig)工具查看一下当前nfsportmapoffsudosysv-rc-confportmaponsudosysv-rc-confnfs-kernel-serveron打开。 $vi 我的配置如下##/etc/exports:theaccesscontrollistforfilesystemswhichmaybe#toNFS s.Seeexports(5).#ExampleforNFSv2and#/srv/homes #Examplefor#/srv/nfs4 #/srv/nfs4/homesgss/krb5i(rw,sync)#/nfsboot/nfsbootNFS的共享,*IP都可以共享这个,你可以改为授予可读写这个的IP地址,rw表示的是权限,sync表示对此内容同更新exports更改了/etc/exports之后,$sudoexportfs 重启NFS 尝试一下挂载本地磁盘(我的linux系统IP为8/home/nfsboot$sudomount8:/nfsboot $df$sudoumount arm、MIPS等。处理器不同,指令ARM公司提供的新一代的arm交叉编译器EABI编译器。EABI标准arm-none-linux-gnueabi-4.3.2withEABIEABI说明:FPE(FloatPointEmulation即软浮点),这样在速度上就会遇到极大的限制,使用EABI(EmbeddedApplicationBinaryInterface)则可以对此改善处理,ARMEABIFloatPoint(矢量浮点),因此可以极大提高涉及到浮点运算的程序性能。armarm-linux-gcc-3.4.1armv6构架,因此已经不能再使用了,但是之前的相当多的软件还是使用arm-linux-gcc编译器,如qtopia-2.2.0等。为此,我们提供了可以同时满足这2种需求的交叉编译器这点在编译qtopia的时候非常变得非常有意义。对于linux所有源代码的编译都使用ARM公司推出的新一代EABI编译器。应用光盘中提供了这 个编译器。将#tar–xjvfarm-none-linux-gnueabi- 为了使用方便,还可以编辑 #vi#viExportPATH#source #arm-none-linux-gnueabi-gcc Usingbuilt-inspecs.--enable-symvers=gnu--enable-cxa_atexit--with-pkgversion='SourceryG++Lite2008q3-72'--with-bugurl= Threadmodel:gccversion4.3.2(SourceryG++Lite2008q3-qtopiaarm-linux-gcc形式的调用命令,输入arm-linux-gcc–v,如果没有意外将输出与上面同样的信息。cramfs16MB下即可。之后在终端中输入mkcramfs测试,如果输出下面的内容便表面可usage:mkcramfs[-h][-eedition][-ifile][-nname]dirnameprintthismakeallwarningserrors(non-zeroexit-eeditionseteditionnumber(partof-iinsertafileimageintothefilesystem(requires>=-nsetnameofcramfspadby512bytesforbootsortdirectoryentries(oldoption,bemoremakeexplicitholes(requires>=rootofthedirectorytreetobeoutputubootSD启动的uboot以使用S3C6410MMC/SD启动功能来烧写一个可用的uboot。动的uboot烧写到SD中。启动方式为SD启动,设置方式在2.3节中已经做了说明。Dnw工具可用后便可以板子上电,如果没有意外,dnwuboot:LCD实际情况来选择相应的选子的小USB口和电脑的USB接口相连接。linux/androidWinCE需ECC校验错误。一般情况并不需要频繁的格式化,所以建议板子做SDubootuboot来将其他代码烧写到板子住先用USB线将小口的USB和电脑连接。栏USBport来选择需要的文件:选择光盘中tools 不要选择SD启动的u-boot_mmc.bin。设置拨码开关。当然也可以一直使用SDuboot来实现系统的烧写。Android或者带有带有Qtopia的根文件系统可以使用yaffs或者ubifs等可读修补过以后的yaffs源码仍然会偶尔导致系统,因此我们采用了性能更好的以后的linux内核所采用。cramfs到板子中。这个文件系统建议在系统调试完成之前一直保留而不要删除,这样可以在需要更新ubifs/yaffs2文件系统的时候随时能使用。为了避免读者产生这里再次强调,真正用到的文件系统都是使用ubifs续对uboot进行修正,让uboot能够直接支持ubifs。cramfs分区。linux\linux-image\root_mkfs.cramfs文件:按照之前介绍的步骤烧写完cramfs之后便可以开始ubifs第一步是将已经制作好的根文件系统linux\linux-image\qtopia.tar.gz到面的qtopia界面:不按下键盘,则系统会自动启动到qtopia界面中。qtopia.tar.gzqtopia.tar.gzcannotbefoundin 接着,第一步是执行cat/proc/partitions查看当前的块设备有哪些,其中卡则有可能是mmcblk等。第二步是执行mount-tvfat/dev/sda1/mnt/udisk将代表U盘的分区节点sda1挂载到/mnt/udisk下。Qtopia、qt4的使用至关重要,对于触摸屏校准我们提供功能,另一种是在进入linux令行界面后,输入recalibrate命令实现校准,uboot下也提供了这样的校准功能,在uboot的用户菜单中选择T:Uboot将光盘中的linux\linux-source\s3c-u-boot-1.1.6-TOP6410.tar.bz2 $tar–jxvfTOP6410-u-boot- 这样便得到了TOP6410-u-boot-1.1.6源码 $make $make 以直接运行我们提供的2个: Nandflashubootuboot源码后输入下 如果没有意外,将在s3c-u-boot-1.1.6-TOP6410 个u-boot.bin烧写到Nandflash中即可。 $ s3c-u-boot-1.1.6-TOP6410u-boot_mmc.bin,把这个u-boot_mmc.bin烧写到SD中并插入板子即可启。注:执行make_mmc_image之前一定要先执行make_nand_image令配置板子ip地址:#setenvipaddr 在使用tftp的时候,默认是从服务器中的,这个默认服务器ip地(78#setenvserverip # # tftp ##tftp # # Nand#nanderase0 Nand#nandwrite 0 0x40000Nand的读命令#nandread 0 0x40000个字节。启动linux如下面的启动参数是使用nfs方式挂载文件系统的内核启动参数:#setenvbootargsnoinitrdroot=/dev/nfsconsole=ttySAC0init=/linuxrc#setenvbootargsnoinitrdroot=/dev/nfsconsole=ttySAC0init=/linuxrc这是以nfs作为根文件系统的启动参数,其中0是板子ip,据自己网络的实际情况更换合适的ip和nfs 。WX4300F为液晶的型号,可(Ubuntu内核到Nandflash中挂载文件系统,那么需要使用下面的启动参数了: #setenvbootargsnoinitrdroot=/dev/mtdblock0console=ttySAC0 况下放的是cramfs格式的文件系统。root=ubi0:rootfs#setenvbootargsnoinitrdconsole=ttySAC0root=ubi0:rootfsUboot么uboot自动从Nandflash中数据到内存,并跳转到内存中启动内核:样的动作:让uboot在复位后自动通过tftp从主机内核文件zImage到内存##setenvbootcmd"tftp zImage;bootm Nandflash中,直接放到Ubuntu的tftp共享 下,由uboot到内存中直接启动,不需要经过nand烧写。Nandflashuboot的自动运行动作就变成了从Nandflash中内核到内存,并跳转到内存启动内核。这样就需##setenvbootcmd"nandread 40000300000;bootm uboot中还有很多其他有用令,这里无法一一列举,只说明了几个常用命令的使用方法,命令的使用请参考《附录五uboot命令》Linux较完善的。把该压缩包到Ubuntu主 $tar–jxvfs3c-linux-2.6.28- 还提供了2个位于该 -> ->到/tftpboot$ $$ $$ $make $ 与测试。默认是使用makeconfig的配置界面。NandflashNandflash驱动配置位于配置界面的DeviceDrivers->MemoryTechnology对于Nandflash驱动还有一个重要的方面是Nandflash的分区,这个分区表 的arch/arm/t-s3c/include/t/partition.h文件中:{#if{{{{}

= = =.mask_flags= = = =(4*SZ_1M)-.mask_flags= = = = = = =2DM9000AE保存配置编译内核并到板子中启动内核,挂载cramfs文件系统作为测ifconfigifconfigeth0ifconfigeth0 LCDLCDType,BitsPerPixelofframebuffer,Numberofframebuffers.BitsPerPixelofLCD型号配置。这样更换液晶型号并不需要重新编译内核,只需uboot的内核启动参数。ubootLCD7寸液晶屏:5寸液晶屏:4.3寸液晶屏:VGA输出(分辨率800x600):4.3setenvbootargsnoinitrdroot=/dev/mtdblock0console=ttySAC0 uboot的菜单中已经做了这些事情,用户也就不需要自己进行设置注意:VGALCDLCD测试最简单的办法就是使用内核自带的开机界面的显示图案,如下图制作的一个小企鹅加logo的,表意为提供的2个操作操作系统(Linux+AndroidUSBOTGS3C6410usb-2.0USBOTG接口,OTGhostdevicehostdevice同时Host接口。选中host功能后,OTG的slave功能将会被OTGID引脚拉到地来做一下试到U盘内容:#mount–tvfat/dev/uba1 OTG的slavedevice要注意,USBGadgetDrivers是以驱动模块的形式编译的,而不是编译到内OTG的slavedevice# 模块到板子根文件系统的/root #ddif=/dev/zeroof=10mbs=1Mcount=10 #insmod/root/g_file_storage.kofile=10mstall=1 g_file_storage.ko模块,并把刚刚创建的虚拟盘作为介质。U#insmod/root/g_file_storage.kofile=/dev/mmcblk0p1stall=0 USBhostMMC/SD首先要在SystemType->SMDK6410->SMDK6410MMC/SDslotSetup中选择所需要的MMC/SD通道:着SD卡。下面继续配置MMC/SD驱动:#ls mdevSD到文件系统中的/mnt/sdcard下,在这个下ls一下便能看到SD中的文件。如果没有自动挂载,可以使用下面令进行挂载:#mount–tvfat/dev/mmcblk0 #ls 这里选择Qtopa下的触摸屏选择S3Ctouchscreendriver。(TSC2003(6. ts_calibrate的校准程序,这个程序会打印出每次按下的# 对于Qtopia系统下如果发现触摸屏,或者触摸屏驱动已经加载但是点#rm/etc/pointercal #ts_calibrate(到这步后就在LCD上按照提示点5下) 之后运行/usr/local/bin/ts_calibratereboot来复位板这里要注意,rebootresetts_calibrate校准之后产生的校准文reboot才能在下次启动的时候还能看到这Keyboard键盘驱动可以在进入Qtopia或者Android系统后按下各个按键进试,编码一致,因此Qtopia下并不能响应所有的按键。Audio## y GPRS如果上面的测试不成功,需要检查硬件的连接情况。GPRSLED也可以LED一直没亮那么很可能就是硬件有问题了。如果LED在闪但是测试仍然不通过的话,断电重启。我们提供了GPRS上网的相关程序和。在进行拨号之前,需要等待GPRSgprs_s3c2410_linux3来测099则Selectwhatyouwantto:Simple:ReadSIMCARD:TestGSM/GPRS:MakeA:WaitA:Short:Power:+CSQ: 信号强度为+COPS: #ifconfig#ifconfigeth0down#ifconfigeth1down2wifi网络,因为这两个网络接口的优wifi模块[root@TOP6410/]#gprs-dial-onGPRSnetworkconnectScriptchat-v-f/etc/ppp/gprs-connectfinished(pid1204),status=0x0Serialconnectionestablished.usingchannel1Connect:ppp0<-->rcvd[LCPConfReqid=0x1<mru1600><authpap><magic<asyncmap<pcomp> sent[LCPConfReqid=0x1<magic0xe2caa253><pcomp>< sent[LCPConfRejid=0x1<asyncmap0x0>]rcvd[LCPConfAckid=0x1<magic0xe2caa253><pcomp>< rcvd[LCPConfReqid=0x2<mru1600><authpap><magic0xc3c65c9><pcomp> sent[LCPConfAckid=0x2<mru1600><authpap><magic<pcomp> sent[PAPAuthReqid=0x1user="0"rcvd[PAPAuthAckid=0x1"TTPComPPP-PasswordVerifiedOK"]Remotemessage:TTPComPPP-PasswordVerifiedOKPAPauthenticationsent ConfReqid=0x1<deflate15><deflate(old#)15><bsdv1sent[IPCPConfReqid=0x1<compressVJ0f01><addrnotnot cingexistingdefaultroutevialocalIPaddress41remoteIPaddressprimaryDNSaddress88secondaryDNSaddress04Script/etc/ppp/ip-upstarted(pid1207)Script/etc/ppp/ip-upfinished(pid1207),status=sentConfReqid=0x1<deflate15><deflate(old#)15><bsdv1sentConfReqid=0x1<deflate15><deflate(old#)15><bsdv1rcvd[LCPProtRejid=0x080fd0101000f1a047800180478001503Protocol-Rejectfor'CompressionControlProtocol'(0x80fd)

[root@TOP6410/]#loLinkencap:LocalLoopbackUPLOOPBACKRUNNINGMTU:16436RXpackets:20errors:0dropped:0overruns:0frame:0TXpackets:20errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RXbytes:1360(1.3KiB)TXbytes:1360(1.3KiB)ppp0Linkencap:Point-to-PointProtocolinetaddr:51P-t-P:UPPOINTOPOINTRUNNINGNOARPMULTICASTMTU:1500RXpackets:6errors:0dropped:0overruns:0frame:0TXpackets:9errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:3RXbytes:96(96.0B)TXbytes:171(171.0[root@TOP6410/]#cat/etc/resolv.confnameserver08 [root@TOP6410(05):56data64bytesfrom05:seq=0ttl=47time=771.233ms64bytesfrom05:seq=2ttl=47time=725.467ms64bytesfrom05:seq=3ttl=47time=730.16064bytesfrom05:seq=4ttl=47time=824.882WIFIMarvelLibertas8385and8686SDIO802.11b/gcards编译到内核而wifiwifi模块就会自行启wifi进入正常的工作模式,如果是软件复位系统或者按reset键复位会导致wifi模块不可用。#ifconfigeth1up #iwlisteth1scanning WIFIAP点到能够上网还iwlist、iwconfig等几个简单的配置命令是很难配置好无线网络的,一般的应用都是结合_supplicantWIFI网络, 另外,需要注意的是,WIFI如果不正常工作后需要断电重启,如果带电复Camera目前我们提供130w的ov9650和300w的ov3640CMOS型头模组,同时板子上也配置了使用TVP5150的模拟头,对于这三种头,我们的其他版本硬件使用模拟头,需把拨码开关8打上。如图模拟头,3.2版硬件有两个输入通道的。内核默认使用如下图所示的通 便可进试(文件系统中已经预装了这个程序,输入下面令执行一个使#cam2fb#cam2fb #v4l2grab#v4l2grab-d0-ofigo.jpg-q70-m-W640-H GPS的数据都是0。 #defineBAUDRATEB9600#defineBAUDRATE板子通过SPI总线与MCP2515连接,扩展了can总线控制器,本质上就是一个SPI到can的转换。这样内核在启动后将在/dev下产生mcp2515这个设备节点,通过该节点便可利用can总线手法数据。Cancan总线,可以参考光盘中的Applications\can_test下的部分代码来编写自己的程序。3GVersion43GUSBUSBserialConvertsupportMC27163G模块,只支持数据传输业务,因此我们的测试linux\linux-source\ppp-2.5.tar.gz,读者3G卡(3G的卡才行,普通的LED我们为板子的LED2提供了一个简单的设备驱动,读者可以参考来编写自drivers/char/led.c中,这个设Qtopia-2.2.0开发板附带光盘中有提供的qtopia-2.2.0源码包,位于linux\linux-source\qtopia-2.2.0-TOP6410.tar.bz2,解压这个源码包到Ubuntu的主目echoyes|./configure-qte'-embedded-no-xft-qconfigqpe-depths-system-jpeg-qt-zlib-qt-libpng-gif-no-g++-exceptions-no-qvfb-xtformlinux-arm-g++-tslib'-qpe'editionpda-disysize480x272-fontfamilies"helveticafixedmicrosmallsmoothsmoothtimesunifont"-xtformlinux-arm-g++-luuid'-qt2'-no-opengl-no-xft'-dqt'-no-xft-thread'qtopiaLCD$ $make 在该下运行./build即可。qtopia-2.2.0-TOP6410/qtopia/image/opt/Qtopia/opt这个结果,在Ubuntu ,这样讲看到这个下有一个optqtopia后得到的opt,因此,直接把qtopia编译得到的qtopia-2.2.0-TOP6410/qtopia/image/opt整体到rootfs_qtopia 下代替原来的opt exportTSLIB_TSDEVICE=/dev/input/event1exportTSLIB_TSDEVICE=/dev/input/event1exportTSLIB_PLUGINDIR=/usr/local/lib/tsexportTSLIB_CALIBFILE=/etc/pointercalexportQTDIR=/opt/QtopiaexportQPEDIR=/opt/QtopiaexportQWS_MOUSE_PROTO="TPanel:/dev/input/event1"#exportKDEDIR=/opt/kdeexportexec我们已经在板子的根文件系统的/bin/下提供了一个名为qtopia的可执行用户也可以通过运行qtopia这个命令来执行这个。Qt4使用更加适合用于等移动设备,因此在进行GUI的选择的时候不妨考虑一下,这里就是提供一个基于ARM11的评估包。 qt-embedded-linux-opensource-src-4.5.2.tar.gz到Ubuntu下在终端中进入该 并输入以下命令进行qt4的配置:$./configure-prefix/usr/local/QtEmbedded-4.5.2-embeddedarm-no- 这里默认使用arm-linux-编译器,光盘中提供的eabi-4.3.2中已经做了前缀的EABI-4.3.2编译器。在设置好编译器后进行编译:$$$sudomake漫长的编译结束后将在主机(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 上面步骤之后已经得到了可用的Qte,把整个QtEmbedded-4.5.2 板子 文件exportQTDIR=/usr/local/QtEmbedded-4.5.2exportQTDIR=/usr/local/QtEmbedded-4.5.2exportPATH=$QTDIR/bin:$PATHexportTSLIB_TSDEVICE=/dev/input/event1exportexportTSLIB_CALIBFILE=/etc/pointercalexportexport##mice-qws-fnwenquanyidemos、examples下还有很多的测试程序可以运行,PortedCanvasBasicGraphicslayout另外需要提醒用户注意的是,qtopia-2.2.0Qte-4.5.2的运行需要设在我们的板子上,Cramfsubifs,不过也可以用这个文件首先建议使用我们提供的mkcramfs工具,因为的版本中有最大文件不超过8M的限制。光盘中的linux\linux-source\root_mkfs.tar.gz就是我们所使用的cramfs根文件系统包,解压这个包到Ubuntu的主下,接着运行下面令来制作cramfs:$mkcramfs~/root_mkfs Ubifs格式的镜像暂时还不能像cramfs一样制作成镜像文件在uboot写cramfs中的解压缩工具将这个压缩包解$cd$cd$tar–zcvfqtopia.tar.gz qtopia.tar.gz了,按照第五章的说明把这个文件烧写到ubifs分区即可。第十一章多硬件编测S3C6410提供了包括对H264、H263、TVout等多的硬编的支持,使得S3C6410在多处理上的性能比一般的软编处理器性能高出一截。qtopia-2.2.0qt4没有在运行,不然可能出现资源之类的问题。如果这些程序已经在运行,可以在命令行界面中通过kill命令测试程序代码位于光盘中的linux\linux-source\multimedia_test_TOP6410.tar.bz2,将此文件到Ubuntu下的主解压即可得到multimedia_test_TOP6410。配置multimedia_test_TOP6410LCD尺寸,包括方式是修改multimedia_test_TOP6410根下的Makefile文件中的下面的部分:Makefile,不过改了,只说明根下的Makefile的修改:arm-linux-gcc即可。如果没有添加到环境变量需要填写完整的路径。 编译 下运行make即可完成测 下得到的multimedia_test便是所需要的测试程序运行把上一步得到的multimedia_test文件和相同 一起到板子文件系统的/usr/local/multimedia_test_TOP6410 ##cd H264硬测H263硬测VC-1硬测这部分由于手头上没有TV所以没办法看到实际效果,请有TV的读者 TVTV的读者自试。3D加速测试首先需要修改一下内核配置,主要是修改framebuffer4fb3Dfb配置,因此如下图对fb数目进行修改:3D测Qt4QT-4.5.2编写的一个测试程序,使qtopia界面下启动,qtopiaQt4_demo的程序,点击这个程序即可运行这个qt4的测试程序:LCD5寸/7寸屏的,一种基4.37寸屏幕为例介绍一下各个功能的Qt412-12-按键“LED测试”LED412-2onoff按钮便能控制板子上LED2的亮和灭。12-12-无法测试,如拨号键等。如图12-4。12-按键“GPRS测试”GPRS12-5ID测试:SIM卡ID:可以拨打号码方框中的 :为以设定的号码发送一条,内容为“shortmessagetest”按键“GPS测试”:测试GPS模块,GPS模块的通信频率不定,分为4800和96004800gps2个按钮,没有信号,因此显示出来的坐标都是0,时间也不对,这时候数据的状态为V,就是无效的数据包,必须把GPS天线拉大户外或者窗外等露天的地方才能常工作,需要一点时间来搜索,所以测试的时候要多等一下。Linux首先将png转成pnm#pngtopnmutulinux_logo.png>#pnmquant224utulinux_logo.pnm>#pnmtoinpnmutulinux_logo_224.pnm>然utulinux_logo_224.ppm替换linuxsrc/drivers//logo中对应的图像就2、保存为ppm格式,选择asiic存放格式 DIYOTG的T型头(插M50),然后网上找了两,可以看到,的那边有五个触点,母头只有四个,因为那边有一个id端,用于主机判断电平,高则普通usb状态,低则usbhost状态,所以它接地,让它低电平,就是usbhost状意id线怎么连。电源试试,我只能保证21周以及以后生产的机器有otg供电,我的 Qt/Embedded的过程比较复杂,为了方便初学者使用方便,我们把配置和编译的步骤制作成一个build,执行该即可一个命令搞定。#cd/arm-qtopia文件系统的目标板二进制映象文件包target-qtopia.tgz)说明:./build‐all将自动编译完整的Qtopia嵌入式桌面环境,并且编译生成的系统支持Jpeg、GIF、PNG等格式的,您还可以先后执行./build和./mktarget命令分别编译Qtopia源码和制作适用于根文件系统的目标板二Step2.Qtopia2.2.0TOP-WSNARM exportTSLIB_TSDEVICE=/dev/input/event1exportTSLIB_PLUGINDIR=/usr/local/lib/tsexportTSLIB_CALIBFILE=/etc/pointercalexportQTDIR=/opt/QtopiaexportexportQWS_MOUSE_PROTO="TPanel:/dev/input/event1"#exportKDEDIR=/opt/kdeexportHOME=/rootStep1:源到qtopia-2.2.0源代码包 解压源代码包 /root下 为/root/qtopia--Step2:QMAKE_LIBS_QT=-lqte-lpng-lts-lz-luuid-#defineQT_QWS_IPAQexport#ifndefQT_NO_QWS_CURSOR#defineQT_NO_QWS_CURSOR#ifndefQT_NO_QWS_MOUSE_AUTO#defineQT_NO_QWS_MOUSE_AUTO#ifndefQT_NO_QWS_MOUSE_PC#defineQT_NO_QWS_MOUSE_PCQtopia支持USBexportStep3: exportQTDIR=$PWD/qt2exportQTDIR=$PWD/qt2exportTMAKEDIR=$PWD/tmake$$cp$QPEDIR/src/qt/qconfig- $cd$cpcustom-linux-ipaq-g++.cppcustom-linux-arm-$cpcustom-linux-ipaq-g++.hcustom-linux-arm-Step5:$$cd$echoyes|./configure-qte'-embedded-no-xft-qconfigqpe-depths16,24-system-jpeg-qt-zlib-qt-libpng-gif-no-g++-exceptions-no- ysize make、makeinstall qtopia--2.2.0后便能在这个 exportQTDIR=/qtopia-2.2.0exportQTDIR=/qtopia-2.2.0exportLD_LIBRARY_PATH=/qtopia-2.2.0/libexportTSLIB_CALIBFILE=/etc/pointercalexportTSLIB_FBDEVICE=/dev/fb0exportHOME=/rootSettings和$HOME/s,默认下HOME就是根,所以在qtopia运行起来后会在根下建立这2个文件夹,如果要自定义这个可以在这里对于上面的这些命令已经写在了/etc/runqpe中,并由/etc/rCS自动执行,不在编译之后的qtopia到需要制作成根文件镜像的root_qtopia下之附录四vmware下安装Ubuntu以软件来模拟硬件的工具。喜欢玩电子游戏的朋友一定知道模拟器的概念PC而已。目我们目前最常用的虚拟机是VMwareWorkstation,本文中姑且省略为VMware在网上到处都可以搜到,同时汉化包也比较完备。先、安2、目前Ubuntu的稳定版本是7.04,稳定的LTS版本(Ubuntu的“LTS”35年)6.06,最BCLiveCDUbuntu操作系统,通过光盘启动后可以直行效率也比LiveCD高些,不需事先体验的老用户和机器老的用户推荐采用。P.S.LinusTorvaldsLinux并不是一个完整的操作统其实应该被完整地称为GNU/Linux。这里的GNU是指RichardStallman1984年发起的GN(GNU’sNotUnix)参与者中云集了诸多掌握技术的顶尖高手,更重要的是,他们信仰技术上的软件都包含一份被称之为GNU通用公共证(GNUGeneralPublicLicense,了一个壳程序(s),C语言程序库以及一个C语言编译器。LinusTorvalds共证(GPL)下。LinuxGNU/LinuxLinux内KDE等桌面环境。其中Ubuntu系就是基于Debian发展出来的一系列GNU/Linux版本。Ubuntu:使用GNOME桌面环境,这个桌面环境是GNU计划的一部分;Xubuntu:使用Xface桌面环境,比较轻量,适合配置较低的老机器使用;WindowsXPSP2VMwareWorkstation5.5.3汉化版;为了减少更新组件的工作量,我选择安装的Ubuntu7.10Tribe4桌面LiveCD版,网络环境是普通家用宽带(adsl)。IP用户(DHCP上网),那么就选择“使用网络地址翻译(NAT)”,这样只adsl,自然选它;c、如果你硬要将虚虚拟PC机,你可以在设备面板上清晰地看到并编辑它的配置。机内存从缺省的256M调高到512M。设置“连接”为“ISO镜像”Ubunt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论