2410采用nand flash作为BOOT启动后,操作BANK0的问题?

[复制链接]
5548|31
 楼主| 电子小骑兵 发表于 2008-10-14 11:17 | 显示全部楼层 |阅读模式
如果2410的BANK0外接了NOR FLASH,但2410采用nand flash作为BOOT启动后,那么启动后,在程序运行过程操作BANK0,它是对内部SRAM操作,还是对外部的NOR FLASH操作呢?
l0p0c 发表于 2008-10-14 11:35 | 显示全部楼层

建议好好看看那一部分的资料……

  
农民讲习所 发表于 2008-10-14 12:01 | 显示全部楼层

NOR FLASH完全可以不要。

  
 楼主| 电子小骑兵 发表于 2008-10-14 12:06 | 显示全部楼层

嗯~

我看DATASHEET,他上面的意思是说:The steppingstones is mapped to nGCS0.大致,我觉得就是把BNAK0映射到内部RAM中,但是有的例程代码,却是使用NAND FLASH中的BIOS启动,然后把应用代码烧录到bank6的SDRAM中执行,而这些代码却能对接在BANK0上的NOR FLASH操作,我觉得再对BANK0操作,也应该是对其中的SRAM操作,不是对外部的NOR FLASH操作,所以这里我不太能想通~
农民讲习所 发表于 2008-10-14 12:12 | 显示全部楼层

NAND启动和NOR的区别

NAND多了一个4KRAM,在地址0,也就是nGCS0。<br />FLASH可看作是只读RAM,在nGCS0。<br />所以代码几乎是一样,只操作过程不一样。
playlinus 发表于 2008-10-14 14:26 | 显示全部楼层

内部SRAM ...

  
wujiarui 发表于 2008-10-14 21:00 | 显示全部楼层

2410 NAND BOOT模式nGCS0是无效的。

也就是说,NAND&nbsp;BOOT,不能访问接在nGCS0上的NOR&nbsp;FLASH
wujiarui 发表于 2008-10-14 21:04 | 显示全部楼层

另外TO 5楼

NAND&nbsp;boot并不会多出4K&nbsp;RAM。<br />NOR&nbsp;BOOT模式,内部RAM地址是0x40000000;<br />NAND&nbsp;BOOT模式,内部的RAM具有两个地址,一个是0x40000000,另外就是0x0。0X0内容=0x40000000内容
农民讲习所 发表于 2008-10-14 21:34 | 显示全部楼层

NAND boot会多出4K RAM。起始地址=0。

  
wujiarui 发表于 2008-10-14 22:27 | 显示全部楼层

楼上不要误导

你往0x0开始写入4K数据,然后从0x40000000开始读出4K。你就知道怎么回事了。
high 发表于 2008-10-15 02:22 | 显示全部楼层

7楼是正解

  
high 发表于 2008-10-15 02:23 | 显示全部楼层

datasheet里面也有一张图

bank0&nbsp;此时就透明了,即不存在了
农民讲习所 发表于 2008-10-15 07:00 | 显示全部楼层

10L?

写0X0地址4K数据,为什么从0x40000000读出而不是0x0?<br />NAND启动,0地址多了一个4K映射RAM,地球人都知道这个。
wujiarui 发表于 2008-10-15 09:01 | 显示全部楼层

如果实在要说地球人都知道,那楼上就是火星来的

那4K&nbsp;RAM绝对不是“多”出来的!<br /><br />那是原来就位于0x40000000的&nbsp;RAM,只不过NAND&nbsp;boot模式下,通过0x0这个地址也可以访问了。<br /><br />如果还不能理解,我给你举个简单例子,好比你家门牌号原来是中山路1000号,后来又给你家挂了一个中山路100号。你不能说因为多一个门牌号码而说你多出一个家来啊!
playlinus 发表于 2008-10-15 09:35 | 显示全部楼层

实际上nand启动时,4K SRAM被自动映射到了0地址!

  
农民讲习所 发表于 2008-10-15 09:39 | 显示全部楼层

晕,又来个极其"认真"的人

当然不可能从天上突然多出一个4KRAM,这又不是魔术。你告诉别人这么多,有用吗?
农民讲习所 发表于 2008-10-15 09:41 | 显示全部楼层

最简单的认识:

NAND启动,地址0开始有4KRAM,可读可写。
icecut 发表于 2008-10-15 12:27 | 显示全部楼层

这个操作我也不清楚

我现在的感觉是:<br />nor启动,可以用nand控制器读nand,<br />nand启动,我不知道能不能读nor。没测试过。<br />至于4Kram,我**中是cache。。。。。。。。<br />。。。。。。。。。。。。。<br />
wujiarui 发表于 2008-10-15 16:11 | 显示全部楼层

农民不要逃避,多出来是你说的,所以叫你不要误导

NAND&nbsp;BOOT会自动把NAND&nbsp;FLASH&nbsp;block&nbsp;0前面4K的内容拷贝到2410&nbsp;ram,同时给这个RAM&nbsp;一个地址0x0。这个时候0x40000000这个地址依然可以访问。<br /><br />所以4K代码要特别小心,千万别把0x40000000开始4K当作RAM来用,否则将把自己擦除。如果往0x40000100写入数据,等效往0x100写入数据。<br /><br />通过以上讨论,希望大家能明白NAND&nbsp;BOOT一些内存问题
wujiarui 发表于 2008-10-15 16:13 | 显示全部楼层

to 18楼

2410内部总共8K&nbsp;RAM,可以通过寄存器设定把8K,或者4K&nbsp;RAM作为cache。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部