版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
提示:除了QT外,可以不看本手册,参考《嵌入式Linux应用开发完全手册》及即第1 安装Ubuntu 安装 安装Ubuntu 安装Ubuntu下的开发工 安装Windows下的开发工 第2 精智JZ2440开发板烧写程序方 连接板载USB串 连接JTAG 使用JTAG工具烧写开发 Windows下并口JTAG驱动安 Windows下OpenJTAG驱动安 Ubuntu下驱动程序的安 JTAG烧写软件oflash的用 Windows下使用Jlink烧 在Windows下使用dnw和u-boot烧写系 在Linux下使用dnw和u-boot烧写系 第3 使用 基于最小根文件系统制作QT文件系 制作YAFFS2、JFFS2文件系统映象文 嵌入式Linux开发环境构Ubuntu②Ubuntu使用root用户登录,要使用root权限请在命令前加上sudo,比如sudo的Ubuntu版本是9.10。出一台主机,可以在这台虚拟主机上安装Ubuntu。从VMware的htt 到VMware工具,安装后,参照Ubuntu①VMWare,如1.1所示,点击“NewVirtualMachine”即可开始创建一个虚拟主机1.1启动1.21.3①图1.4输入虚拟主机名字、位1.41.5指定虚拟机的网络连接类型,一般使用桥接方式(bridgenetworking)1.8所示。安1.7指定硬盘I/O01.111.12、1.13、1.14及步骤⑦增加一个容量为40G的虚拟硬盘,命名为work.vmdk(用来作为工1.121.14Ubuntu开发板光盘的os下获得。在虚拟机上安装Ubuntu与在真实电脑上安装Ubuntu的过程大致相同。在虚拟机上安装时,要先设置虚拟机的光盘使用的iso文件,如图1.15所示。以选择“Usephysicaldrive”。1.15Ubuntu9.10的安装光盘启动真实主机,然后按照以下图示及1.16使用安装光盘启动电脑时,选择“Install1.17选择语言,建议选择1.18选择语言,建议选择1/dev/sda,1.22双击freespace,划分/boot1.23双击freespace,划分swap1.24双击freespace,1.25/dev/sdb,1.25freespace,划分/work1.26 如果要使用光盘中的工具包,先把光盘linux下的apt_packages到Ubuntu里/work下;然后修改/etc/apt/sources.list文件,增加下面一行(注意最后的斜杠“/”不 注意:如果提示网络错误,请修改/etc/apt/sources.list文件,只保留“debfile:/work/$sudoapt-get$sudoapt-get$sudoapt-getinstall$sudoapt-getinstall$sudo/etc/init.d/vsftpd修改完华之后,执行以下命令重启ftp$sudo/etc/init.d/vsftpd$sudoapt-getinstallopenssh-执行以下命令安装,$sudoapt-getinstallopenssh-它的配置文件为/etc/ssh/sshd_config,使用默认配置即$sudoapt-getinstallnfs-kernel-server执行以下命令安装,$sudoapt-getinstallnfs-kernel-server它的配置文件为/etc/exports,在里面增加以下内容,以后将通过网络文件系/work/nfs_root/work/nfs_root$sudo/etc/init.d/nfs-kernel-server$sudo/etc/init.d/nfs-kernel-server$sudoapt-getinstallopenbsd-inetd$sudoapt-getinstallopenbsd-inetdtftpd nobody/usr/sbin/tcpd/usr/sbin/in.tftpd把“nobody”改为“root”,把“/srv/tftp”改为“/work/nfs_root”,表示 $$sudoapt-getinstallbuild-essential$sudoapt-getinstallbisonflexlibtoolautomake⑦安装工具bison、flex$sudoapt-getinstallbisonflexlibtoolautomake$sudoapt-getinstallmanpages-$sudoapt-getinstallmanpages-$sudoapt-getinstall$sudoapt-getinstallkermit之前,先在/homt/book(book)下创建一个名为.kermrc(注意,是“点kermrc)的配置文件,内容如下:setsetline/dev/ttyS0setspeed115200setcarrier-watchoffsethandshakenonesetflow-controlnonesetfiletypebinsetfilenamelitsetrecpack1000sedpacksetwindow$sudoapt-getinstall安装ddd$sudoapt-getinstall$sudoapt-getinstallx-devlibx11-devx11proto-xext-devlibxext-devlibqt3-mt-$sudoapt-getinstallkdevelopQT开发$sudoapt-getinstallx-devlibx11-devx11proto-xext-devlibxext-devlibqt3-mt-$sudoapt-getinstallkdevelop安装ncurses是一个能提供功能键定义(快捷键)、屏幕绘制以及基于文本终端的图形互动功能的动态库。如果没有它,在执行“makeconfig”命令配置程序时会出错。使用以下命令安装,源码在光盘tools下:$tarxzf$tarxzf$cdncurses-$./configure--with-shared--$$sudomake安装Windows器软件tftpd32。第2JZ2440如果开发板上没有预ootloader程序,那么可以通过JTAG进行烧写。常用的JTAG工具有并口JTAG,它的特点是便宜但是速度比较慢。百问网开发了USB转JTAG、RS232串口二合一的工具OpenJTAG,非常适合没有并口、没有串口的笔记本。OpenJTAG、并口JTAG的烧写软件都是oflash,这是百问网开发的一款软件,同时支持S3C2410S3C2440开发板同时支持OpenJTAGJTAG,支持所有型号的NorFlash和NandFlash。如果开发板上有u-boot,那么可以通过USB口、网口文件到开发板的内存里,然后使用u-boot令进行烧写。使用u-boot进行烧写的速度非常快。JZ2440_V2开发板集成了串口转USB的功能,即S3C24400上接了一个USB串口PL2303,使用时只要通过USB线连接开发板和电脑,就可以使用S3C2440第 次使用开发板前,要先安装 串口驱动程序设置波特率为115200,不使用流量控制,数据位为8,停止位为1。拨到外侧是NORFLASH启动,拨到内侧是NANDFLASH启动。JTAGbootloader,启动开发板后能在串口里看到输出信息的Ubunut9.10JTAGOpenJTAG,它们的驱动程序都无需自Windows下并口JTAG并口JTAG的驱动程序在光盘 下,按照如下方法安装把驱动程序GIVEIO.SYS到系 2.42.5giveio.inf2.6~2.82.8里,选中“giveo”,点击“下一步”。2.6从磁盘安装2.7从磁盘安装2.8从磁盘安装1Ubuntu请参考OpenJTAG的光盘。是一样的,只不过在Linux下,运行oflash命令时,要面要加上sudo。oflash的用法如下 ## (0:openjtag,1/2:(0:s3c2410,1:s3c2440)(0:nand,1:nor)(0:write,1:read)offset11100u-1100 oflashf其他名字的配置文件oflash01100 //通过OpenJTAG把leds_nor.bin烧到S3C2440的Norflashoflash11000leds_nand.binoflash01100 //通过OpenJTAG把leds_nor.bin烧到S3C2440的Norflashoflash11000leds_nand.bin//通过dongle并口把leds_nand.bin烧到S3C2440的Nandflash通过u-boot络络烧写,支持JFFS2、YAFFS文件系统映象烧写光盘的bin下有u-boot.binuImage_3.5fs_JTAGu- 的启动时,立刻在串口工具上按住空格键,将出现如下菜#####100askBootloaderforOpenJTAG[n]Downloadu-boottoNand[o]Downloadu-boottoNor[k]DownloadLinuxkernel[j]Downloadroot_jffs2[y]Downloadroot_yaffs[d]DownloadtoSDRAM&[z]DownloadzImageinto[g]Bootlinuxfrom[f]FormattheNand[s]Settheboot[b]Bootthe[r]Rebootu-[q]Quit
NandFlash各菜单项的作用从名字上即可看出来,对于“Download”开头的菜单项,它用来DNWWindows、Linuxwindows\tools、linux\tools下。Windows下使用dnwu-boot烧写系启动u-boot,按住空格进入u-boot菜单后,Windows系统会发现一个新设备,它的驱windows\drivers\dnw下。安装驱动(只需要安装一次)后,在设备管理器可2.12u-boot①在“Configuration->Options”菜单里设置地址“DownloadAddress”(这步不是必①u-boot菜单界面输入“k使用dnw工具的“USBPort->Transmit”菜单项,发送光盘bin 在u-boot界面即可看到、烧写的提示信息YAFFS文件系统映象在u-boot菜单界面输入“y 在u-boot界面即可看到、烧写的提示信息在u-boot菜单界面输入“j 在u-boot界面即可看到、烧写的提示信息在u-boot菜单界面输入“d在dnw工具的“Configuration->Options”菜单里设置地址“Download使用dnw工具的“USBPort->Transmit”菜单项,发送光盘 下的 .bin在u-boot界面即可看到、运行信息:u-boot会把接收到的文件放在步骤b设置的地在u-boot菜单界面输入“n在u-boot界面即可看到、烧写的提示信息⑥试验板程序$Bus$Bus002Device009:ID5345:1234OwonPDS6062T od+x 下,如下修改属性即 od+xsudodnw<file>sudodnw<file>这个命令将文件<file>通过USB口发送到单板上,[address]是可选项,默认值是 ,它表示这个文件想存放到SDRAM的位置;bootloader会自己决定把文件保存在SDRAM哪里,是否使用[address]取决于bootloader。在u-boot菜单界面输入“k在主机上执行 在u-boot菜单界面输入“y 在u-boot界面即可看到、烧写的提示信息在u-boot菜单界面输入“j 在u-boot界面即可看到、烧写的提示信息在u-boot菜单界面输入“d 在u-boot界面即可看到、运行信息:u-boot会把接收到的文件放在步骤b设置的地在u-boot菜单界面输入“n 在u-boot界面即可看到、烧写的提示信息第3Linux假设光盘上所有的内容都到 修改、编译、使用u-使用补丁修改、编译u-《嵌入式Linux应用开发完全手册》上使用的是u-boot1.1.6,但是它不支持NANDFlash启动、不支持USB。/wok/system 下的u-boot添加了这两项功能。u-boot-1.1.6.tar.bz2是修改的源码,u-boot-1.1.6_jz2440.patch是补丁文件。对代码$tarxjfu-boot-$cdu-boot-$tarxjfu-boot-$cdu-boot-$patch-p1<../u-boot-$make$u-boot使用方JZ2440u-bootu-boot时立刻按住空格键即可进入菜单界面。菜单的界面请参数《2.2u-boot烧写整个系统》,它的使用非常简单,从下面简单介绍u-boot本身令的使用方法,在菜单界面输入字母q退出菜单后,即可输入各种命令,比如文件到内存,擦除、读写Flash,运行内存、NORFlash、NANDFlash中的程序,查看、修改、比较内存中的数据等。t、tf、tft、tftp等字母代替,只要其令不以这些字母开头即可。U-Boot接受的数据都是16进制,输入时可以省略前缀0x、0X。运行help命令可以看到U-Boot中所有命令的作用,如果要查看某个命令的使用方法,运行“help命令名”,比如“helpbootm”。?②命前几个串口命令使用方法相似,以loadx命令为例,它的用法为“loadx[off]baudoff参数省略,存放的地址为配置文件中定义的宏CFG_LOAD_ADDR。tftpboot命令使用TFTP协议从服务器文件,服务器的IP地址为环境变量serverip。[bootfilename]loadAddress比如单板IP为7,则缺省的文件名为C0A80711.img。loadAddress、bootfilenametftpboot命令一样,hostipaddrIP地址,默认为环境变量serverip。 2”将从开始地址0x 处,拷贝2个双字到开始地址为0x 单位,显示从地址address开始的内存数据,显示的数据个数为count。Ctrl+C退出。字)为单位,往开始地址为address的内存中填充count个数据,数据值为value。为单位,从源地址source的内存拷贝count个数据到目的地址的内存NORFlashNORFlashNORFlash上使用,比NORFlashmd、cpNORFlashcp命令(cp根据地址分辨出是NORFlash,从而调用NORFlash驱动完成写操作)。OpenJTAG>Bank#1:SST39VF1601FLASH(16x16)Size:2MBin512AMDStandardcommandset,ManufacturerOpenJTAG>Bank#1:SST39VF1601FLASH(16x16)Size:2MBin512AMDStandardcommandset,ManufacturerID:0xBF,DeviceID:0x234BErasetimeout:30000ms,writetimeout:100msSectorStart all”,解除所有NORFlash的写保护。除39VF1601的前5个扇区,执 令为“erase00x3fff”,而非“erase00x4000”1)erase除39VF1601的前5个扇区,执 令为“erase00x3fff”,而非“erase00x4000”NANDFlashNANDFlash操作命令只有一个:nandOOB区加写入清除标记;off、size表示要擦除的开始偏移地址和长度,如果省略off和size,表示要擦除整个NANDFlash。addr的内存中。是否加后缀“.jffsECC较验方“nandwrite[.jffs2]addroffsizeaddrsize个字节数据,写到NANDFlashoff处。是否加后缀“.jffsECC较验方法“nandread.yaffsaddroffsizeNANDFlash偏移地址off处读出size个字节的数据(包括OOB区域addr的内存中。“nandwrite.yaffsaddroffsizeaddrsize个字节数据(其中有要写入OOB区域的数据NANDFlash的偏移地址off处。上面的设置、删除操作只是在内存中进行,“saveenv”将更改后的所有环境变量写NORFlash不带参数的“boot”“bootm”命令都是执行环境变量bootcmd所指定令。“bootm[addr[arg...]]addrU-Boot格式的映像文件(使 像文件所在地址为配置文件中定义的宏CFG_LOAD_ADDR。“nbootloadAddr]dev]offset]NANDFlashdevoff处的映像文件到内存loadAddr处,然后,如果环境变量autostart的值为“yes”,就启动这个映像。如果loadAddr参数省略,存放地址为配置文件中定义的宏CFG_LOAD_ADDR;如果 下,linux- 是修改的内核源码$tarxjflinux-$cdlinux-$patch-p1<../linux-$cpconfig_ok$tarxjflinux-$cdlinux-$patch-p1<../linux-$cpconfig_ok$make 下去。mkimage工具在u-boot源码下 u-boot会自动烧写uImageNandFlash里。jpeg源码为/work/GUI/qtopia/deps/jpegsrc.v6b.tar.gz,解开后得 jpeg-6b$./configure--enable-shared--enable-$./configure--enable-shared--enable- --prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm- --build=i386--CC=gcc 改为:CC=arm-linux-gccAR=arrc AR2=ranlib改为:AR2=arm-linux-然后修CC=gcc 改为:CC=arm-linux-gccAR=arrc AR2=ranlib改为:AR2=arm-linux-$$$makeinstall-这将在/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux中的include 在lib 中生成一些jpeg库文件。源码为 下的e2fsprogs-1.40.2.tar.gz$tarxzfe2fsprogs-$cde2fsprogs-$mkdirbuild;cd$../configure--with-cc=arm-linux-gcc--with-linker=arm-linux-ld--enable-elfhost=arm-prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-$$makeinstall-$tarxzfe2fsprogs-$cde2fsprogs-$mkdirbuild;cd$../configure--with-cc=arm-linux-gcc--with-linker=arm-linux-ld--enable-elfhost=arm-prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-$$makeinstall-最后一条命令在/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/下的includelib 一些头文件和库,比如uuid/uuid.h、libuuid.a、libuuid.so等 ./configure./configure--shared--prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-然后修改生成 Makefile,以下是修改后的结果,都加上了“arm-linux-”前缀CC=arm-linux-CC=arm-linux-LDSHARED=arm-linux-gcc-shared-Wl,-CPP=arm-linux-gcc-AR=arm-linux-arRANLIB=arm-linux-$$$make$cpscripts/makefile.linux ,Makefile:$cpscripts/makefile.linuxRANLIB=arm-linux-prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-修 Makefile,以下是修改后的结果,都RANLIB=arm-linux-prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-$$$makets$$echo"ac_cv_func_malloc_0_nonnull=yes">arm-$./configure--host=arm-linux--cache-file=arm-linux.cache--enableprefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm- $$echo"ac_cv_func_malloc_0_nonnull=yes">arm-$./configure--host=arm-linux--cache-file=arm-linux.cache--enableprefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-charcharcharchar为了防止出现“libtool:link:onlyabsoluterun-pathsareallowed#LDFLAGS:=$(LDFLAGS)-rpathLDFLAGS:=$(LDFLAGS)-rpath`cd$(PLUGIN_DIR)&&plugins/Makefile里面找rpath,找到将其注释并加上绝#LDFLAGS:=$(LDFLAGS)-rpathLDFLAGS:=$(LDFLAGS)-rpath`cd$(PLUGIN_DIR)&&$$$make 下,qtopia-free-src-2.2.0.tar.gz是修改的内核源码$tarxzfqtopia-free-src-$cdqtopia-free-$patch-p1<../qtopia-free-$./configure-qte'-embedded-xplatformlinux-arm-g++-qconfigqpe-depths16,24-no-$tarxzfqtopia-free-src-$cdqtopia-free-$patch-p1<../qtopia-free-$./configure-qte'-embedded-xplatformlinux-arm-g++-qconfigqpe-depths16,24-no--system-jpeg-system-libpng-system-zlib-tslib-gif-thread-lts'-qpe'-xplatformlinux-arm-g++-editionpda-displaysize240x320'-qt2'-no-xft'-dqt'-no-xft'$$make 、文件到qtopia/image/opt/Qtopia 注意:./configure时,要输入“yes”并回车才能继续下去 下是已经构造好的各种文件fs_mini.tar.bz2②fs_mini_mdev.tar.bz2③fs_qtopia.tar.bz2JZ2440④它们在/wok/上的bin $sudotarxjf$sudocp-rffs_mini_mdev$sudochownbook:bookfs_qtopis$sudotarxjf$sudocp-rffs_mini_mdev$sudochownbook:bookfs_qtopis注意:解压命令要加上sudo,因为解压出来的dev 要用到root权限 ①Qtopia所依赖库文$cd/work/tools/gcc-3.4.5-glibc-2.3.6/arm-$cd/work/tools/gcc-3.4.5-glibc-2.3.6/arm-$cplibpng.so*/work/nfs_root/fs_qtopia/lib/-$cplibjpeg.so*/work/nfs_root/fs_qtopia/lib/-$cplibuuid.so*/work/nfs_root/fs_qtopia/lib/-$cplibuuid.so*/work/nfs_root/fs_qtopia/lib/-$cplibz.so*/work/nfs_root/fs_qtopia/lib/-②$cd/work/GUI/qtopia/deps/tslib-$makeprefix=/work/nfs_root/fs_qtopia/usr/到 $cd/work/GUI/qtopia/deps/tslib-$makeprefix=/work/nfs_root/fs_qtopia/usr/$cp/work/nfs_root/fs_qtopia/usr/etc/ts.conf把fs_qtopia/usr/etc/ts.conf文件到 $cp/work/nfs_root/fs_qtopia/usr/etc/ts.confmoduledejitterxdelta=1ydelta=1修改ts.conf文件,去掉这行(面加上#号即可moduledejitterxdelta=1ydelta=1#modulemodulevariancexlimit=50ylimit=50pthreshold=3#moduledejitterxdelta=1ydelta=1pthreshold=3modulelinear修改#modulemodulevariancexlimit=50ylimit=50pthreshold=3#moduledejitterxdelta=1ydelta=1pthreshold=3modulelinear$cd/work/GUI/qtopia/qtopia-free-$cp-rfqt2/lib/fonts$cd/work/GUI/qtopia/qtopia-free-$cp-rfqt2/lib/fonts$cd/work/GUI/qtopia/qtopia-free-$cp-rfqtopia/image/opt④将qtopia/image/opt/$cd/work/GUI/qtopia/qtopia-free-$cp-rfqtopia/image/opt$cd$cd$mkdir-p$cp-rf/usr/share/zoneinfo/America$cp/usr/share/zoneinfo/zone.tab⑥建立一个文件,用来较验触摸在单板 exportexportQTDIR=/opt/QtopiaexportexportQWS_KEYBOARD="TTY:/dev/tty1"exportPATH=$QPEDIR/bin:$PATHexportTSLIB_TSDEVICE=/dev/ts0exportTSLIB_CONSOLEDEVICE=noneexportTSLIB_FBDEVICE=/dev/fb0exportTSLIB_TSEVENTTYPE="H3600"ts_calibrate来较验触摸屏,QT自带的触摸屏程序不好用。想再次较验时,把/etc/po删掉后重启单板就可以了。 od+x od+x⑦建立一个文件,用来运行exportexportQTDIR=/opt/QtopiaexportQWS_DISPLAY=LinuxFb:/dev/fb0exportQWS_KEYBOARD="TTY:/dev/tty1"exportQWS_MOUSE_PROTO="TPanel:/dev/ts0"exportPATH=$QPEDIR/bin:$PATHexportTSLIB_TSDEVICE=/dev/ts0exportTSLIB_CONSOLEDEVICE=noneexportTSLIB_FBDEVI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业设计(论文)-1450热轧卷取机侧导板液压控制系统的分析
- 2026年汽车冲压生产线操作工初级题库及答案
- 化疗患者静脉治疗安全及导管管理
- 2026年全国电工(技师)职业技能考试笔试试题(含答案)
- 临床用血专项理论知识考核试题及答案
- 咔唑全球前8强生产商排名及市场份额(by QYResearch)
- 助产士(岗位)知识考核试题及答案
- 2026年江苏省溧阳市高三历史上册期末考试考试卷含答案(综合题)
- MySQL数据库技术与项目应用课件 项目6 编程操作网上商城系统数据
- 2026奥运文化面试题及答案
- 叔叔在侄子订婚宴致辞(5篇)
- 创新创业基础(西安科技大学)智慧树知到期末考试答案章节答案2024年西安科技大学
- 2024年贵州能源集团有限公司招聘笔试冲刺题(带答案解析)
- JTG-D40-2002公路水泥混凝土路面设计规范-PDF解密
- 《市政基础设施岩土工程勘察规范》
- 汽车驾驶员安全责任书
- 提高医药代表拜访效果的时间管理技巧
- 数字媒体与社会治理
- 银行诉讼案件管理办法
- 供热系统发展趋势及供热新技术
- 运动治疗第九章呼吸训练
评论
0/150
提交评论