打印

小女子又来了,关于刚接手项目(跟进以前同事弄过的项目)的

[复制链接]
2042|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新手forARM|  楼主 | 2007-9-27 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小女子正在接手的项目是以前同事留下的的未完成的项目,主控芯片是
AT91M55800A,片上外扩了一块2M的FLASH、和两块SDRAM(IS61LV51216AL),
另外,AT91M55800A片内有8K的内部RAM。
有些东西看了一下,不太懂,所以问一下各位高手,以下两个问题:
1、
系统上电,执行重影射前 AT91M55800A的0地址是指向NCS0(flash),地址空间为
0x00000000--0x000fffff(1M的地址空间),0x000fffff之后的空间(0x00100000--
0x001fffff)是芯片厂家保留未用的,而板NCS0所挂的FLASH是个2M的,型号
为AT49BV162A,这样如果程序空间超过了1M的话会不会造成访问中止等错误,因为
我在相关资料上面看到如果处理器访问的存储器地址超出了一个存储器页,则系统将
会产生中止!

以下是我的理解,有知道这样的理解正不正当?
虽然所挂的FLASH超过了1M的地址空间,但是程序运行的时候是在RAM里面运行的,而且
在拷贝FLASH程序到RAM里面的时候已经执行了REMAP命令,此时真正所操作的地址已经
不是0x00000000--0x000fffff(1M的地址空间),而是REMAP之后的地址空间了,所以就不
会出现访问的存储器地址超出存储器页的情况。

2、在AT91M55800A里面,在重影射之前外部RAM是不可见的,重影射之后外设地址为
(0x00400000--0xffbfffff),这个地址空间是属于NCS0--NCS7八个片选设备的,当然其中
也包括重影射后的FLASH(NCS0),但具体NCS0--NCS7的具体地址空间我有搞清楚,在网上
找到一些资料说到的重影射后的FLASH在0X01000000的,NCS1挂SRAM,地址为:0x02000000
这两个地址在重影射之后外设地址为(0x00400000--0xffbfffff)都没有具体说明?是不是
我有些东西没有领会到?

大家多给我发表些意见吧?谢谢了!

相关帖子

沙发
新手forARM|  楼主 | 2007-9-27 10:30 | 只看该作者

自己先跟一贴!

自己先跟一贴!
为什么AT91M55800A的NCS0--NCS1不像44B0、AT91SAM7SEXX等芯片那样有固定的地址空间呢?在坐的各位有没有用过?Baite-ARM的朋友能否给俺指点一下?

使用特权

评论回复
板凳
wangkj| | 2007-9-27 10:31 | 只看该作者

俺3年前的水平,那时候,真的无人可问。

现在好了,很多朋友可能给你帮忙 :)
这个得作过这个cpu的朋友帮忙。

这个我不了解,帮你顶一下。

使用特权

评论回复
地板
新手forARM|  楼主 | 2007-9-27 10:37 | 只看该作者

非常感谢大家!

非常感谢大家!
有机会在这个平台向大家学习我觉得是一件很荣幸的事情!
现在我在一边查资料一边征求大家宝贵的意见!

使用特权

评论回复
5
dld2| | 2007-9-27 10:53 | 只看该作者

没用过,瞎说说

首先,你要使劲看该芯片的手册,网上资料不能当依据。
第一个问题:同意你的观点。我认为即使重映射,还是访问不到1M以上的FLASH。
当然这个要实验确认。

系统结构也许是这样:
内核<-->重映射逻辑<->物理存储器
重映射逻辑只是把内核对0X01000000的访问变成对物理地址0X0的访问,但并不能使BANK0的物理空间扩大。

使用特权

评论回复
6
新手forARM|  楼主 | 2007-9-27 11:01 | 只看该作者

回dld2:

回dld2:
我认为重影射之后可以访问大于原来(重影射之前)的1M的地址空间,
因为DATASHEET说到重影射后NCS0--NCS7可以分别片选 8个容量为16M的存储体,所以......此时从FLASH拷贝程序到SRAM的时候,FALSH和SRAM的地址空间都可以有16M的空间。
另外一个也证实的,原来板上的程序代码空间已经确实是超过了1M的范围民,
所以才会用到2M的FLASH。

使用特权

评论回复
7
dld2| | 2007-9-27 11:14 | 只看该作者

嘿嘿

俺学术不纯的说。等待高人。

使用特权

评论回复
8
mxh0506| | 2007-9-27 13:06 | 只看该作者

手册P.48

Eight Chip-select Registers (EBI_CSR0 to EBI_CSR7) are used to program the parameters for the individual external memories.

其中就有page size域可被编程

使用特权

评论回复
9
mxh0506| | 2007-9-27 13:08 | 只看该作者

手册P.29

Before the remap command, the user can modify the chip select 0 configuration, programming the EBI_CSR0 with exact boot memory characteristics.
这下知道为什么2M的Flash可以用了吧?

使用特权

评论回复
10
mxh0506| | 2007-9-27 13:15 | 只看该作者

NCS0~NCS7的基地址是可以编程的

详见EBI_CSR0 to EBI_CSR7寄存器说明
NCS0上的flash在REMAP之前基地址为0,而REMAP后这段1M的空间被内部RAM占有

使用特权

评论回复
11
Swd21ic| | 2007-9-27 21:07 | 只看该作者

!

只要是AT的东西,看DATASHEET就能明白75%了.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

37

帖子

1

粉丝