一种片外Flash存储器IAP的方案
作者:佚名 来源:本站整理 发布时间:2012-04-12-23:34:37
引言
以ARM芯片为处理器核的嵌入式利用系统,以其小体积、低功耗、低成本、高性能、丰富的片内资源以及对操作系统的广泛支撑,得到了人们越来越多的青睐。包含工业把持领域、无线通信领域、网络利用、消费电子、成像和安全产品等,如今,ARM微处理器及嵌入式技术的利用几乎已经渗透到了各个领域。其中,ARM7作为ARM微处理器系列中的一员,是低功耗的32位RISC处理器。
Samsung公司的S3C4510B、Philips公司的LPC20XX、LPC21XX、LPC22XX系列等都是ARM7处理器。这些为数繁多的ARM7处理器,因其片内外设不同而各擅所长,但都利用同样的ARM7TDMI核(或ARM7TDMI-S核,这是ARM7TDMI的综合版本,这两种核对处理器利用人员来说没有差别)。可以说,ARM7TDM I是目前利用最为广泛的32位嵌入式RISC处理器。
ARM7TDMI核利用冯 ·诺依曼结构,处理器利用的存储器中数据和程序指令不予区分,PC存放器指向的存储器单元,无论是ROM区还是RAM区,只要符合ARM指令的格式都可以履行,这就为系统自修正供给了可能。在利用编程 IAP (In ApplICation Program)就是这样的自修正程序。它先在RAM存储器中写入数据值,然后使PC指向该存储段,把该段作为程序段来履行。很多ARM7芯片自带IAP处理器,利用其自带的IAP处理器可以方便地对其片内集成的 FLASH 存储器进行在利用编程,但几乎所有的ARM核芯片均不支撑片外IAP处理,因为片外Flash存储器是用户选型的,芯片生产厂家无法先知先觉,而不同Flash存储器其编程时序也不尽雷同,导致芯片生产厂家无法供给通用的IAP代码。那么,如何对嵌入式系统的片外Flash存储器进行在利用编程呢?这里分两种情况:一是普通代码存放在片外单独1片Flash中,IAP代码在另一片Flash中完成,此时只要根据Flash的操作时序履行IAP代码,完成擦除或写入操作即可。这种情况虽然简略,但利用了2片Flash;而IAP代码很小,一般完整可以集成到1片中,所以这里对这种情况不予考虑,另一种情况是1片Flash中既要存储普通代码,又要实现IAP。下面以Philips公司的LPC2210和SILicon Storage Technology公司的SST39VF160为例,详细讨论这种情况IAP的解决方案。
1 硬件结构
1.1 LPC2210介绍
Philips公司的LPC2210是一款基于支撑实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S CPU的微把持器。芯片采用144脚封装,有16KB片内静态RAM,开放外部总线;通过外部存储器接口可将外部存储器配置成4组,每组的容量高达16Mb,数据宽度8/16/32位均可;具有多个32位定时器、8路10位PWM输出、多个串行接口(包含2个16C550工业标准UART、高速I2C接口和2个SPI接口)以及9个外部中断、多达76个可遭遇5V电压的通用I/O口,同时内嵌实时时钟和看门狗,片内外设功效丰富壮大;片内晶振频带领域1-30MHz,通过片内PLL可实现最大为60MHz的CPU工作频率,具有2种低功耗模式--空闲和掉电,通过外部中断将处理器从掉电模式中唤醒,并可通过个别使能/禁止外部功效来优化功耗。以上特点,使其特别实用于工业把持、医疗系统、访问把持和POS机,同时也非常合适于通信网关协议转换器、嵌入式软Modem,以及其他各种类型的利用。
以ARM芯片为处理器核的嵌入式利用系统,以其小体积、低功耗、低成本、高性能、丰富的片内资源以及对操作系统的广泛支撑,得到了人们越来越多的青睐。包含工业把持领域、无线通信领域、网络利用、消费电子、成像和安全产品等,如今,ARM微处理器及嵌入式技术的利用几乎已经渗透到了各个领域。其中,ARM7作为ARM微处理器系列中的一员,是低功耗的32位RISC处理器。
Samsung公司的S3C4510B、Philips公司的LPC20XX、LPC21XX、LPC22XX系列等都是ARM7处理器。这些为数繁多的ARM7处理器,因其片内外设不同而各擅所长,但都利用同样的ARM7TDMI核(或ARM7TDMI-S核,这是ARM7TDMI的综合版本,这两种核对处理器利用人员来说没有差别)。可以说,ARM7TDM I是目前利用最为广泛的32位嵌入式RISC处理器。
ARM7TDMI核利用冯 ·诺依曼结构,处理器利用的存储器中数据和程序指令不予区分,PC存放器指向的存储器单元,无论是ROM区还是RAM区,只要符合ARM指令的格式都可以履行,这就为系统自修正供给了可能。在利用编程 IAP (In ApplICation Program)就是这样的自修正程序。它先在RAM存储器中写入数据值,然后使PC指向该存储段,把该段作为程序段来履行。很多ARM7芯片自带IAP处理器,利用其自带的IAP处理器可以方便地对其片内集成的 FLASH 存储器进行在利用编程,但几乎所有的ARM核芯片均不支撑片外IAP处理,因为片外Flash存储器是用户选型的,芯片生产厂家无法先知先觉,而不同Flash存储器其编程时序也不尽雷同,导致芯片生产厂家无法供给通用的IAP代码。那么,如何对嵌入式系统的片外Flash存储器进行在利用编程呢?这里分两种情况:一是普通代码存放在片外单独1片Flash中,IAP代码在另一片Flash中完成,此时只要根据Flash的操作时序履行IAP代码,完成擦除或写入操作即可。这种情况虽然简略,但利用了2片Flash;而IAP代码很小,一般完整可以集成到1片中,所以这里对这种情况不予考虑,另一种情况是1片Flash中既要存储普通代码,又要实现IAP。下面以Philips公司的LPC2210和SILicon Storage Technology公司的SST39VF160为例,详细讨论这种情况IAP的解决方案。
1 硬件结构
1.1 LPC2210介绍
Philips公司的LPC2210是一款基于支撑实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S CPU的微把持器。芯片采用144脚封装,有16KB片内静态RAM,开放外部总线;通过外部存储器接口可将外部存储器配置成4组,每组的容量高达16Mb,数据宽度8/16/32位均可;具有多个32位定时器、8路10位PWM输出、多个串行接口(包含2个16C550工业标准UART、高速I2C接口和2个SPI接口)以及9个外部中断、多达76个可遭遇5V电压的通用I/O口,同时内嵌实时时钟和看门狗,片内外设功效丰富壮大;片内晶振频带领域1-30MHz,通过片内PLL可实现最大为60MHz的CPU工作频率,具有2种低功耗模式--空闲和掉电,通过外部中断将处理器从掉电模式中唤醒,并可通过个别使能/禁止外部功效来优化功耗。以上特点,使其特别实用于工业把持、医疗系统、访问把持和POS机,同时也非常合适于通信网关协议转换器、嵌入式软Modem,以及其他各种类型的利用。
- 1
- 2
- 3
- 下一页