当前位置:首页 > 芯闻号 > 行业热点快阅
[导读]为增进大家对嵌入式系统的认识,本文将对一种嵌入式系统U盘实时启动技术予以介绍。

嵌入式系统由软件和硬件组成的,可以说,嵌入式系统是以应用为中心的。那么,围绕着嵌入式系统,自然会有很多软硬件应用得到配套发展。为增进大家对嵌入式系统的认识,本文将对一种嵌入式系统U盘实时启动技术予以介绍。如果你对嵌入式系统具有兴趣,不妨继续往下阅读哦。

一、引 言

虽然这本文涉及的硬件是多年前的,但是本文旨在为大家提供一种思路。

随着USB技术的发展,优盘在PC机系统上已得到广泛的应用,基本上取代了软盘,PC机系统可以实现从优盘启动。由于优盘性能稳定,体积小巧,访问速度快,因此它也非常适合作为嵌入式实时系统的存储设备。这为嵌入式实时系统的启动提供了一种崭新的思路,即从优盘启动。这种方法对嵌入式实时系统板上的程序存储空间要求不高,只要在Flash中存储嵌入式实时系统的Bootrom程序即可,将系统的映像文件放在优盘上,实现实时操作系统从优盘加载。

目前基于VxWorks设计的嵌入式实时系统应用非常广泛。嵌入式实时系统的启动方式多种多样,WindRiver公司提供的参考BSP(Board support Package)包中就提供了几种启动方法。另外在参考文献[2]中,作者也提出了几种基于VxWorks的嵌入式系统的启动方法。这些方法可根据具体的应用需求,适当选取。笔者在开发CableModem时也都曾实现过这些方法。这些方法存在的共同问题是:虽然能更新板载程序存储器中的映像文件,但由于程序存储器一旦设计后就无法再扩展其存储空间;而在实际应用中,由于嵌入式系统功能的增强,系统映像文件的体积会不断增大,会出现超过目标板的程序存储空间的问题,从而使得新的映像文件无法烧录到目标板中。

嵌入式实时系统从优盘启动的显著优点主要表现在:更新系统映象文件方便(替换优盘中的影像文件即可,无需重新烧录);启动快速(USB接口传输速度快),可适用于多种实时操作系统(保存在优盘中的映像文件也可以是使用其他嵌入式实时操作系统,如PSOS、Nuclues等开发生成的);对系统的Flash存储容量要求小(Flash中主要存储Bootrom程序,而系统映像文件保存在优盘中)。

本文给出了实现嵌入式实时系统优盘启动的嵌入式主机硬件结构、软件协议栈以及主要程序流程,探讨了实现嵌入式实时系统从优盘启动的可行性。

二、嵌入式USB主控制器的硬件结构及驱动

嵌入式系统是软硬件紧密结合的系统。要实现从优盘启动,硬件上必须在嵌入式微处理器外围添加USBHOST主控制器;在软件上必须设计主控制器驱动程序 (HCD)、USB驱动程序、USB Client驱动程序以及应用程序。

2.1 嵌入式USB主机硬件结构

嵌入式USB主机硬件结构比较简单,只是在嵌入式微处理器外部加上USB主控芯片即可。在本项目中,嵌入式微处理器采用的是Motorola公司的MPC860T,USB主控制芯片采用的是SL811HS芯片。SL81lHS芯片是Cypress公司生产的、可支持全速数据传输的USB控制芯片,芯片内含USB主,主/从控制器,支持全速(full speed)/低速(low speed)数据传输,并能自动识别全速或低速设备。SL811HS所提供的接口遵从USBl.1标准。关于SL811HS更详细的使用方法请见参考文献[3]。使用SL811HS作为嵌入式USB主机控制器的系统硬件结构如图1所示。

2.2 嵌入式USB主机上的软件结构

嵌入式主机要实现对其USB外设操作,必须有图2所示的3个软件结构层次:USB主控制器驱动器(HCD)、USB主驱动器(USBD)、USB没备驱动器。

在协议栈的最底部是USB主控制器USB HC(USBHost Controller),这是主系统中控制每一个USB设备的硬件部分。口前主要有两大类USB主控制器:一种是通用主控制器接口UHCI(Universal Host Controller Inter-face),另一种是开放主控制器接口OHCI(Open HostController Interface)。硬件厂商一般根据这两个规范设计USB主控制器。对于每一类型的主控制器都有一个与硬件独立的USB主控制器驱动器HCD(Host ControllerDriver)。WindRiver公司提供了两类驱动:usbHedUhciLib(UHCl主控制器库)和usbHcdOhciLib(OHCI主控制器库)。

USB主驱动器USBD(USB host Driver)和HCD之间的接口允许一个或超过一个的底层主控制器,而且WindRiver公司的USBD能够同时连接多个USB HCD。这样的设计特点可以使开发者建立复杂的USB系统。USBD是在HCD之上的与硬件独立的模块。USBD管理每一个与主机相连的USBD设备,向更高层次提供了可与USBD设备通信的路径。它还负责自动处理USBD电力管理以及USBD带宽管理;而且,USBD还管理USBHub。Hub能否正确工作,是对USBD进行评价的标准之一,因此WindRiver公司的USBD设计者要使USBD透明地实现Huh的功能。这意味着USBD还能处理USBHub和设备的动态插拔。

USB客户模块在USBD主驱动协议栈的顶端。USB类驱动(USB Class Driver)是Client模块的典型例子。USBD类驱动负责管理连接到USBD上的不同类型的设备,它们依靠USBD提供与每个设备的通信路径。USBClient模块的其他例子就是那些利用USBD与USB设备通信的应用程序。

三、嵌入式实时系统优盘启动软件程序设计

为实现对优盘的操作,在基于VxWorks设计的嵌入式实时系统中,需要设计的程序包括:USB主控制器驱动器、USBD主驱动器、USB块存储设备驱动程序、文件系统的安装以及应用程序通过文件系统读写优盘设备程序等,如图3所示。故要实现从优盘启动,需要在bootConfig..c文件中的usrRoot函数巾添加4个函数。

(1)初始化USB主控制器的函数

初始化HCD(USB Host Controler Driver)函数,即初始化SL81lHS并将其连接到指定总线上:LOCAL int fn-cAttach(pHRB_ATTACH pHrb)。

该函数词用SL811Init()初始化SL811控制芯片。执行函数taskSpawn("tSl81lint",0,0,0x4000,(FUNCPTR)intThread,(int)pHost,0,0,0,0,0,0。0,0,O),创建intThread任务对发生的中断作出处理。

这里的intTbaead调用OSS_SEM_TAKE(pHost->in-tPendi

ng,interval)阻塞,与中断服务程序intHandle同步。

调用函数processSl811hInterrupt()处理硬件中断,读取中断状态寄存器判断中断类型。

调用UHC_INT_CONNECT(pHost,intHandler,pHost,&s)函数连接SL811主控制器芯片中断。UHC_INT_CONNECT是一个宏定义。

函数intHandler完成对中断的处理,调用函数OSS_SEM_GIVE(pHost->imPending),释放用于中断和任务之间同步的二进制信号量。

以上便是此次小编带来的“嵌入式系统”相关内容,通过本文,希望大家对嵌入式系统USB实时启动技术具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

换一批

延伸阅读

[行业热点快阅] 你知道机械式计数器吗?机械式计数器结构介绍

你知道机械式计数器吗?机械式计数器结构介绍

计数器是生活中常遇见的器件之一,比如在跳绳里面具备的跳绳个数的计数器等。那么,为增进大家对计数器的认识,本文将对机械式计数器的基本内容,以及机械式计数器的结构予以介绍。如果你对计数器具有兴趣,不妨继续往下阅读哦。 一、机械...

关键字: 机械式计数器 计数器 指数

[行业热点快阅] 电子计数器如何使用?电子计数器有何功能?

电子计数器如何使用?电子计数器有何功能?

计数器是生活中的常见器件之一了,对于计数器,大多数朋友都有所了解,比如说手机、手环里的步数计数器等。为增进大家对计数器的认识,本文将对电子计数器的使用以及电子计数器的功能予以介绍。如果你对计数器具有兴趣,不妨继续往下阅读哦。...

关键字: 电子计数器 计数器 指数

[行业热点快阅] 计数器大牛带你看计数器,超详细!!!

计数器大牛带你看计数器,超详细!!!

计数器是重要的电子器件、设备之一,所以我们有必要对计数器有所认识。在这篇文章中,小编将对计数器、计数器的作用、计数器的种类以及计数器的应用予以介绍。如果你对计数器相关内容具有兴趣,不妨继续往下阅读哦。 一、什么是计数器...

关键字: 同步计数器 计数器 指数

[行业热点快阅] 干式变压器有何优缺点?干式变压器的应用+保护方式介绍

干式变压器有何优缺点?干式变压器的应用+保护方式介绍

干式变压器具备很强的应用意义,为增进大家对干式变压器的认识,本文将基于三点介绍干式变压器:1.干式变压器的优缺点,2.干式变压器的应用领域,3.干式变压器的保护方式。如果你对干式变压器具有兴趣,不妨继续往下阅读哦。 一、干...

关键字: 优缺点 干式变压器 指数

[行业热点快阅] 你了解干式变压器的冷却结构吗?干式变压器如何冷却?

你了解干式变压器的冷却结构吗?干式变压器如何冷却?

干式变压器在工业中具有很多的应用场景,对于干式变压器,我们有必要对它有所认识。为增进大家对干式变压器的了解程度,本文将基于两点介绍干式变压器:1.干式变压器的冷却结构,2.干式变压器的冷却方式介绍。如果你对干式变压器具有兴趣,不妨继续往...

关键字: 干式变压器 冷却结构 指数

行业热点快阅

898 篇文章

关注

发布文章

技术子站

关闭