嵌入式实验报告.docx

上传人:da****u 文档编号:1128816 上传时间:2018-12-11 格式:DOCX 页数:15 大小:1.83MB
下载 相关 举报
嵌入式实验报告.docx_第1页
第1页 / 共15页
嵌入式实验报告.docx_第2页
第2页 / 共15页
嵌入式实验报告.docx_第3页
第3页 / 共15页
嵌入式实验报告.docx_第4页
第4页 / 共15页
嵌入式实验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、嵌入式实验报告Part1 by 杨智策2010-1-3嵌入式实验报告2目录嵌入式实验报告 .10. 实验概述 .31. 系统搭建 .31.1 平台自带 Moblin 系统安装 .31.2 Windows XP 安装 .41.3 最新 Moblin 安装 .51.4 Google Chromium OS 安装 .71.5 WinCE 移植 .82. 平台应用开发 .92.0 Qt4 环境搭建 .92.1 平台应用概述 .92.2 基于 Google Map api 的移动 GPS 平台 .102.3 基于 Socket 的远程输入法 .122.4 计算器和其他实用程序 .13附录 .14嵌入式实

2、验报告30. 实验概述我们采用的 UP-Atom510 平台是嵌入式课程新采用的实验平台,由于实验参考资料有限,前期主要对平台各个系统的兼容进行了全面的探索,Atom 支持 X86 架构,应该对主流桌面系统有较好的支持。UP-Atom510 平台的开发手册展现了其平台成功移植Moblin,Ubuntu ,Windows Xp 的图片,但是具体的移植方案手册没有给出详细的介绍。我们首先对系统安装进行了一定的探索,之后实现了一些具有中小型便携移动设备应用意义的程序开发。1. 系统搭建本部分对平台的系统兼容性进行了探索,其中部分尝试因为一些原因而没能进行下去,一些尝试虽然成功了但是效果并不是很好,当

3、然部分系统能够很好的支持平台的运行。实验部分依赖于 XP 环境,部分依赖于 Linux 环境,操作中会进行说明。1.1 平台自带 Moblin 系统安装平台说明文档中提供了用于实验使用的 Moblin 镜像,其镜像为附件中的Moblin_cf.GHO 文件,镜像为 Ghost32 制作,Ghost 镜像的优点在于方便系统的安装。其原因可能是 Ghost 对硬盘的备份同 linux 中的 dd 指令有些相似,能够完整的备份硬盘信息,而不只是做内容的拷贝,这样可以将系统启动前的 MBR(Master Boot Record) 和文件系统也进行备份,所以还原后就能够正常运行。1.1.1 用 CF 读

4、卡器进行安装平台采用的存储设备是 8GB 的 CF 卡,可以在平台断电的情况下将其取下,同时利用CF 读卡器方便地进行文件交换。用.GHO 文件安装 Moblin 系统需要实验机安装 Ghost32 软件。之后操作较为简单,可以图解如下:首先载入镜像文件:按照提示进行操作即可,注意在选择磁盘是否正确:嵌入式实验报告4由于 CF 卡的传输速度尚可,上面的过程应该能够在 10-15 分钟左右完成,相比直接安装 Moblin 然后配置安装必备软件,确实快了很多。之后将 CF 卡插入平台就能够顺利启动 Moblin 系统了,成功进入后发现,平台技术人员对原版的 Moblin 进行了一定的改进,添加了许

5、多软件,同时将桌面也换成了 Gnome,没有采用 Moblin 较为人性化的界面。对安装好的系统进行一定的实验后发现,采用平台镜像的缺点十分明显,在这个系统中我们不知道 root 账户密码,而且实验指导书中也没有提供密码,在没有解决方法的情况下(解决方法可以参考同组单亚锋的工作) ,这个系统基本上用处不大。1.1.2 借助 winPE 进行安装在没有 CF 卡读卡器的情况下,可以采用 winPE 协助安装。关于 winPE 的制作过程网上的文章很多,这里不进行介绍。使用 WinPE U 盘成功启动后能够利用里面预装的 Ghost 工具进行前面介绍的操作,不过速度稍微慢一些,在后面介绍的利用.G

6、HO 进行系统安装的过程都可以利用 winPE 实现。1.2 Windows XP 安装Windows XP 的移植是比较顺利的,下一个 Ghost 版的 XP iso 文件,提取有效的镜像文件,如附件中的 winxpsp2.GHO,按照上面的方法可以很快实现 XP 的启动,启动后的 XP 性能还不错,在打开各种特效后还能流畅运行:嵌入式实验报告51.3 最新 Moblin 安装平台实验指导书中对 Moblin 系统的编译进行了介绍,实际上没有必要自己去编译,可以采用编译好的.img 安装文件,如附件中的 moblin-2.1-final-20091103-002.img。.img 文件有些像

7、.GHO ,在 Linux 环境下需要将 .img 文件写到 CF 卡中,可以参考 dd 命令( 假设通过读卡器连到主机上后 CF 卡为 sda):sudo dd if=moblin-netbook-core-XX.img of=/dev/sda插好 CF 卡后启动平台,进入安装界面后选择 Boot Moblin 发现不能启动 Moblin,原因不清楚,选择 Installation Only 进行安装:安装过程是比较顺利的,大概十分钟左右安装完成,重启能看到如下的启动画面:上面的安装过程完成后是不能够正常启动的,打开电源后会停留在 moblin logo,原因不明。网上有些上网本用户也遇到相

8、同的情况,可能是驱动问题,也可能是跟桌面环境有关的一些因素引起的(这种猜测缘由是禁用启动时启动桌面能够部分启动成功,参考下文) :在出现 moblin logo 之前,反复按方向键可以进入 Grub 界面,如下图所示:嵌入式实验报告6按 c 后进入手动启动输入如下的代码:grub root_(hd0,0)grub /boot/vmlinuz-2.6.31.5-10.1.moblin2-netbook_ro_root=/dev/sda1grub boot上面的红色下划线表示空格,root (hd0,0)指示的是系统所在的分区,是第二行的基础,第二行指示的是 kernel 位置, boot 指示启

9、动。这时能够成功启动,但启动后会发现 X 启动不成功,切换到其他 tty 中发现已经可以登录,但是这时 tty5 中没有启动成功的 X 会反复将页面切换到 tty5 中,很不方便,也不能kill,只好更改启动配置文件,编辑/etc/inittab 文件,将 id:5: initdefault:更改为id:3:initdefault: ,意思是在启动 Moblin 的时候不启动图形化界面。reboot 后用上面的启动方法发现已经能够比较顺利的进入系统,如果不考虑 X 的启动,Moblin 的启动是非常迅速的。startx 后发现能够正常启动 X,但是启动后除了鼠标比较灵活外,图形界面非常不流畅,

10、几乎不能使用,开发板本身配置不算太低,估计是硬件平台的支持不是很好,后文的google os 也验证了这一点,从界面上来看,Moblin 的交互性应该还是有一定特色的:想起前面的启动需要使用 Grub 比较麻烦,打开/etc/grub.conf 文件,发现其设置几乎同上面输入的一样,唯一的不同在于 root=/dev/sda1 后面多了 quiet 和 vga=current,猜想嵌入式实验报告7是 vga 这个参数的问题,删除后启动问题解决。之后更改 inittab 文件开机启动 X 依然出错,不知道原因。使用 Moblin 2.0 稳定版重复上面的过程得到的结果是一样的。安装好、没有更改

11、grub.conf、更改 inittab 的 Moblin 2.1 的.GHO 文件可以参照前面介绍的方法直接备份到 CF 卡中运行,附件中的文件为 moblin2_1.GHO,基本用户名为embed,密码为 123456,root 密码为 123456。1.4 Google Chromium OS 安装网上 Google Chromium OS 的截图传出已经有很多了,使用已有的配置文件,对整个 OS进行编译其实不是很复杂,可以参考:http:/linuxtoy.org/archives/building-chromium-os.html编译后的文件可以做为 img 格式,上面的文章中介绍了

12、在 linux 下使用 dd 命令进行 img文件到存储设备的拷贝操作,下面的方法适用于 XP 平台下的操作。附件中的 Win32DiskImager.exe 是实现上述功能的程序,程序用 Qt 编写,需要几个动态库的支持,程序能够在网络找到下载。操作界面十分简单,在这里不进行太多描述,将img 文件拷贝到 CF 卡中后就能够启动系统了。开启平台电源,系统不能正常启动的,需要反复按方向键,如果不按,需要等待大概20 分钟才能进入,原因不明。之后进入到登陆界面,用户名和密码都是 guest:进入系统后发现,界面同浏览器几乎一样:嵌入式实验报告8同 Moblin 一样,速度非常慢,不禁让人怀疑平台

13、的硬件性能,系统好像没有设置tty,按 Ctrl+Alt+T 后大概 10 多秒进入了“虚拟”tty ,由于是虚拟的,输入字符非常慢,没有仔细研究,下面输出的版本信息。chomoslocalhost:/home$ uname aLinux localhost 2.6.30-chromeos-intel-menlow #1 SMP Thu Nov 26 05:38:56 UTC 2009 i686 GNU/Linux1.5 WinCE 移植WinCE 移植总体来说是一个比较迷茫的过程,花了大量的时间,但是却没有成功,在这里简单介绍尝试过的做法,这些做法可能是完全错误的,只希望对想在这个平台移植W

14、inCE 的同学有些帮助。由于 WinCE 的开发环境实在是过于巨大,在进行 WinCE 移植前没有安装开发环境,WinCE 的编译后的文件一般名为 NK.BIN,令人奇怪的是这个文件能够在课程 FTP 的 510 平台下找到,心想这可能是老师编译好 CEPC 的 WinCE 核,当然还从网上搜到了几个带loadcepc.exe 和 config.sys 等文件的 WinCE 核。WinCE 的主要启动方法有三种,一种是利用 The x86 ROM boot loader,其缺点是需要硬件厂商对 WinCE 支持,所以没有考虑这种方法。一种是 MSDOSLoadcepc.exe ,其基本思想是

15、启动系统后首先进入 MSDOS 环境,之后运行 Loadcepc.exe,由 Loadcepc.exe 实现对NK.BIN 的加载,这种方法虽然简单,但是需要在开发环境生成的 Loadcepc.exe,所以还尝试了 BIOSBootLoader 的启动方法,其基本思想是 BIOS 完成硬件初始化后来到启动盘的MBR,由 MBR 通过引导扇区找到 BootLoader 加载 NK.BIN,虽然从网上找到的Setupdisk.144 和 Bootdisk.144 两个包含引导扇区 BootLoader 的软盘镜像文件,并且成功制作启动盘,但依然没有成功启动 NK.BIN,原因在于这些文件可能是与

16、WinCE 搭建相关的。感觉上在 510 平台实现 WinCE 的移植应该是可行,但是由于客观原因,开发环境难以满足,在抱着侥幸心理进行一段时间尝试失败后,没有将这部分工作进行下去。嵌入式实验报告92. 平台应用开发2.0 Qt4 环境搭建通过 Qt4 应用程序框架可以十分容易的构建出跨平台的应用,本项目主要涉及到在Linux 和 Windows 上进行开发,在 Linux 下,Qt 环境的搭建十分简单,首先配置一下 apt的 source.list,我采用的源是北邮的:# /etc/apt/sources.list for debian stable(sarge)# see sources.

17、list(5) for more information.# this file should be used in stable(sarge) only.deb ftp:/ stable main non-free contribdeb-src ftp:/ stable main non-free contrib# See: http:/www.debian.org/releases/sarge/i386/release-notes/ch-whats-new.en.html#s-non-us# deb ftp:/ stable/non-US main non-free contrib# de

18、b-src ftp:/ stable/non-US main non-free contribdeb ftp:/ proposed-updates main contrib non-freedeb-src ftp:/ proposed-updates main contrib non-freedeb ftp:/ stable/updates main通过安装以下文件,能够搭起 Qt 平台,过程大概需要 15 分钟:apt-get install qt4-demos qt4-designer qt4-dev-tools qt4-doc qt4-doc-html qt4-qtconfigWindo

19、ws 下的安装也比较简单,到官网 http:/ 下载相应的安装文件。值得注意的是 Qt 在 Windows 下的运行不依赖与系统的环境变量,需要在开始菜单中启动其相应的 Qt Command Prompt 来完成 Qt 环境的模拟。通过 Qt Designer 设计用户界面,将生成的 .ui 文件和其他 .h .cpp 文件保存在一个文件夹下,Qt 编译过程十分简单,只需要三条指令:qmake projectqmake xxx.promake第一条生成了 Qt 工程文件 xxx.pro,里面的内容大致上是工程包含的文件和库,第二条生成了.ui 文件对应的头文件和 Makefile,第三条根据

20、Makefile 完成了编译,windows 下的 make 稍微不同,通过查看以下目录可以发现应该使用 mingw32-make:X:Qtyear.mouthmingwbin在 Linux 下,上面过程完成后就能够运行相应的程序了,在 windows 下需要用 Qt Command Prompt 运行生成的 .exe 文件,如果需要独立运行,需要单独配上需要的库。总的来说在 Linux Qt 的开发要容易很多,特别是 Make 后的编译效率,感觉上高出好几倍。2.1 平台应用概述在拿到 510 平台后我们发现说明书上众多的 GPIO 接口被一块 PCB 给挡住了,不知道嵌入式实验报告10是设

21、计的失误还是有意为之,能够利用的开发接口变得十分的有限,前期我们考虑实现一个无线的密码传输器,后来发现在平台强大的功能下,其功能略显简单。从平台的移动性能以及触摸屏等交互手段来看,利用平台实现一个小型移动网络设备是很好的选择,这也符合 Atom 处理器的市场定位。在选择具体应用过程中,考虑到了前期的平台移植后运行效果普遍不是很好,基本放弃了开发需要占用较多资源的应用程序的想法。我们的设计出发点为:1.程序要尽量精简,能够流畅的在平台中运行;2.程序最好是基于 Internet,同时有较好的可移植性;3.程序能够体现一定的移动设备的实用性。为此实现了三个比较有代表性的应用程序:基于 Google

22、 Map api 的移动 GPS 平台,基于 Socket 的远程输入法,计算器和其他实用程序。2.2 基于 Google Map api 的移动 GPS 平台Google Map api 的使用说明主要参考了 Google 的官方网址:http:/ 与 html 通信的基本方法主要参考了http:/efforts.embedded.ufcg.edu.br/qt/?p=80同时参考了同组单亚锋同学提供的 QT 教材C+ GUI Qt4 编程( 第二版) 布兰切特等著。2.2.1 程序介绍本程序以 Qt 进行开发,能够很好的在个平台进行运行,附件文件夹中/soft/ GPS_demo 文件夹是

23、Linux 下的编译版本,/soft/GPS_demo_win 是 Windows 下的编译版本。两个版本的运行都需要 Qt4 库的支持。在 Qt3 下不能正常运行。程序实现了利用串口 GPS 设备获得设备地理坐标,利用 Qt4 的 WebKit 工具访问html,在./ 下的 index.html 中实现了 Google Map api 接口,再利用 WebKit 工具实现将地理坐标传输到 Map api,最后由 Google 服务器显示相应的位置。程序没有采用静态地图作为 GPS 的定位标准,因为我们相信在未来的网络应用中流量的费用会越来越便宜,更为重要的通过 Google Map api,只需要投入一定时间了解JavaScript 看,是能够写出交互性能很好的地图工具的,对地址的查询、汽车导航等等都是可以利用 Google api 完成的。下图是程序运行后在 XP 下的界面,右边的大块区域是地图区,左边是相应的操作区域。Latitude 显示现在纬度, Longitude 显示现在的经度。ON 按钮按下后会变为 STOP,再按下会变为 ON,实现了对地图功能的开启。CENTRAL 按下后变为 MOVE,再按下变为CENTRAL,CENTRAL 条件下地图会默认以目前坐标为中心,MOVE 条件下地图将可以自由移动。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。