3333|16

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新开一贴---继续MMU调试 [复制链接]

接上一贴:http://topic.eeworld.net/u/20100131/15/462e28c6-78c7-41aa-a2f8-02d643802276.html

我晕,又发现了一个不对的地方(应该是不正常的吧)

#define _RAM_STARTADDRESS       0x30000000
#define _NONCACHE_STARTADDRESS        0x31000000
#define _ISR_STARTADDRESS       0x33ffff00     
#define _MMUTT_STARTADDRESS     0x33ff8000
#define _STACK_BASEADDRESS      0x33ff8000
#define HEAPEND                 0x33ff0000

看到红色部分,MMU_TLB基址放在了0x33ff8000开始处,NND,我的开发板上总共的SDRAM区域才64MB,相当于
0x3000 0000 ~ 0x33f0 0000空间,现在这个MMU_TLBBASE都被定位到SDRAM区域之外了,这肯定有正常吧?

我来实时把MMU_TLBBASE改回到SDRAM区域之内,看时候OK?

最新回复

哦, my god   这个我看过 楼主搜索 发帖者:gooogleman 关键词 MMU, 估计有东西是你需要的。  详情 回复 发表于 2010-2-4 21:39
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
OH ,GOD,真的按照我上面方式改了后,程序可以往下执行了,不会报什么出错了

但还有些问题,不过有进展。。。go on

哎,这个2410的测试程序肯定是针对128MB SDRAM的系统来搞的,忽悠死我了
不是自己写的真不放心啊
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
.....不懂
如果不需要自己写操作系统,似乎没有必要把这东西弄的这么清楚
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 
代码里面没有注解么? 要不你找个有详细注解的...
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
不好意思,我说错了。。。。

我再整整
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

6
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

7
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
注意运算符优先顺序....究竟是+优先还是>>优先....
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

9
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
发现你对代码钻研的很深入......
赞一个
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 great_bug 的回复:
pTT=(U32 *)(_MMUTT_STARTADDRESS+vaddrStart>>20)

pTT=(U32 *)_MMUTT_STARTADDRESS+vaddrStart>>20

----------
这两个表达式是不同的.

第一个是两个unsigned int相加后转换成unsigned int*

第二个是一个unsigned int*加一个unsigned int,因为一个unsigned int是4字节,对一个U32 *做一次增量(+1),实际地址增加4



ls谢谢你的鼓励,其实对这个还真有点兴趣

你的一句话提醒我了,哎,C语言的基础又忘了

"指针+1时,相当于在内存空间递增4bytes",嘿嘿

谢谢啦,继续调试
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
//64MB
// 0x30000000 ~ 0x30ffffff : Download Area (16MB) Cacheable
// 0x31000000 ~ 0x33feffff : Non-Cacheable Area
// 0x33ff0000 ~ 0x33ff47ff : Heap & RW Area
// 0x33ff4800 ~ 0x33ff7fff : FIQ ~ User Stack Area
// 0x33ff8000 ~ 0x33fffeff : Not Used Area
// 0x33ffff00 ~ 0x33ffffff : Exception & ISR Vector Table

#define _RAM_STARTADDRESS       0x30000000
#define _NONCACHE_STARTADDRESS        0x31000000
#define _ISR_STARTADDRESS       0x33ffff00     
/*****************************************/
#define _MMUTT_STARTADDRESS     0x33ff8000
/*****************************************/
#define _STACK_BASEADDRESS      0x33ff8000
#define HEAPEND                 0x33ff0000

另:
;The location of stacks
UserStack                EQU        (_STACK_BASEADDRESS-0x3800)        ;0x33ff4800 ~
SVCStack                EQU        (_STACK_BASEADDRESS-0x2800)     ;0x33ff5800 ~
UndefStack                EQU        (_STACK_BASEADDRESS-0x2400)     ;0x33ff5c00 ~
AbortStack                EQU        (_STACK_BASEADDRESS-0x2000)     ;0x33ff6000 ~
IRQStack                EQU        (_STACK_BASEADDRESS-0x1000)        ;0x33ff7000 ~
FIQStack                EQU        (_STACK_BASEADDRESS-0x0)        ;0x33ff8000 ~

如上所示,这是我的内存布局,应该没有问题吧,这是三星测试程序中自带的布局
我觉得没有什么问题。

哎,一个周末又过去了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
// 0x33ff0000 ~ 0x33ff47ff : Heap & RW Area

顺便问一下,这个 Heap RW Area 指的是什么区域
是不是就是指 编译后的RW 和ZI区

现在初步怀疑是因为ZI区域的东西把我的用户栈给冲了,,,嘿嘿

我这工程ZI区域就有300多KB,已经跑到FIQ ~ User Stack Area 区域了,真搓啊

“非法侵犯别人的领地是没有好果子吃滴”
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
跟踪帖子帮顶
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

15
 
哦,遇到瓶颈了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
#define _MMUTT_STARTADDRESS    0x33ff8000
这个我修改过,呵呵

楼主不是可以了嘛,现在遇到啥问题?
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

17
 
哦, my god  
这个我看过

楼主搜索 发帖者:gooogleman
关键词 MMU, 估计有东西是你需要的。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表