注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

易拉罐的博客

心静自然凉

 
 
 

日志

 
 

转 嵌入式系统的软硬件  

2011-01-26 22:14:39|  分类: 嵌入式系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

首先来说下硬件,书中说,包含有处理器,控制器,外设和总线四个部分。这是一种比较笼统的说法,如果要更笼统点来说,应该是包含处理器,总线,外设三个部分。因为诸如存储器,控制器,接口等都可以被归纳成外设。通常来说,嵌入式系统的广义上的外设可以分为下面几类:
    1。系统类:电源模块,振荡器模块。
    2。存储类:Cache,TCM,ROM,EPROM,EEPROM,SRAM,DRAM,SDRAM,Nor Flash,Nand Flash。(Cache是否为外设有待讨论。软盘,硬盘和光驱类的,应用比较少,在此不列出。)
    3。定时类:Timer,Watch Dog。
    4。中断类:VIC或者通用的中断控制器。
    5。接口类:I2C,SPI,UART,SDIO,PWM。
    6。多媒体接口类:I2S,ITU601,Lcd(Sys,RGB)。(区别于常用接口,单独列出。)
    7。功能模块类:蓝牙,Wifi,FM,GPS,电视模块等。这类外设和一些其他的专门模块,因为通常用接口类外设去控制,所以在此不赘述了。
    文中在描述存储器的时候,简单描述了存储器的性价比和系统设计时的关系。笔者描述下现在比较通用的存储器使用结构。现今在嵌入式平台上经常使用的存储器有ROM,SRAM,SDRAM,Nor Flash,Nand Flash。ROM用来存储程序,但是由于现在很多平台要求程序的可Update,所以很多平台在ROM中存放一小段Boot代码,而把大部分代码放置在Flash上。但是Flash由于读写方式和速度的关系,并不能满足代码的运行需求,因此大部分系统都在自身划分出一段SRAM空间,用来Load代码,然后在SRAM上运行。由此又产生了一个问题,SRAM的容量有限,通常只有几十K到上百K,相对于代码来说小了些,为了不浪费SRAM,又产生了Overlay技术,就是将程序划分成模块,运行的时候,只需要Load相应的模块,不用Load所有模块的代码,这样既可以高速的运行,又可以节省SRAM的空间。SRAM的另外一部分就用来存放数据,但是仅仅几十K的空间,并不能满足很多系统的需要,为此,SDRAM这种容量很大但是价格便宜的存储器就很适合充当SRAM的补充。不过SDRAM有其固有的缺点,需要定时刷新,读写慢,所以比较适合大容量的数据Buffer,而不适用于运算过程。
    上面这段已经涉及到了一些嵌入式系统软件的结构,下面就接着讨论本章中描述的嵌入式系统的软件。本章中对嵌入式软件的讨论主要是从操作系统的角度讨论的,主要包括初始化程序(引导程序),操作系统,设备驱动和应用程序几部分。但是现存的嵌入式软件通常分为两种,一种就是本章所描述的操作系统类型的,第二种就是通常所说的无系统架构(也可以称为前后台系统)。第一种通常应用在资源丰富,功能较多的系统上,而第二种相反,这种应用和这两种架构的特点密不可分。带有操作系统的的架构,程序设计模块化比较容易,相对来说方便多人共同协作完成,但是由于Task的栈分离,以及操作系统的本身代码和RAM需求等,对资源的要求较多。相反,前后台系统,就没有这些缺点,但是前后台系统调度不容易,如果想让功能穿插运行,对拆分代码的要求很好,而且会因为设计调度,浪费很多时间。所以这两种架构各有优缺点,具体该用哪种架构,要看具体的场合和具体的要求了。

http://blog.csdn.net/masxcy/archive/2010/03/30/5434639.aspx

  评论这张
 
阅读(189)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017