嵌入式课设报告Word文件下载.docx

上传人:b****3 文档编号:16655296 上传时间:2022-11-25 格式:DOCX 页数:43 大小:1.36MB
下载 相关 举报
嵌入式课设报告Word文件下载.docx_第1页
第1页 / 共43页
嵌入式课设报告Word文件下载.docx_第2页
第2页 / 共43页
嵌入式课设报告Word文件下载.docx_第3页
第3页 / 共43页
嵌入式课设报告Word文件下载.docx_第4页
第4页 / 共43页
嵌入式课设报告Word文件下载.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

嵌入式课设报告Word文件下载.docx

《嵌入式课设报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《嵌入式课设报告Word文件下载.docx(43页珍藏版)》请在冰豆网上搜索。

嵌入式课设报告Word文件下载.docx

  1.嵌入式操作系统系统基础知识,基于WindowsCE的应用开发环境的建立和程序设计方法

  介绍嵌入式操作系统WindowsCE的特点,了解WindowsCE的主要模块及各自的功能。

了解微软提供给WindowsCE开发人员进行基于WindowsCE平台下嵌入式操作系统定制的集成开发环境PlatformBuilder(PB),掌握通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试的全过程。

了解BSP在嵌入式系统中位置及其作用。

介绍在嵌入式操作系统WindowsCE上搭建嵌入式应用开发环境的方法,在VisualStudio.NET中建立移动设备开发工程、程序调试以及下载运行的方法。

  2.嵌入式操作系统WindowsCE平台的搭建

  安装XSBase270实验开发平台的BSP。

根据XSBase270实验开发平台的特点和系统需求,利用PlatformBuilder集成开发环境配置WindowsCE操作系统的特性和功能。

编译、链接操作系统内核,生成系统映像文件。

下载并运行编译好的WindowsCE系统。

  3.IO接口控制---七段数码管和LED显示控制程序设计

  了解WindowsCE下I/O访问机制和原理。

了解LED和七段数码管的显示和控制原理。

掌握WindowsCE下访问硬件I/O寄存器的方法,以及使用VisualStudio.NET对硬件设备编程的一般方法。

  4.IO接口控制——电机控制设计

了解WinCE下IO访问机制和原理;

掌握GPIO的控制寄存器的控制方法;

掌握线程通信的编程方法;

熟悉EVC和VS.Net的使开发环境。

二、设计要求

1.功能要求

  安装XSBase270实验开发平台的BSP;

在嵌入式操作系统WindowsCE平台定制的集成开发环境PlatformBuilder(PB)上定制内核,编译和调试并生成内核映像文件,下载并运行编译好的WindowsCE系统;

在VS.NET中编写对XSBase270目标板上LED和七段数码管的控制程序,下载运行程序。

  2.设计所需设备与工具

  ①装有PlatformBuilder、VisualStudio.NET开发环境,有并口、串口和USB接口的PC机一台。

  ②XSBase270实验开发平台一套。

3、需求分析

1、WindowsCE操作系统简介

MicrosoftWindowsCE是一个开放的、可裁剪的、32位的实时嵌入式窗口操作系统。

和其他桌面窗口操作系统(WindowsXP/2000)相比,它具有可靠性好、实时性高、内核体

积小等特点,适用于各种嵌入系统和产品。

它拥有多线程、多任务、确定性的实时、完全抢

先式优先级的操作系统环境,专门面向只有有限资源的嵌入式硬件系统。

同时,开发人员可

以根据特定硬件系统对WindowsCE操作系统进行裁剪、定制,所以目前WindowsCE被广

泛用于各种嵌入式智能设备的开发,是当今应用最多、增长最快的嵌入式操作系统。

WindowsCE被设计成为一种高度模块化的操作系统,每一模块都提供特定的功能,这

些模块中的一部分被划分成组件,系统设计者可以根据设备的性质只选择那些必要的模块或

模块中的组件包含进操作系统映像,从而使WindowsCE变得非常紧凑(只占不到200KB

的RAM),因此只占用了运行设备所需的最小的ROM、RAM以及其它硬件资源。

WindowsCE被分成不同的模块,其中最主要的模块有内核模块(Kernel)、对象存储模

块、图形窗口事件子系统(GWES)模块以及通信(Communication)模块。

另外WindowsCE

还包含一些附加的可选择模块,这些模块可支持的任务有管理可安装设备驱动程序、支持

COM等。

一个最小的WindowsCE系统至少由内核和文件系统模块组成。

1)、内核模块

内核模块是WindowsCE操作系统的核心,它为任何基于WindowsCE的设备提供处理

器调度、内存管理、异常处理以及系统内通信等系统功能,并为应用程序使用这些核心功能

提供内核服务。

WindowsCE的内核模块通过CoreDLL模块表示。

所有的操作系统定制设

计都必须包含这个模块,但并不是这个模块的所有组件都必需的,有一些内核组件是可选的。

2)、对象存储

对象存储是WindowsCE的默认文件系统,它相当于WindowsCE设备上的硬盘。

对象

存储是由共享一个内核堆的文件系统、系统数据库和系统注册表组成,即使在没有系统主电

源时,对象存储也能维持应用程序及相关数据不会丢失。

对象存储可将用户数据和应用程序

数据存入文件或注册器。

在操作系统创建进程(该进程中只包括那些必需选项)的过程中,

对于这些不同的对象存储组件,可以选取,也可以忽略。

3)、图形窗口和事件系统模块

图形窗口和事件系统模块(GWES)包含大部分的核心WindowsCE功能,它集成了图

形设备接口(GDI)、窗口管理器和事件管理器。

GWES模块时WindowsCE操作系统高度

组件化的部分,它分别由USER和GDI两部分组成,USER用来处理消息、事件及鼠标和

键盘等用户输入,而GDI用于处理图形的屏幕和打印输出等。

GWES是用户、应用程序和

操作系统之间的图形用户接口。

GWES通过处理键盘、鼠标动作与用户交互,并选择传送

到应用程序和操作系统的信息。

GWES通过创建并管理在显示设备和打印机上显示的窗口、

图形以及文本来处理输出。

GWES的中心是窗口。

所有应用程序都通过窗口接收来自操作系统的消息,即使那些

为缺少图形显示的设备创建的应用程序也是如此。

GWES提供控制器、菜单、对话框以及

图形显示的设备资源,还提供GDI以控制文本与图形显示。

4)、通信模块

通信模块为基于WindowsCE的设备提供有线或无线通信能力,使WindowsCE设备能

够与其他设备或计算机进行连接与通信,通信组件提供对下列通信硬件和数据协议的支持:

·

串行I/O支持

远程访问服务(RAS)

传输控制协议/Internet协议(TCP/IP)

局域网(LAN)

电话技术API(TAPI)

WinCE的无线服务

可选组件

除上述主要模块之外,还可使用其它的操作系统模块。

这些模块与组件主要有:

设备管理器和设备驱动程序

多媒体(声音)支持模块

COM支持模块

WinCE外壳模块

WinCE提供的每一模块或组件都支持一组可用的相关API函数。

2PlatformBuilder开发工具介绍

PlatformBuilder(PB)是微软提供给WindowsCE开发人员进行基于WindowsCE平台下

嵌入式操作系统定制的集成开发环境。

它提供了所有进行设计、创建、编译、测试和调试

WindowsCE操作系统平台的工具。

它运行在桌面Windows下,开发人员可以通过交互式的

环境来设计和定制内核、选择系统特性,然后进行编译和调试。

该工具能够根据用户的需求,

选择构建具有不同内核功能的CE系统。

同时,它也是一个集成的编译环境,可以为所有

CE支持的CPU目标代码编译C/C++程序。

一旦成功地编译了一个CE系统,就会得到一个

名为nk.bin的映像文件。

将该文件下载到目标板中,就能够运行CE了。

PlatformBuilder提供了开发人员快速建立基于WindowsCE嵌入式系统所需的各种工

具。

PlatformBuilder的集成开发环境(IDE)允许开发人员配置、建立并调试能够借助Windows

和Web强大功能为嵌入式系统带来灵活性与可靠性的新一代高度模块化设计方案。

PlatformBuilder提供的主要特性包括:

平台开发向导(PlatformWizard)和BSP开发向导:

开发向导用于引导开发人员区创建

一个简单的系统平台或BSP(板级支持软件包),然后再根据要求进一步修改。

开发向

导提高了平台和BSP创建效率;

特性目录(Catalog):

操作系统可选特性均在特性目录(Catalog)中列出,开发人员

可以选择相应的特性来定制操作系统;

导出向导(ExportWizard)。

可以向其他PlatformBuilder用户导出自定义的目录(Catalog)

特性;

导出SDK向导(ExportSDKWizard):

使用户可以导出一个自定义的软件开发工具包

(SDK),可以将客户定制的SDK导出到特定的开发环境中(如EVC)。

3

远程工具:

可以执行同基于WindowsCE的目标设备有关的各种调试任务和信息收集任

务;

仿真器(Emulator):

通过硬件仿真加速和简化了系统的开发,使用户可以在开发工作

站上对平台和应用程序进行调试,大大简化了系统的开发流程,缩短了开发时间。

应用程序调试器:

可以在自定义的操作系统映像上对应用程序进行调试;

内核调试器:

可以对自定义的操作系统映像进行调试,并且向用户提供有关映像性能的

信息;

驱动测试工具包(WindowsCE.netTestKit):

系统为驱动程序开发提供了基本的测试

工具集;

基础配置:

为各种流行的设备类别预置的可操作系统基础平台,为自定义操作系统的创

建提供了一个起点。

4、总体设计

基于WindowsCE平台下嵌入式操作系统定制的集成开发环境建立;

嵌入式操作系统WindowsCE平台的搭建;

基于WindowsCE的应用开发环境的建立和程序设计方法;

七段数码管和LED显示控制程序设计;

IO接口控制——电机控制设计。

WindowsCE平台的构建与配置

1、掌握WindowsCE内核的配置、编译方法;

2、掌握构建一个适合特定开发平台的WindowsCE系统方法;

3、熟悉PlatformBuilder开发工具使用方法。

IO接口控制实验之七段数码管和LED显示

1、掌握在WindowsCE下访问硬件I/O寄存器的一般方法;

2、了解WinCE下IO访问机制和原理;

3、了解数码管(LED)的显示及控制原理;

4、熟悉VS.Net的使开发环境;

IO接口控制实验——电机控制

1、了解WinCE下IO访问机制和原理;

2、掌握GPIO的控制寄存器的控制方法;

3、掌握线程通信的编程方法;

4、熟悉EVC和VS.Net的使开发环境;

5、详细设计与实现【含代码与实现界面】

嵌入式WindowsCE的搭建及应用

一、编译XSBase270上的WindowsCE5.0系统

1创建新工程

2配置XSBase270平台

二、下载内核镜像

1EthernetBootloader(EBOOT)

2下载内核镜像文件

将并口线(JTAG)、串口线、以太网线分别和微机连接好,连接ARM实验箱电源线,打开ARM电源。

1.EthernetBootloader(EBOOT)

(1)打开资源管理器,找到文件夹c:

\WindowsCE光盘\Jflash_Pxa270_P30下的文件cmd.bat,双击执行,在“>

”提示后键入jflashmm.exepxa270EBOOT.nb0。

(2)按下回车键出现界面

(3)写入并且校对

(4)写Eboot到flash存储器结束

(5)如果校对出错,重新键入jflashmm.exepxa270EBOOT.nb0,重复

(1)~(3),直到正确写入为止。

如果多次写入出错,关闭ARM电源,20秒后打开ARM电源,重新烧录

(6)关闭ARM电源。

(7)右键单击”网上邻居”→”属性”,弹出网络连接对话框,右键单击”本地连接”→”属性”,设置TCP/IP协议。

修改IP地址为192.168.0.2

(8)在桌面上找到超级终端图标,双击启动。

(9)打开ARM电源。

出现信息后按空格键进行设置。

选择0改IP,只要保证ARM的IP和微机的IP在同一网段即可,如192.168.0.5或192.168.0.6选择5,改为,ARM上的WINCE烧录后可自己启动,其他不用设置。

(10)请将微机时间改为2007/10/1,PB才能使用。

找到PB工程文件,启动。

(11)选择超级终端的。

(12)在超级终端的菜单进行PB和ARM的连接设置。

(13)继续KernelServiceMap进行设置.

(14)在Download选项点击Setting。

(15)在出现的界面中选择XSBASE

(16)按图17菜单连接PB和ARM。

出现文件下载对话框,在超级终端中出现WINCE烧录信息。

(17)WINCE烧录结束后ARM上自动启动WINCE。

3、ActiveSync的使用

ActiveSync用来实现PC上的应用程序和ARM上的应用程序保持同步。

(1)打开目标机(ARM)电源,进入“网络和拨号连接”。

(2)双击“新建连接”,建立一个新连接。

点击“下一步”。

(3)选择“直接连接”,点击“下一步”。

(4)选择设备“COM2”,点击“配置”,进行配置。

(5)“我的连接”已经创建完毕。

(6)在ARM机的WINCE系统中选择“控制面板”→“PC连接”。

(7)出现对话框后,选择“更改”。

(8)选择“我的连接”,确定,ARM中“我的连接”创建完成。

(9)插上USB线,微机会自动识别USB设备,并启动ActiveSync:

1.USB线一定要在第(8)步之后插,否则连接不成功。

如果出现此情况,则拔掉USB线,重新建立一个新的连接,再插USB线。

2.ARM上的“我的连接”在ARM关电后会消失。

(10)选择“下一步”。

(11)选择弹出界面中的同步文件夹,选择“确定”,“下一步”,“完成”。

七段数码管和LED显示控制程序设计

第一步:

连接好实验系统,打开实验箱电源。

第二步:

打开对应的工程文件,我们可以看到硬件地址映射到内存的关键代码

第三步:

编译、下载与调试

(1)、IO接口控制LED工程的调试和发行版的编译配置

(2)、编译该代码,点击运行按钮,这样程序就会下载到XSBase270目标板板上运行。

行界面。

(3)、应用程序操作过程:

LightControl表示对XSBase270目标板的8个发光二极管控制,按“Start”按钮,发光

二极管左移或右移;

L1~L8对应目标板的发光二极管,勾选后按“Set”按钮,对应的

二极管点亮。

按“Stop”按钮,二极管的左移或右移停止。

LedControl表示对目标板的4个七段数码管的控制,在文本框中输入4位(0~9)数

字,按“Set”按钮,七段数码管将显示输入的数字;

按“Count”按钮,数码管进行计

数操作,按“Stop”按钮停止计数。

(4)、修改程序,实现其他不同的显示实验效果。

一、执行代码:

//Led.cpp:

Definestheclassbehaviorsfortheapplication.

//

#include"

stdafx.h"

Led.h"

LedDlg.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#endif

//CLedApp

BEGIN_MESSAGE_MAP(CLedApp,CWinApp)

END_MESSAGE_MAP()

//CLedAppconstruction

CLedApp:

:

CLedApp()

:

CWinApp()

{

//TODO:

addconstructioncodehere,

//PlaceallsignificantinitializationinInitInstance

}

//TheoneandonlyCLedAppobject

CLedApptheApp;

//CLedAppinitialization

BOOLCLedApp:

InitInstance()

//Standardinitialization

//Ifyouarenotusingthesefeaturesandwishtoreducethesize

//ofyourfinalexecutable,youshouldremovefromthefollowing

//thespecificinitializationroutinesyoudonotneed

//Changetheregistrykeyunderwhichoursettingsarestored

Youshouldmodifythisstringtobesomethingappropriate

//suchasthenameofyourcompanyororganization

SetRegistryKey(_T("

LocalAppWizard-GeneratedApplications"

));

CLedDlgdlg;

m_pMainWnd=&

dlg;

INT_PTRnResponse=dlg.DoModal();

if(nResponse==IDOK)

{

//TODO:

Placecodeheretohandlewhenthedialogis

//dismissedwithOK

}

//Sincethedialoghasbeenclosed,returnFALSEsothatweexitthe

//application,ratherthanstarttheapplication'

smessagepump.

returnFALSE;

//LedDlg.cpp:

implementationfile

char*pLightReg=NULL;

USHORT*v_pLEDBaseAddr1=NULL;

USHORT*v_pLEDBaseAddr2=NULL;

USHORT*v_pLEDBaseAddr3=NULL;

#defineBIT7(0x1<

<

7)

#defineBIT15(0x1<

15)

extern"

C"

__declspec(dllimport)BOOLVirtualCopy(LPVOIDlpvDest,LPVOIDlpvSrc,DWORDcbSize,DWORDfdwProtect);

#defineLED_BASEADDR10x10200000

#defineLED_BASEADDR20x10300000

#defineLED_BASEADDR30x10400000

#definepLightIoBaseAddress0x10500000

BYTENumData[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

UINT16READ_PORT_USHORT(UINT16*pAddr)

UINT32nAlignedAddr=((UINT32)pAddr&

~0x3);

if((UINT32)pAddr&

0x2)//Istheaddressan"

odd"

wordwithinalongword?

//Yes-readalongwordanddataisintheupperword.

return((UINT16)((*(volatileunsignedlong*)nAlignedAddr)>

>

16));

else

//No-readsingleword.

return(*(volatileunsignedshort*)nAlignedAddr);

voidWRITE_PORT_USHORT(UINT16*pAddr,UINT16Data)

//Yes-writealongwordwithdataintheupperword.

*(volatileUINT32*)nAlignedAddr=(READ_PORT_USHORT(pAddr)|(Data<

//No-writesingleword.

*(volatileUINT16*)pAddr=Data;

//CLedDlgdialog

CLedDlg:

CLedDlg(CWnd*pParent/*=NULL*/)

CDialog(C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1