首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2025年4月14日星期一
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
带8位CISC微控制器的系统内可编程闪存的建设
Programmable Flash With 8-Bit CISC Microprocessor System
■Mark Rootz, STMicroelectronics PSM 分公司

在新的嵌入式设计 中,有三分之一是采用8位CISC微控制器(MCU),嵌入式统计编程人员开始使用高级编程语言。闪存密度不断提高。所有这些趋势可以由一个设计方案关联起来:利用大容量闪存设计嵌入式MCU系统的解决方案。

用闪存替代PROM或EPROM的优点包括:开发代码的时间缩短;产品可以在组装线上完成测试和按需定制过程;可以现场纠正代码错误,不用拆除产品;增加产品新特性十分容易,甚至可以通过远程完成。


闪存有多大才够用


固件往往会超出系统最初设计的内存容量,产生这种现象有各种原因:固件所具有系统差异化特性;使用高级语言编写代码;采用OS内核;因此,64K字节闪存是今天嵌入式8位CSIC设计的最低配置需求,还需要把数据存储和记录功能所需的存储容量考虑在内。这些特性可以大幅度提升产品的可销售性。


系统内编程和应用中编程


一般情况下,系统内编程(ISP)应用于可编程逻辑以及可编程非易失性存储器(NVM)。但是,在本文中,我们将引用一个新的术语“应用中编程(IAP)”。当涉及到微控制器时,ISP和IAP之间存在着细微但重要的差别,内存ISP是指对内存进行编程时,MCU保持脱机状态,并且不涉及这一过程。而系统内IAP则是指MCU参加内存编程过程,这对更新固件过程中必须联机的系统来说很重要。在一般情况下,ISP适用于生产制造,而IAP则适合现场更新。


IAP并不是想象得那么简单


一个主机通过一个由MCU支持的信道,向嵌入式闪存系统下载固件,这个信道通常情况下是一个UART,但是由MCU支持的任何信道都可以提供这一功能(如CAN、调制解调器、USB、J1850等)。由于MCU参与IAP过程,因此,它必须执行由一个非可擦或非可编程的存储器阵列提供的代码。另外,MCU无法使用引导代码和闪存编程算法(IAP装入代码)。因此,必须使用一个备用存储器阵列来存储IAP装入代码。今天,AMD、Atmel、SST和ST等多家公司都能提供在单片上包含两个以上的独立并行闪存器件,而且,SST还提供了一带两个单板并行闪存的单芯片MCU。并行存储器特别适用于IAP应用。系统设计人员必须选择正确型号的备用存储器来存储IAP装入代码。每种备用存储器都有优点和缺陷,如表1所示,备用存储器可以位于MCU外部,也可以插件的形式装在MCU内。图1是一个带外存储器具有IAP功能的系统的顶视图。


其它问题


某些MCU(特别是8051)提供两个独立的地址空间,一个用于程序内存,另一个用于数据内存。因为,这些MCU不能在下载过程中向程序空间写入代码。今天,一些产品能够在IAP过程中,按数据空间而不是程序空间对闪存进行临时性的“重新分类”。SST开发的单片闪存MUC和ST推出的PSD都能提供这种功能,另一种方法是,通过外部合并,使闪存既能提供程序存储空间又能提供数据存储空间,但是这种方法丧失了独立空间产生的保护作用,并且整体地址空间也缩小了一倍。

8位CICS MCU通常提供的线性地址空间不足64K字节,要想超过64K,必须采用页面调度技术(或内存模块技术)。但当一个拥挤的内存印象图必须容纳临时IAP装入代码时,这项技术会变得十分复