关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 嵌入式系统快速重启的研究

嵌入式系统快速重启的研究

作者:时间:2010-12-21来源:网络收藏

本文论述了的启动过程,由于在每次重启的时候都要执行一次代码的拷贝过程,这样会浪费很多时间。对于我们来说,只要内存没有断电,里面就有我们的代码,而没有必要重新拷贝一次。本文就这一点,对于做了充分研究,在文章的最后给出了具体实现过程,其应用甚是广泛,有一定的应用价值。

前言

随着计算机技术的发展,工业技术也跟着迅猛发展起来了,而伴随着嵌入式的应用也很变得非常广泛。

ARM芯片为了保证指令运行的实时性,指令没有直接在FLASH里面运行,而是先把flash里面的数据拷贝到读取速度比较快的SDRAM里面,然后运行,这样就提高了运行速度。但是由于程序的固定性,在我们重新启动的时候,会再次拷贝代码。我们知道SDRAM是掉电不保存数据的,但是,如果 SDRAM没有掉电,里面的数据是不会丢失的。而我们重启的时候并没有给芯片断电,而这个时候系统又要重新拷贝一次代码,造成了时间的浪费。

当然在工业上,我们的系统启动起来之后,往往重新启动的可能性较少,这样每次启动浪费的时间也就可以忽略不计了。不过,在我们使用数码相机的时候,要抢拍一个镜头,这个时间可能就是毫秒级的,在每次开机的时候都需要几秒的启动时间,是无法忍耐的。而也不能一直开机,便携式的相机电池的电量太有限了。我们经常的一种解决办法是将系统切换到低功耗模式,而仅仅是低功耗模式还是要浪费电量。而我们想,如果只给SDRAM供电,作为待机模式,每次按下复位键的时候就直接跳到SDRAM中运行,而不必再次复制代码。这就实现了快速启动,电池的供电时间也相应的延长了。

Samsung ARM系列S3C2440处理器简介

在这里所使用的S3C2440处理器是Samsung公司推出的基于ARM920T核的32位RISC微处理器。S3C2440具有低功耗、低成本和高性能的特点,已成为PDA、智能手机、网络计算机终端以及智能设备的终端产品等的热门解决方案之一。

S3C2440内部资源丰富、结构复杂、接口众多,具有相互独立的16kB指令缓存和16kB数据缓存,带有MMU虚拟存储单元和AMBA总线接口。

S3C2440支持的内外围设备包括外部存储控制器、中断控制器、LCD控制器、8通道10bit精度的ADC和触摸屏控制器、SD/MMC卡控制器、4通道DMA、4通道具有PWM功能的定时器、具有日历功能的实时时钟、看门狗定时器、3通道UART(包含IRDA红外线数据通讯口)、USB主机/设备接口、I2C总线接口、I2S数字音频总线接口、2通道SPI总线接口、通用I/O端口以及具有锁相环功能片上时钟发生器等、同时也可以柑橘需要进行功能扩展从而支持以太网接口、PCMCIA接口及IDE接口等。

S3C2440外部存储器电路图

在这里我们使用FLASH作为程序和数据固化的存储器,使用SDRAM作为系统启动之后, 程序运行的区域。而S3C2440核内部4k的SRAM固定作为最初的启动代码使用,地址是从0x0000_0000开始的。

这里使用nGCS6将SDRAM的地址编址到0x3000_0000位置处,使用ADDR寻址,使用DAT读取和写入需要的数据,使用FCON控制信号控制SDRAM的状态。

使用FCON控制FLASH的状态,根据DATA按照时序送入数据和命令,做相应的处理。

这三部分就构成了ARM运行的最小系统。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭