第八课 (2)S3C2440启动流程——Nor启动和Nand启动
S3C2440框架:
S3C2440启动流程:
https://blog.****.net/don_chiang709/article/details/89220088
S3C2440的启动时读取的第一条指令是在内存0x00地址处(注意:对于S3C2440芯片设计为0x0,其他芯片不一定)。
上电后内存中没有数据,那么0x00地址处的指令如何放进去?
- Nand启动
Nand基地址为0,片内RAM基地址为0
2440硬件从Nand Flash中读取4K到片内RAM上,
片内RAM上前4K被映射到内存的0x0地址处( nGCS0片选的空间,即0x00000000)
CPU从Nor上读取第一条指令(前4字节),执行,然后继续读取其他指令
疑问:
为什么不直接把Nand Flash映射到0x0地址处?非要经过片内RAM?
因为Nand Flash没有地址线,所以没法映射,需要RAM作为载体。
- Nor启动
Nor Flash基地址为0,片内RAM基地址为0x4000 0000(从芯片手册看RAM最大地址为0x4000 0000)(这里就不需要片内RAM来辅助了,所以片内RAM的起始地址不变,还是0x4000000)
Nor Flash直接被映射到内存的0x0地址处( nGCS0片选的空间,即0x00000000)
CPU从Nor上读取第一条指令(前4字节),执行,然后继续读取其他指令