分类: 嵌入式
2011-05-19 20:48:38
Mini2440的硬件资源: CPU 处理器 - Samsung S3C2440A,主频400MHz,最高533Mhz SDRAM 内存 - 在板64M SDRAM - 32bit 数据总线 - SDRAM 时钟频率高达100MHz FLASH 存储 - 在板 128M Nand Flash, 掉电非易失 - 在板 2M Nor Flash,掉电非易失,已经安装BIOS
Mini2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动。 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。mini2440就是直接把vivi直接烧录在nor flash上。 Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。 Mini2440把Bootloader烧到nand flash上启动,因为在mini2440里有一个内置的SRAM,叫做stepping stone(垫脚石,很形象…),系统启动加电后,会把nand flash上的起始4KB的内容拷贝到SRAM里执行,这样就实现了从nand flash启动。如果bootloader小于4KB的话(像vboot),在SRAM里就能boot,大于4KB的话(u-boot,vivi),在SRAM里做一些基本初始化后,再把bootloader的剩余部分拷贝到SDRAM里(>0x30000000)。 我们使用mini2440的时候,经常通过nor flash启动,进入vivi的菜单(mini2440的Nor flash已经烧录好了vivi),之后通过vivi的usb下载功能,把其他的bootloader下在到nand flash里,下载完成后,再通过nand flash启动,测试我们的bootloader。 NOR flash适合做代码存储并EIP的,NAND适合用来作大量数据存储的。
哈佛结构还是冯氏结构跟统一编址还是独立编址没有必定关系,而是跟芯片的设计有关系,数据和程序是走不同的总线则是哈佛结构。如果如共用总线,取指取数据在一条总线上,那就是冯氏结构 arm7是统一编址但是是冯氏结构Cortex-M3是统一编址却是哈佛结构 这是因为取指和取数据的总线不同 统一编址和独立编址不同是在指令上表现出来的 统一编址对不同的地址操作是有地址不同区分的 独立编址是通过不同的指令区分是对那个部分进行操作,否则地址相同没有办法区分了 所以51单片机有mov movx |