嵌入式实训总结_第1页
嵌入式实训总结_第2页
嵌入式实训总结_第3页
嵌入式实训总结_第4页
嵌入式实训总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

-.z.实训总结ARM体系构造主要内容ARM简介ARM处理器模式ARM的存放器ARM的异常存储器I/O参考资料详细内容参加ARM体系构造PPT。RealView的使用安装破解详细过程1.将虚拟iso文件解压缩〔或者用虚拟光驱装载〕,双击setup.e*e进展安装2.安装即将完毕的时候,会出现一个窗口,上面有"下一步〞按钮3.此时,将rvds4cr.crack文件夹的内容,拷贝到C:\ProgramFiles\ARM\文件夹4.开场—运行—输入cmd,点击确定5.输入ipconfig/all,并回车6.记下"本地连接〞的PhysicalAddress,例如00-25-3D-5B-7C7.将C:\ProgramFiles\ARM\下的rvds.dat以记事本方式翻开8.将"HOSTID=〞后的字符串替换为6中找到的PhysicalAddress,不要横杠。9.保存关闭。10.在2中的窗口内点击下一步,之后点击"...〞按钮,选择好rvds.dat之后,点击Add按钮,点击两次〔或一次〕"是〞之后继续安装。11.最后运行C:\ProgramFiles\ARM\下的Crack.bat〔齿轮〕IDE的使用开场—程序—ARM—ARMWorkbenchIDEv4.0启动RealViewIDEFile—New—RealviewProject输入ProjectName点击下一步,调试和发行都选中,点击下一步,不需要选择Targets,直接点击下一步,体系构造选择Corte*-A8,其他不用改变,点击下一步,再点击下一步,之后选择Finish,即可创立一个RealView工程。在工程上点击右键可以添加文件夹〔例如src〕,也可以添加文件,注意汇编文件扩展名为.s,C语言文件为.c。汇编语言的例子和C语言的例子见"ARM汇编语言实验〞压缩包。调试方法首先编译工程〔Project—BuildAll〕,之后点击菜单栏的Debug按钮〔虫子样子〕,选择加载到RealViewDebugger中,即可开场调试。点击Stepin按钮,即可单步跳入,点击Stepover按钮即可过程调试。有可能需要查看Register的内容,这时需要点击View菜单下的Register项,翻开存放器查看窗口。指令集常用指令集见参考资料"ARM指令集详解〞。ARM与C语言混合编程共有四种混合编程方式,详细信息可以参考资料"ARM中C语言和汇编语言混合编程〞中的内容。串口通信方法串口的根本概念,串口通信的方式,通信的数据包格式等。详细内容请参考"串口通信〞PPT。烧写板子的方法由于各个开发板的使用方法并不一样,因此需要参考用户手册。一般使用过程为:调至NorFlash方式启动,连接超级终端。根据超级终端中的选项,选择操作格式化NandFlash对于Linu*系统选择下载bootloader,可能会使用到DNW,注意按照手册安装usb驱动选择下载操作系统内核选择下载根文件系统选择下载Logo对于WinCE系统选择下载Bootloader或者STEPLDR下载EBoot到NandFlash调到NandFlash,并在开机时按空格键选择下载WinCE的镜像文件QT程序编写环境的安装解压缩穿插编译器〔EABI〕,tar*vfjEABI….tar.bz2–C/用gedit/etc/profile添加一条pathmunge,详细请参见手册解压缩qt-embedded-opensource…tar.bz2,tar*vfjqt-embedded...tar.bz2–C/进入/opt/EmbedSky/qt-4.5下,./arm_qt4.5_build进展安装,需要大约1小时进展安装,之后使用sourcesetARM_Env来设置环境变量。qt-*11的安装:解压缩tar*vzfqt-*11-opensource-src-4.5.3.tar.gz-C/进入解压后的qt目录〔-qvfb参数说明需要编译qvfb设备-prefi*/opt/Qt-*11-4.5.3为改变安装安装目录运行命令gmake运行gmakeinstall,大约需要1小时左右gedit/etc/profile翻开profile文件,在该文件的最末尾加上以下语句:e*portPATH=/opt/qt-*11-4.5.3/bin:$PATHe*portMANPATH=/opt/qt-*11-4.5.3/man:$MANPATHe*portLD_LIBRARY_PATH=/opt/qt-*11-4.5.3/lib:$LD_LIBRARY_PATHe*portQMAKESPEC=/mkspecs/linu*-g++注销重新登陆编译qvfb#cd/#makeQtcreator的安装是图形化的,下一步即可,安装好后,翻开QtCreator后,依次点击菜单Tools-Options-Qt4-QtVersion,之后需要设置编译器的路径,可参考手册设置。QT工程创立翻开QtCreator,点击File-newFileorProject选择Qt4GuiApplication点击OkName中填入工程名称,可任取;Createin中填入目录,可用Browse按钮选择一个路径,点击OkRequiredModules中按需求选取,如果不需要可以不用选取,点击Ne*tClassname中填入类名,可任取;BaseClass中选择QWidget,或根据需要选择其他,单击Ne*t按钮继续点击Finish完成创立工程QT程序编写在工程窗口中的Forms文件夹下,有至少一个.ui文件,是界面设计文件双击这个.ui文件,可以在右侧的窗体上添加按钮等控件可以修改控件的objName,Te*t等属性,注意,objName是程序中用的名字,而Te*t是显示给用户的在按钮等控件上单击右键,点击Gotoslot,可以添加槽函数,可以根据自己需要选择信号和槽函数实现槽函数,完成需要的功能,例如响应用户按键信息等QT例如程序更多的例如程序请参见压缩包"qtshili〞QT与硬件编程硬件编程最关键的是应用驱动程序。首先需要编写硬件驱动程序,或者利用已有的驱动进展QT程序编写。因此,需要仔细参阅驱动程序文档,认真查看每个函数各个参数的含义。开发硬件相关QT程序流程:添加ftl.h、unistd.h和sys/ioctl.h三个头文件添加一个private变量,例如intfd;一般在构造函数中,使用open函数翻开设备并存下设备标识符,如fd=open("/dev/PWM-Test〞,O_RDWR);O_RDWR是一种设备读取的方法,此处也可以为只读〔O_RDONLY〕,只写〔O_WRONLY〕,或者可读可写〔O_RDWR〕等可用ioctl函数操作设备,进展IO操作,也可用read函数进展读取,write函数进展写入,需要根据具体应用确定在析构函数中参加::close(fd);关闭设备,这样在程序完毕的时候自动关闭设备注意,如果需要判断设备是否可用,可以用if语句判断fd>=0,例如在关闭设备时,经常需要这个操作,即,if(fd>=0){::close(fd);}硬件编程例如程序例如程序见压缩包"apps〞嵌入式移植Bootloader移植解压缩uboot源代码,例如tar*vfjuboot-1.1.6.tar.bz2–C/在uboot目录下修改一些文件,并添加支持自己的板子的源代码,天嵌的uboot已经改好,我们不需要自己修改在uboot目录下执行makeEmbedSky,配置uboot使它适用于我们的板子执行make进展编译,编译出uboot.bin文件即可烧录Bootloader重要文件及函数文件名start.Sboard.cmain.c函数名_startstart_armboot ()main_loop()添加新的命令include/cmd_confdefs.h中需要添加一个自定义命令的宏定义,例如#defineCFG_CMD_HELLOWORLD 0*00000ULL在mon文件夹下创立一个命令的源码文件,如cmd_helloworld.c编写命令源码文件内容,可以参照cmd_cache.c等在include/configs/EmbedSky.h中的CONFIG_MANDS宏定义的最后一个元素,括号前参加|\添加刚刚在cmd_confdefs.h中定义的宏,如添加CFG_CMD_HELLOWORLD以使能命令重新编译uboot即可使用新命令添加命令的菜单栏显示翻开mon/cmd_menu.c文件,找到main_menu_usage函数,在printf("Enteryourselection:");前面参加自己的printf,例如printf("[h]Helloworldmand〞);找到menu_shell函数,在case‘Q’:case’q’{…}之后添加自己的case‘H’:case’h’:{…}括号{}中填写run_mand("Helloworld〞,0);即可内核移植使用命令tar*vfjlinu*-2.6.30.4.tar.bz2–C/对内核进展解压缩在内核目录下,输入makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-翻开配置页面内核的配置可用loadanalternatefile参加一个已经配置好的文件可使用键盘方向键和空格、Y、N、M对其中选项进展勾选和去除配置好后,在顶级菜单中选择Saveanalternate,并将文件保存为.config文件退出编译内核使用makezImage即可编译内核,会花费一些时间,编译好的内核可通过超级终端及DNW烧写到板子中。详细信息更多的详细信息,请参考开发版的移植手册。根文件系统移植文件系统移植需要工具BusyBo*,需要先解压缩并编译BusyBos,使用命令tar*vfjbusybo*…tar.bz2–C/进展解压缩之后使用命令makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-对BusyBo*进展配置,并用Save选项保存配置,名字任意之后使用make命令进展编译使用makeinstall命令进展安装,会生成一个_install文件夹建立一个自己的文件夹,名为root-2.6.30.4〔可任取〕将_install文件夹全部内容拷贝到自己的root-2.6.30.4文件夹下添加一系列目录〔文件夹〕,详细请参考开发板移植手册将一些必要的配置文件参加上述文件夹中进入root-2.6.30.4的上级目录,输入命令mkyaffs2imageroot-2.6.30.4roor.bin即可生成根文件系统可将自己的根文件系统烧写到板子上进展测试驱动程序的移植编写驱动程序的源文件,如helloworld.c,并添加到内核源码〔内核移植中解压缩出的〕的相应目录下,例如,字符设备需要添加到drivers/char/修改drivers/char/中的Kconfig,在menu"Characterdevices〞,后面参加一个菜单项,如configHELLOWORLD tristate"Helloworlddriver〞 dependsonARCH_S3C2440修改drivers/char/中的Makefile文件参加目标文件,如obj-$(CONFIG_HELLOWORLD)+=helloworld.o,注意文件名字的大小写使用makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-配置内核,在Drivers菜单项下的CharacterDevices下会出现Helloworld驱动程序,用键盘M按键选中在内核源码目录下使用命令makeSUBDIR=drivers/char/modules对驱动模块进展编译,会在drivers/char/生成helloworld.ko文件通过超级终端发送到板子上,即可使用insmod命令加载,如insmodhelloworld.ko可以使用rmmod命令卸载驱动,如rmmodhelloworld.ko工程——嵌入式电子书设计程序解释见源码注释。可能问的问题: 程序如何运行?程序首先运行的是mian函数,由main函数中创立一个应用程序类,和一个电子书的窗体类,通过调用电子书窗体类的show()方法,让这个电子书窗口显示出来,同时调用应用程序的e*ec()方法,让应用程序运行起来。电子书如何读取存储器中的文件?首先调用QT中翻开文件的函数,显示一个翻开对话框,让用户选择一个文件,之后使用Qfile类对文件进展翻开操作。由于需要支持中文,所以采用QTe*tStream类读取文本,采用QTe*tCodec类提供GBK的编码器,使用read函数进展读取。电子书如何显示文字?采用QPlainTe*tEdit控件显示文字,并通过这个空间的QScrollBar〔滚动条类〕控制文字的位置,实现上滚和下滚。电子书如何翻页,如何查看上一行、下一行?电子书

温馨提示

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

评论

0/150

提交评论