天嵌 ARM开发社区

 找回密码
 注册
查看: 2819|回复: 2

从nand flash启动过程中的4k程序部分

[复制链接]
mr99 发表于 2012-7-22 16:41:25 | 显示全部楼层 |阅读模式
从nand flash启动的时候,硬件会自动将nand flash的前4k大小的代码复制到Steppingstone(片内SRAM)中,
复制的这部分只是uboot的基本的部分,在该SRAM中运行时,会加载nand flash中uboot的剩余部分到SDRAM中,也就是地址0x30000000处,uboot运行时又会从nand flash里取出kernel,加载到SDRAM中,真正的运行linux。
这里知道Steppingstone被映射到bank0,起始地址为0x00000000,那么这这样的话0x00000000到0x08000000都被这个SRAM给占用了,但是,启动linux时,串口打印的信息:
Nand Flash地址:
0x000000000000-0x000000040000 : "EmbedSky_Board_uboot"
0x000000200000-0x000000500000 : "EmbedSky_Board_kernel"
0x000000500000-0x000010000000 : "EmbedSky_Board_yaffs2"
可以看到Nand flash的地址是从0x00000000开始的

疑问:这两个部分没重叠吗?

如果不重叠的话,是不是可以这么理解:Nand flash不会被映射到blank0-blank7中,blank0-blank7只会映射nor flash、SDRAM和 SRAM?
summersunboy 发表于 2012-7-28 16:23:51 | 显示全部楼层
这个图(s3c2440 datasheet 第5章)应该可以解决你的问题:

nand flash 根本没有做映射,所以不用担心sdram与nand flash 地址会重叠。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
Romatom 发表于 2012-9-8 23:01:45 | 显示全部楼层
解决不了你的问题,但是我想指出我认为的你的一个概念上的错误:加载的不是u-boot的剩余部分,而是整个u—boot到SDRAM中。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-16 10:14 , Processed in 1.062500 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表