浴帽厂家
免费服务热线

Free service

hotline

010-00000000
浴帽厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

嵌入式微处理器的嵌入式操作系统-【新闻】验布机

发布时间:2021-04-20 12:03:55 阅读: 来源:浴帽厂家

嵌入式微处理器的嵌入式操作系统

序言

在过去的两年中,随着嵌入式设备的发展改进,Linux操作系统受到了越来越多的青睐,尤其是用于消费产品、电讯路由器和交换机、网络产品、工业和汽车等应用。

最近,一些大的消费电子公司达成协作,建立消费者电子Linux论坛,以进一步开发家庭数字电子设备的Linux平台。CELF的发起者将重点放在Linux的改进上,使之成为消费电子设备的开放源代码平台。同样,他们对开放源代码协会的精神也给予了积极的支持和发扬 。

嵌入式Linux的优点在于它的版权免费、源码开放、结构紧凑,这为日益增长的应用软件基础提供了坚实的后盾。Linux是一个全功能的操作系统,支持各种网络和文件处理协议,这对嵌入式系统来说是很重要的,因为它必须在任何时间任何地点进行计算。Linux采用模块化结构,通过去除嵌入式系统中不必要的实用程序、工具和其它系统服务,它可以很方便地实现结构精简。在嵌入式设备市场中,采用Linux的公司可以更迅速地将产品推向市场,更快地增强产品的可靠性。对开发者来说,AD的Blackfin?处理器和uClinux的结合也许很有吸引力。Blackfin?处理器集合了DSP的计算能力和微控制器的功能,满足了数字音频、视频和通信方面的应用需求。

我们在单块芯片上结合一流的DSP内核和传统微控制器的体系结构,避免了其它传统复合处理器系统的限制性、复杂性和高成本的问题。在已有的外部设备的基础上,所有Blackfin处理器家族提供双通道串行接口---每个串行接口支持4个立体声I2S通道,数据速率达222 MBits/s。而且Blackfin处理器家族的最新成员 提供并行外部接口,实现TFT平板显示器和视频转换器的无缝连接,或者作为AD/DA转换器的并行接口,速率达65MSPS。

其它封装也是可选的

所有的Blackfin处理器都艺术地将最先进的信号处理引擎和清晰正交的类RISC微处理器指令集以及支持SIMD单指令多数据的多媒体功能复合成一套单指令集的结构,称之为微信号结构。该内核是调整的双-MAC Harvard 结构,这种结构旨在实现音频和视频算法的非并行计算,以及实现操作系统中标准的程序流和常用的仲裁操作。

Blackfin 的ADSP-BF532/BF532/BF533处理器有两个大的片内存储器块,提供通往内核的高速通道。这些内存块可以适应处理器内核的最高速度。它们位于内核的旁边,称为L2存储器,可以配置为数据或指令静态处理器或高速缓冲存储器。当配置为高速缓存时,处理外部SDRAM的代码的速度非常接近内部存储器直接处理的速度。这个特征特别适用于uClinux内核的运行,因为它没办法被全部装入内部存储器。而且,当使用c语言编程时,可以通过使用高速缓存来最大优化外部存储器到内核之间的存取。

Blackfin处理器采用低电压,低功耗的设计,具备动态电源管理功能。完全满足目前的移动和电池供电需求,其它的处理器都无法做到这一点。Blackfin处理器配有多重的、高度灵活和独立的直接存取控制器,用来支持自动数据传输,并使处理器内核受到的间接影响达到最小。

DMA 的传输操作可以发生在ADSP-BF532/BF532/BF533处理器的内部存储器到与有DMA能力的外部设备之间。而且,DMA传输也能够在DMA外部设备和连接到外部存储器接口的外部设备之间进行。

Linux和uClinux的区别

由于Linux和UNIX相似,是多用户、多任务的操作系统,内核必须采取特殊的防范措施,以保证同一系统内来自不同用户的上千个操作正确安全地运行。UNIX的安全模型能够保护每个用户操作的自身环境和地址空间。每个用户操作都受到保护,防止被其它用户唤醒,而且,虚拟内存系统对现代CPU还有另外的要求,比如在个人处理内存中实现动态内存分配和随机内存区域规划。有一些设备,如Blackfin 处理器,没有提供全功能的MMU内存管理单元,因为开发者的应用程序并不使用操作系统,通常也不需要MMU,而且,Blackfin的弱MMU的处理器往往具有更高的效率,其价格也明显低于其它产品。

为使Linux与这些设备相适应,必须进行一些改动:

2. 没有实际的存储器保护

2. 没有交叉系统调用

3. 只有简单的内存分配

4. 其它一些较小的区别

存储器保护对大多数嵌入式系统来说不是很大的问题。Linux是一个很稳定的平台,尤其是在嵌入式系统中,软件崩溃的情况很少发生。第二点的问题要大一些。在为UNIX和Linux编写的软件中,开发者常常使用fork系统调用来实现并行处理,fork调用可以准确拷贝原始程序并同时予以执行。为了提高效率,它使用MMU将父程序映射到子程序,并只拷贝写入子程序的内存区。因此uClinux不能提供fork系统调用。它提供vfork,一种特殊版本的fork,在vfork程序中当子程序执行时父程序即会终止。

因此,使用fork系统的软件在使用uClinux支持的vfork或线程时必须重写,因为他们使用相同的内存空间,包括堆栈。就第三点来说,一般情况下支持uClinux的malloc系统不会有问题,但是,有些时候必须进行小的调整。大部分适用于UNIX和uClinux的软件(可在

煤炭

风能

酒店