嵌入式系统培训.ppt
- 文档编号:18717851
- 上传时间:2023-10-18
- 格式:PPT
- 页数:84
- 大小:1.82MB
嵌入式系统培训.ppt
《嵌入式系统培训.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统培训.ppt(84页珍藏版)》请在冰点文库上搜索。
嵌入式操作系统基于OURS-2410RP开发箱,徐唐基,课程安排,理论部分嵌入式系统背景知识OURS-2410RP试验箱资源WindowsCE简介WindowsCE开发环境PlatformBuilder开发工具EmbeddedVisualC开发工具WindowsCE驱动程序设计&应用程序开发LINUX简介LINUX开发环境GUNtoolchainLINUX内核移植裁剪LINUX驱动&应用程序开发,课程安排,实验部分OURS-2410RP试验箱配套实验,嵌入式系统背景知识,嵌入式系统产品,概念,组成,嵌入式系统产品,对于嵌入式产品,相信大家并不陌生。
小到电子体温计,大到飞机的自动导航系统都属于嵌入式系统。
身边的嵌入式产品:
手机电子词典可视电话数字相机机顶盒高清电视汽车电子,嵌入式系统,什么是嵌入式系统?
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
典型的嵌入式系统组成,嵌入式系统,交叉开发环境编辑及编译环境主机开发环境“host”端在Host端编辑并编译,但不执行下载并运行环境目标板“target”端编译完的程序实际运行的载体,PXA270RP开发箱,Ours-2410rp开发箱简介,Ours-2410RP型开发箱,OURS-2410RP型开发箱硬件结构,OURS-2410RP型开发箱硬件资源,S3C2410RP是一款基于三星S3C2410X16/32位RISC处理器(ARM920T)的为满足嵌入式专业教学的新要求而设计研发的新一代嵌入式实验基础平台。
该款实验平台是一款集教学实验、课程设计、本科毕业设计、研究生课题研究与企业产品开发于一体的综合平台。
这款设备主要包括核心板与底板两个部分,核心板采用6层PCB板设计、底板采用4层PCB板设计,核心处理器是基于目前行业内主流使用的SAMSUNGARM9S3C2410处理器,主频202MHz,配套的存储器,网卡等设备;底板主要是各种类型的接口与扩展口核心板(6层PCB电路)系统包括:
CPU:
SAMSUNGS3C2410处理器(202MHz)SDRAM:
64MFLASH:
8MInterNorFlashNET:
10/100MEthernetcontroller(DM9000)总线驱动器:
若干电源稳压器LDO:
2个音频控制芯片UDA1341:
1个双排插座2.0X80Pin:
2个4个发光二极管,底板(4层PCB电路)包括:
接口部分:
Ethernet:
100M网口1个UART:
3个USB1.1:
3个(2个Host接口、1个Device接口)并口:
1个SD/MMC:
1个SMC:
1个JTAG接口:
1个(MULTI-ICE兼容)96PIN功能扩展口:
2个4X5矩阵小键盘:
1个CAN:
1个显示部分:
LCDSHARPLQ043T3DX024.3寸真彩TFT液晶屏480X272:
1个VGA接口:
支持640X480分辨率LED8X8点阵8段数码管:
4个,硬件资源,硬件资源,AIDIO部分:
AC97耳机接口:
1个麦克风:
1个其它部分:
STN触摸屏:
1个EEPROM:
1个温度传感器:
1个电位器:
1个继电器:
1个DIP开关:
1个外部中断按键:
1个蜂鸣器:
1个拨码开关:
9个LEDDIODE:
若干,启动方式,本实验箱支持两种启动方式,分别是:
从核心板上IntelStrataFlash8M-byte直接启动从底板上外插的SMC卡即NANDflash64M-byte直接启动,使用SPI总线接口,外接控制芯片ZLG7289分别控制键盘和4个8段数码管。
VIDEO扩展接口,通过专用视频编码芯片CH7004输出如下形式的视频信号;VGA信号,可以直接连接显示器。
IIS音频扩展接口,通过音频扩展芯片支持耳机音频输出。
S3C2410CPU内置IIC总线控制器,为了方便用户测试IIC总线读写,板载四个IIC设备,分别是:
IIC接口的EEPROM24C16,为16K-bit的串行EEPROM,方便用户存储一些小容量的数据,掉电不丢失;IIC接口温度传感器;IIC接口D/A转换;IIC接口VGA视频编码芯片CH7004。
ADC接口,S3C2410CPU芯片内部集成8通道10bitADC,板载输入有:
电位器调节的电压输入;温度传感器输入;D/A输出引脚经隔离后的输入,常用嵌入式系统,主流的嵌入式操作系统,界面漂亮的WindowsCE开源的嵌入式Linux最佳学习型的ucos开源小巧的Ecos系统无处不在、稳定异常的VxWorks手机之王Symbian手持之王PalmOS女娲计划的HopenOS,WindowsCE操作系统,WindowsCE凭借其与Windows一致的人机界面,逐步占领了嵌入式操作系统的市场。
WindowsCE背景,1996年,微软发布了WindowsCE1.0,它的外观很像Windows95,这样做的最大益处是用户看到的是一个熟悉的界面,很容易接受它。
随后有几款使用WindowsCE1.0系统的产品在市场上出现,称为HandheldPC。
WindowsCE是一个全新开发的操作系统,只需要500K的RAM就可以把系统全部装下,最新版的WindowsCE内核只需200K的运行空间。
WindowsCE是模块化的,OEM厂家可以加入自己所需要的任何模块,或者除去不需要的。
因此,一个应用程序的故障不会引起整个系统失效。
WindowsEmbeddedCE6.0,在早期版本的WindowsCE中,微软公司都是沿用WindowsCE+版本号的方式来命名,而到了6.0版本,微软公司却将名称定为WindowsEmbeddedCE6.0最新的WindowsEmbeddedCE6.0是VisualStudio.NET的一个插件,当你安装上这个插件后,就可以从事相关的开发。
在WindowsCE以前的版本,定制一个WindowsCE需要使用PlatformBuilder,开发一个WindowsCE的应用程序需要使用EmbeddedVisualC+或者EmbeddedVisualBasic,而在CE6.0里,您只需要一个安装有PlatformBuilderforCE6.0插件的VisualStudio.NET2005便可以完成。
WindowsEmbeddedCE,WindowsCE特点,精简的模块化操作系统WindowsCE是高度模块化的嵌入式操作系统,用户可以根据特定的要求对操作系统进行定制,即WindowsCE是可裁剪的。
多硬件平台支持WindowsCE支持在多种不同的CPU硬件平台上运行,包括x86,ARM,MIPS等嵌入式领域主流的CPU结构。
支持有线和无线的网络连接稳健的实时性支持WindowsCE是一个实时操作系统。
丰富的多媒体和多语言支持强大的开发工具与其他嵌入式操作系统相比,WindowsCE为开发人员提供了友好的开发工具支持,包括PlatformBuilder、eMbeddedVisualC+和模拟器。
WindowsCE应用领域,1、PDA市场目前,在PDA市场中,已基本形成了微软与Palm对垒的格局。
Palm阵营的产品致命的弱点是系统开放性差、应用程序有限、功能延展空间小;而微软阵营的产品因WindowsCE操作系统开放性好、应用程序开发商多、功能强大等优点后来居上。
2、新一代手机操作系统2002年微软推出了Smartphone2002,这是微软开发的新一代手机操作系统平台。
这一智能电话解决方案把平台整合提升到一个新的层次,为手机用户提供了语音、数据及多媒体功能。
目前,采用Smartphone2002新一代手机操作系统平台的厂家逐渐增多,这些厂家基本上都是无线手机市场的后来者,他们正在和微软一起向传统手机的阵营发起挑战。
3、工业控制WindowsCE是工业控制领域的一种典型手段。
它是把产品置于可靠软件和可靠硬件上的一个有效办法。
WindowsCE为设计单位、制造厂家和客户带来了收益,降低了产品生产周期中各个阶段的成本,并且缩短了自定义解决方案所需的市场投放时间。
WinCE5.0与WinCE6.0区别,WindowsEmbeddedCE6.0相对于WindowsCE5.0有很大改进。
下面,让我们来看看WindowsEmbeddedCE6.0相对于WindowsCE5.0的一些改进。
1同时运行进程数上升到32000个。
在WindowsCE5.0及其以前版本的WindowsCE嵌入式操作系统里,能同时运行的进程数仅为32个,这其中还包括系统进程,也就是说,除去的NK.exe(提供系统服务)、Filesys.exe(提供对象存储等服务)这两个必需的系统进程,还有Gwes.exe(提供图形界面GUI支持)、Device.exe(提供加载和管理设备驱动服务)、Service.exe(提供服务管理服务)、Explorer.exe(提供窗口管理服务)这几个比较常用的进程外,系统可用的进程数目只有26个,也就是说,最多能够同时加载26个非系统进程,虽然对于大多数嵌入式设备来说已经够用,但是,并不代表所有的情况下都够用,尤其是在网络和分布式计算环境下,这就更显得捉襟见肘了。
但在WindowsEmbeddedCE6.0里,32000个进程让你几乎不用考虑进程数的限制问题。
WinCE5.0与WinCE6.0区别,2每个进程拥有2GB的虚拟内存。
WindowsCE是一个保护模式的嵌入式操作系统。
因此程序对内存的访问只能通过虚拟地址实现。
另外我们知道WindowsCE是一个32位的嵌入式操作系统,所以它就有了2的32次方(4GB)的虚拟空间地址,这又被分为两部分,其中一半是内核空间,另外一半是用户空间,在WindowsCE5.0中,用户空间又被分为64份(每份32MB),每一份叫一个Slot,每个进程只能有一个Slot,即每个进程只能有32MB的虚拟内存。
在WindowsEmbeddedCE6.0中采用了新的储存机制,使得每个进程可以使用最大2GB的虚拟内存。
也正是这个原因,才有下面这个改进。
3移除了共享内存空间。
在以前版本的WindowsCE中进程有32MB虚拟内存的限制,为了解决这一问题,提出了共享内存空间(SharedMemoryArea)这一概念,即定义了一个共享内存空间,在这一区域所有进程都可以进行共享,这一区域大约有350MB。
但在WindowsEmbeddedCE6.0中每个进程2GB的虚拟内存空间使得这一区域完全没有必要存在,所以在WindowsEmbeddedCE6.0中移除了这个“区域”。
WinCE5.0与WinCE6.0区别,4开发工具也有大变化。
一直以来WindowsCE的平台订制工具都是PlatformBuilder,伴随着WindowsCE版本的演进,PlatformBuilder也发展到了5.0版,但在WindowsEmbeddedCE6.0中,PlatformBuilder已经不是一个单独发行的工具,在WindowsCE6.0的程序菜单里,已经没有PlatformBuilder的启动菜单,如图3-3所示,PlatformBuilderforCE6.0是VisualStudio.NET2005的一个插件。
而且如果是进行WindowsEmbeddedCE6.0的开发,微软公司会为您免费提供VisualStudio.NET2005ProfessionalEdition。
5内核态与用户态意义的转变。
在新的系统中的这两个概念已经与以前版本的WindowsCE中有所不同,很多WindowsCE5.0中处于用户态的进程和模块被调到了WindowsEmbeddedCE6.0的内核态,在第3.2节中将会对这一变化进行更详细的介绍。
6提供了对VoIP支持。
WindowsCE5.0及其早期版本使用TUI(TelephoneUserInterface)来管理与话音通信有关的服务,而在WindowsEmbeddedCE6.0中使用IPPhoneSuit来加入了对VoIP的支持,使得ISVs(IndependentSoftwareVendor,独立软件开发商)和OEMs(OriginalEquipmentManufacturer,原始设备制造商)能够在针对VoIP业务进行定制时具有更多的灵活性和更少的工作量。
WinCE5.0与WinCE6.0区别,7100%共享WindowsEmbeddedCE6.0内核源代码。
在WindowsCE3.0中,微软共享了其中400K行源代码。
在WindowsCE5.0中微软公司共享了其核心源代码的近70%,而到WindowsEmbeddedCE6.0这一百分比被提升到了100%,不过,用微软公司所使用的术语准确地讲应该是SharedSource,可以在下面的网址上找到微软的共享政策http:
/EmbeddedCE6.0与嵌入式Linux之间的开源是不同的概念,Linux的开源相对要彻底得多,不论是开发工具还是应用软件,基本都可以找到开源的产品或者替代品,但WindowsEmbeddedCE6.0只是开放了核心源代码,与之相关的开发工具和应用软件并不是免费和共享源代码的。
不过总体来讲,这仍然为广大OEMs和ISVs厂商选择WindowsEmbeddedCE6.0作为自己的嵌入式操作系统增加了一个理由。
8功能更强大的模拟器。
WindowsCE5.0时代的模拟器只能模拟X86框架的CPU,对于其他框架(如Scale等)并不能很好地再现实际环境,但WindowsEmbeddedCE6.0的模拟器解决了这一问题,当然,模拟器无论是启动速度还是资源占用情况都有一定的上升,推荐运行模拟器的开发机最好能有1GB的物理内存。
WindowsEmbeddedCE6.0新功能部分,WindowsEmbeddedCE的体系结构,基于WindowsCE的嵌入式系统开发流程,基于WindowsCE的嵌入式系统开发,1、硬件设计首先,要确定系统所运行的硬件平台。
与通用PC的硬件设计不同,由于嵌入式系统通常都是专用的系统,对于硬件设计强调的是“够用”而不是“功能强大”,以降低成本。
2、让WindowsCE运行起来硬件设计后,下一步是让WindowsCE运行起来。
这须拥有针对这块硬件板的板级支持包(BSP)。
BSP是操作系统与硬件板卡之间的重要交互接口。
3、定制操作系统操作系统定制过程是通过PlatformBuilder工具完成的。
使用PlatformBuilder,可根据具体的应用需求,选择需要的操作系统功能组件,然后生成操作系统的运行时映像。
4、应用程序开发当硬件和操作系统都具备后,剩下的就是为平台开发一些必要的应用程序。
这与Windows下的应用程序开发没有太大的区别。
WindowsCE开发工具,PlatformBuilder开发工具,微软的PlatformBuilder5.0是一个定制的基于WindowsCE操作系统的嵌入式平台的集成开发环境(IDE)。
同时自带设计、创建、生成、测试并调试一个基于WindowsCE平台所必须的开发工具,提供了一个单独集成工作区,在工作区内可以对平台和工程进行开发。
PlatformBuilder包括的开发工具:
新建平台向导:
帮助创建一个新的平台。
BSP向导:
帮助更简单有效创建一个板级支持包(BSP)。
导出SDK向导:
导出一个定制的软件开发工具包(SDK)。
远程工具:
执行在WindowsCE目标设备上的各种调试和信息收集任务。
仿真器:
通过模拟硬件加速并简化了开发工作,允许用户在开发工作区上测试平台和应用程序。
PlatformBuilder开发界面,特性目录窗口:
操作系统可选特性的一个集合,包括BSP、CoreOS、设备驱动程序工作区窗口:
开发人员已经选定的特性的列表,WindowsCE系统内核,完整的WindowsCE操作系统镜像是基于固定的硬件平台来运行的,所以一个WindowsCE操作系统镜像的基本内容如下:
定制WindowsCE操作系统流程,1、得到并安装BSPPlatformBuilder自带从硬件OEM厂商处获得自主研发2、定制操作系统根据具体的应用需要,选择合适的OS组件,并且构建运行时映像。
3、下载到开发板上运行调试得到并安装BootLoader;配置网络连接;配置调试串口(可选);配置PlatformBuilder连接设置;下载运行映像。
4、发布操作系统把Flash版的WindowsCE映像烧写到开发板的FlashROM中。
WindowsCE内核基本配置结构,1、Availableconfigurations(可用配置)在这个选项下的列表框中,有多个WindowsCE已经设定的基本配置结构供选择,如果设计人员设计的产品与列表中保存的基本配置一样,那么只要直接选择就可以完成基本的设定,节省了很多时间。
列表框中基本配置内容如下:
DigitalMediaReceiver(数字媒体接收机)EnterpriseTerminal(企业终端)IndustrialController(工业控制设备)InternetAppliance(Internet应用系统)IPPhone(IP电话)MobileHandheld(移动手持设备)MobilePhone(移动电话)Set-TopBox(机顶盒)2、Customconfiguration(自定义配置)自定义配置指不选择基本配置,完全由用户来完成配置工作。
WindowsCE内核定制,添加其他组件:
USB鼠标键盘驱动(USBHIDKeyboardandMouse)在实验箱上可以使用USB鼠标键盘微软拼音输入法(DoubleSpellingsoftkeyboard-Small)微软字库(1.1MB-MinimalDatabase)在实验箱上可以使用微软拼音输入第三方组件USB设备驱动(Samsung2410CSP)串口驱动(DeviceDrivers-USBFunctionClients-Serial)利用USB建立宿主机与实验箱的连接SD卡驱动(SDIO-SDMemory/SDIOHost-Samsung2410SDIOHost)在实验箱上可以读写SD卡,WindowsCE目录组织,WINCE500,Public,Private,Platform,Others,SDK,PBWorkSpaces,涵盖了构建工具、代码及库等很多信息。
存放WindowsCE操作系统私有的源代码,WindowsCE的核心模块代码都在此目录下。
存放所有的BSP。
包含WindowsCE中一些模块的二进制库文件和代码。
存放了构建系统用到的编译器及其他一些辅助工具。
PlatformBuilder工具默认的项目目录。
WindowsCE开发工具,eMbeddedVisualC开发工具,eMbeddedVisualC是WindowsCE所包含的强有力的应用程序开发工具。
利用eMbeddedVisualC+,程序员将在友好的环境下开发基于WindowsCE的应用程序,并能访问详细的平台软件开发工具包文档。
eMbeddedVisualC+开发工具,与MicrosoftVisualC相似的开发环境,不同的是eMbeddedVisualC提供了特定的工具与资源来开发WindowsCE应用程序。
与MicrosoftVisualC不同之处有:
随EVC安装附带的SDK内容非常少,远远不够软件使用,必须安装WindowsCE才能得到全部的SDK。
随VC附带的SDK则包含全部内容。
EVC编译器支持多种嵌入式CPU,支持多种指令集。
VC只支持X86指令集。
为了能在开发机上调试,EVC包含一个模拟器,而VC不具备,也不需要。
EVC包含远程调试工具,用于调试在实际设备上运行的程序,而VC只包含本地调试工具。
应用程序开发流程,在WindowsCE下开发应用程序大致可分为3个步骤:
安装合适的SDK;编写代码和调试;发布应用程序。
驱动程序、应用程序流程,WindowsCE系统支持四种驱动模型:
本地驱动、流驱动、USB、NDIS,分别对应相关类型的硬件设备。
本系统实验主要属于流接口驱动。
图流接口驱动程序与操作系统和硬件的关系,应用程序使用WindowsCE操作系统的文件API来和流接口驱动通信。
驱动程序、应用程序流程,流接口驱动程序实质上是一个导出了特定函数的动态连接库(DLL)文件,当应用程序打开或读写设备时操作系统内核会调用相关的导出函数来实现相关的功能。
流接口驱动工作原理,在流驱动工作原理中需要包括几个重要的工作实体:
硬件、流接口驱动驱动程序、系统注册表、设备管理器、应用程序。
流驱动的工作顺序如下:
1)加载驱动。
在当系统启动时,设备管理器搜寻注册表的HKEY_LOCAL_MACHINEDriverBuiltIn键下面的子键,并逐一加载子键下的每个驱动,此过程叫BusEnum。
2)设备管理器从注册表的dll键值中获取驱动程序所在的DLL文件名。
3)设备管理器调用LoadDriver()函数把DLL加载到自己的虚拟地址空间内。
4)设备管理器在注册表的HKEY_LOCAL_MACHINEDriverActive下面,记录所有已经加载的驱动程序2。
5)设备管理器调用驱动中的XXX_Init()函数。
6)在XXX_Init()中,通常对硬件进行一些基本的初始化操作。
通过以上6步,流接口驱动被成功加载。
7)应用程序使用该设备。
首先它调用CreateFile()打开设备。
CreateFile()是在FileSys.exe中实现的。
但是FileSys.exe只作简单判断,如果发现打开的设备驱动程序而不是一个文件,那么就重新把主动权交还给设备管理器。
流接口驱动工作原理,8)设备管理器调用驱动程序中的XXX_Open()函数打开设备。
在XXX_Open()中,驱动程序可能会对硬件进行一些额外的初始化工作,使硬件进入工作状态。
9)XXX_Open()函数把打开设备的结果返回给设备管理器。
10)设备管理器把XXX_Open()返回的结果,再返回给应用程序的CreateFile()函数调用。
通过7-10步,设备已被成功打开,至此就可以对设备进行读写和控制操作。
11)应用程序使用第7步CreateFile()函数返回的句柄作为ReadFile()/WriteFile()的第一个参数,向设备发送读请求。
同样ReadFile()/WriteFile()要经过FileSys.exe转发给设备管理器。
12)设备管理器调用驱动程序中的XXX_Read()/XXX_Write()函数,读取设备的数据信息或向设备写信息。
13)在流驱动程序中,XXX_Read()/XXX_Write()函数可与硬件交互,从硬件中读取必要的信息或向硬件写必要的信息。
然后返回给设备管理器,再返回给应用程序。
当应用程序不再使用该设备时,它可调用CloseHandle()将设备关闭。
当系统不再使用设备时,应用程序可调用DeactivateDevice()函数把该驱动程序卸载。
WindowsCE开发环境的搭建,通过前面介绍可知,在进行后续实验演示前,首先需要搭建开发环境。
2.安装PlatformBuilder开发工具,3.安装开发板支持包,1.安装.NETFramework1.1,开发环境,构造基于WindowsCE操作系统的嵌入式平台辅助开发一个特定硬件平台的WindowsCE操作系统和基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 培训
![提示](https://static.bingdoc.com/images/bang_tan.gif)