2011-02-11 17:44:24| 分类: ARM学习 | 标签:arm启动 |字号大中小 订阅
和2410启动一样,ARM2440有两种启动方式:NorFlash和NandFlash。如果选择NorFlash启动,则直接将启动程序写入0X0地址,硬件加电后将直接从0X0地址启动;如果选择NandFlash启动,则硬件加电后,系统会自动将NandFlash中的前4K内容拷贝到STEPSTONE(SRAM)中,然后从SRAM中的0X0地址启动。
此外,考虑到启动速度,从SDRAM启动会比从FLASH中启动快,因此,在NandFlash启动的条件下,我们会在4K的启动程序内实现将自身启动程序拷贝至SDRAM中,然后跳转运行,从而加速启动过程。
这里需要注意的是,在设置NandFlash启动时,注意NandFlash读程序必须放在4K的启动程序中;同时,在这种方式下,要设置堆栈也只有设置到内存中去,所以必须以汇编的方式启动内存然后才是设置堆栈到内存中去。后面才可以使用c语言代码。