上海企想嵌入式软件开发培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上海企想嵌入式软件开发培训1.SD卡制作2.USB驱动安装3.LIUNX串口工具4.Superboot的介绍5.DNW工具使用及UBOOT烧写和内核烧入6.Qt7.LIUNX基本命令8.LIUNX网络挂载9.镜像文件的制作10.镜像文件烧入11.程序的调试青岛鸿绪工程技术有限公司(企想山东总代)0532-83847995山东综合布线智能家居大赛QQ交流群:130909521SD卡制作USB驱动安装如过出现以上的现象的话,我们则选择红色标注的选项,如过出现下图红色标注的部分则说明我们的驱动个安装成功,这时要插上USB下载线。LIUNX串口工具我们点击SerialPortterminal进入到串口工具,点击configuration(第二个选项),再点击Port出现设置串口界面。这时候我们要注意我们的接入的USB串口是否被虚拟机捕获,USB下载没有被虚拟机捕获,再次要还需注意的是波特路应为115200。Superboot的介绍左方是我们SD卡中Superboot的菜单界面其中我们烧写用到的分别是,v,k,u,v:通过USB烧写UBOOT,k:通过USB烧写内核,u:通过USB烧写镜像文件。在此一提的是在启动网关时需SDBOOT状态下启动才可在串口工具中显示此菜单。DNW工具使用及UBOOT烧写和内核烧入当你USB接口连接正确的时候,DNW上方的USB会显示OK否则就会显示x。上方红色区域内的2个文件是我们需要使用到的UBOOT文件和内核文件。其中u-boot是在串口工具中使用v键烧入,zImage_a70是通过k烧入。在每个文件烧入成功后串口工具中都会显示Succeed。Liunx命令我们在网关制作挂载以及镜像制作的时候都会用到Liunx的一些命令其中有:1.ls用于查找用户当前所在位置下的所有文件隐藏文件除外。2.cd用于切换到用户主目录。3.cd..用于切换到上一层目录。4.cd/用于切换到系统根目录。5.cd目录用于切换到指定目录下。6.sudo–i获取root权限。7.gedit/vim这两个命令都是用于打开文件夹。8.restart在文件的结尾用于重启文件或者服务如:/etc/init.d/portmaprestart。9.ufwdisable关闭防火墙。10.mount此命令用于挂载,由光盘中安装。安装命令为:mount/dev/cdrom/mut/cdrom←加载光盘mount/dev/fd0/mut/floppy←加载软盘11.rm用于删除文件。其中有rm–f强制删除,rm–r删除文件夹下的所有文件。12.chmod用于更改文件权限。Qt工具1.LIunx时间更改2.Qt工程的打开和新建3.Qt工程文件的解析4.工程文件的配置5.Qt图形界面设置6.styleSheet的介绍及应用7.Qt界面背景8.Qt控件介绍9.Qt部分控件应用10.Qt部分控件的信号和槽函数介绍11.Qt鼠标点击函数12.编译码的设置及应用13.窗口的打开与关闭14.配置及网关串口配置15.命令的接收16.数据的处理17.命令的发送18.编译和运行19.编译完成后的拷贝以及串口的设置20.附:Qt模式设置及初始化Qt工程的打开和新建我们只要把.pro文件拖入Qt程序图片上就可打开我们的工程文件.当然我们Qt新建工程时会出现很多的选项,根据自己所需要的来选择新建的工程。Qt工程文件的解析上图是我们Qt的工程文件,主要分为头文件,源文件,界面文件和资源。在此我们需要注意的是资源文件,在资源文件中不可有中文名的文件存在。工程文件当中就是一个工程的信息都包含在里面,我们可以看到源文件、头文件、界面文件和资源文件,在这里我们可以清楚的看到,除此还有一些其他的配置,如调用动态链接库等等,在这个地方我们需要有一点很注意的就是动态链接库的调用,这个的路径默认的就是我们将动态链接库放到了可执行文件所在的目录,这点要注意一下,如果这变设置的有错误的话在编译的时候会发生找不到文件的错误,所以在配置这个地方的时候就要注意一下。工程文件的配置如上图所示,我们看到这个是在电脑上模拟时候工程的配置,第一个红色的标注,这是在电脑上运行的环境,第二个红色标注是你可执行文件所在的目录,这里为了更方便的管理工程,所以才有将生成的中间文件和可执行文件放到这个目录下,值得注意一下的是动态链接库也要放到这个目录下面,第三个标注就是告诉大家我们在电脑上运行的时候我们用的编译器是g++,左边的那个红色标注说明我们的这些配置都是在项目这个选项下的。之前我们介绍了第一个红色框的标注,这里是我们在网关上运行的环境,第二个红色标注是指定了我们的编译工具。Qt图形界面设置打开你所需要编辑的文件进入后,在文件的右方可以选择我们所需要的控件拖入窗口中也可以通过程序编译来新建我们的文件,我们可以通过styleSheet(如上图)或者文件相对应的代码(如下图,方法有多重只写出了一种)来编辑我们所需要的控件。styleSheet的介绍及应用styleSheet中的border-image是用于更改控件背景并自动调整成控件的大小,我们在这里使用styleSheet样式中的border-image功能,打开我们的styleSheet在点击添加资源旁边的下按钮就可看到上图界面。选择图片的界面在打开这个界面前先要确认是否有资源文件,资源文件是否保存,其次要注意的时候资源文件中不可有中文的文件存在,选择好你说要的图片后确定就可更改控件的背景。在上图我们看到的这句话是用于更改styleSheet的参数。我们可以在后台来操控图片的背景。引号部分是你图片所在的路径以及你所用到的样式。同时这个样式也适用于更改背景图片。Qt界面背景在Qt制作时会有背景的附加如上图在设置背景时,要注意不能用Qt的样式来编写,需通过程序的编写来完成。背景的设置方法也是多样的如上图,是多种方法中的一种设置背景的方法,也可以同时设定背景图片的大小及所在位置。Qt控件介绍在Qt制作的时,控件是不可缺的,通常用到的控件如label,pushbutton,combobox,容器等。如上图还有很多我们没用到的控件Qt部分控件应用porgressBar控件,进度条控件在界面中可用修改此控件的初始值最大值,最小值等(如上图),当然这些内容我们也可以在后台修改如下图,其中第一个setValue是更改值第一个我们默认他为初始这个控件的值,第二个setValue是来更改他现有的值。当然他也有默认的槽函数来连接。Qt部分控件的信号和槽函数介绍porgressBar控件,可通过信号与槽函数,valueChanged(int)是其中的一个信号如上图左方,上图右方是它的槽函数在函数中value是他的现在值在更改porgressbar值时,就会自动执行函数内的内容。其中的int是你当前porgressbar的值。Combobox控件,其中currentindexchanged(int)是其中一个我们需使用的信号,它是在你combobox更改内容时来进行槽函数内部的内容,其中int是你combobox中所选的选项,从0开始。Qt鼠标点击函数mousePressEvent(QMouseEvent*event)是鼠标点击函数,当你的鼠标点击左键右键或者中间的时候调用函数,其中函数的参数是鼠标所点击的位置和点击方式,一般我们可以event-x()等方法把其中的x坐标和y坐标调出来给我们使用。编译码的设置及应用我们在Qt编译中需要用到很多后台代码进行界面控件的设置,在没有设置编译码的时候会出现乱码等现象,上图是设置编译码的方法在此我们运用UTF-8。在运用到编译码的地方前方加上tr即可如下图。窗口的打开与关闭在窗口的开口工程中有几种不同的方式,如show,exec等,上图中使用到了exec和show,其中我们会发现exec是一个有返回值的函数(返回值:是一段函数运行结束时返回的参数,可能也无返回值),而show是无返回值的。协调器串口配置及网关串口配置在我们电脑测试和网关测试中串口是必须要相对的不然串口会打开失败,在设置串口中我们除了要注意串口的名称以外还要注意的是,波特率,停止位,效验位,奇偶位等。在上图我们一一列出。当然除了这些东西还需要注意的是串口的打开方式。当然在这里我们需注意的是虚拟机中串口是ttyUSB0,而网关上的串口是ttySAC3命令的接收在程序中接收命令的过程中是在另一个线程里完成的。如上图。在每过100毫秒后程序会自动执行此线程。读取串口中缓存中所有的数据并赋给temp,在通过型号函数serialFinished发送出去。数据的处理我们在接收到数据之后我通过型号发送到另一个函数内,在发送之后通过receive进行处理并赋给光温湿烟可各个变量。如上图我们通过型号和槽函数来进行调用并把接收到的数据进行处理。命令的发送上图是数据的一条发送命令发送的是步进电机的正转,在发送时我们要注意发送命令的条数和命令的重复,在发送命令时不能有相同的命令或者命令条数过多的情况出现,如果同时发送的命令过多会导致缓存满出部分命令丢失以及网络堵塞,节点板掉线等情况。编译和运行Qt编译时只需点击左侧的绿色箭头就可编译并执行,在红色框内是你程序运行时的打印信息。在编译完程序后在你的目录下会有一个已工程名的文件此文件可直接运行。LIunx时间修改在我们编译Qt前先要对Liunx的时间进行修改,否在在编译时会出现在未来构建或者系统时间不正确的错误。LIUNX网络挂载在做网络挂载前我们必须先用root身份进入终端,并且连接虚拟机和网关。在打开终端已root用户登录后,用gedit或vim打开/etc/exports,打开后上图所示,在最后添加/6410*(rw,sync,no_root_squash)在此我们的设置的名字是6410所有说用的就是/6410。它可以作为开发板的根文件系统通过nfs挂接,*表示所有的客户机都可以挂接此目录,rw表示挂接此目录的客户机对该目录有读写的权力no_root_squash表示允许挂接此目录的客户机享有该主机的root身份。接下来我们要输入3句话分别是/etc/init.d/portmaprestart,/etc/init.d/nfs-kernel-serverrestart,ufwdisable分别的作用是启动nfs服务和关闭防火墙,当输入第一第二条命令后弹出上图界面出现4个ok那时nfs服务启动成功,当输入第三条命令时出现防火墙关闭的提示。接下来我们需要把串口工具连接上,并且打开串口工具配置完成,并且网关已superboot的模式启动,在串口工具中会跳出菜单,之后点击s输入以下命令:console=ttySAC0root=/dev/nfsnfsroot=192.168.1.111:/6410/root_qtopia_qt4ip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.255.0:mini6410.arm9.net:eth0:off在输入完后会提示此命令的长度如果按照上述输入没有错误的话长度应为159。各参数的含义如下:nfsroot是开发主机的IP地址,如果你使用了虚拟机,该地址是虚拟机中的IP地址,总之,它是直接提供NFS服务的Linux系统IP地址。“ip=”后面:第一项(192.168.1.70)是目标板的临时IP(注意不要和局域网内其他IP冲突);第二项(192.168.1.111)是PC机的IP;第三项(192.168.1.111)是目标板上网关(GW)的设置;第四项(255.255.255.0)是子网掩码;第五项是开发主机的名字(一般无关紧要,可随便填写)eth0是网卡设备的名称。但是建议不要改动配置,否则会导致挂载不上去。在输入完命令后进入终端并进入根目录下的mnt下执行命令为:mount-tnfs-onolock192.168.1.111:/6410/root_qtopia_qt4/mnt其中192.168.1.111是你主机也就是PC的IP地址,/6410/root_qto

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功