4478|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教一个关于RAM_HIGH_ADRS的问题 [复制链接]

我现在用的是vxworks平台
cpu是powerpc的MPC8248
原来我的bootrom程序中RAM_LOW_ADRS、RAM_HIGH_ADRS分别设置的为0x00010000和0x01e00000,现在我的vxworks映像过大,修改了RAM_HIGH_ADRS的值(config.h和makefile中),结果机器会不断重启,请问是什么问题啊!
谢谢~

最新回复

查看一下代vxworks码段是多大?50多MB包括代码段和数据段。代码段绝对不应该超过32MB的,否则你就得在CPU选型上重新考虑。不过要想代码段超过32MB不是一件容易的事,我们做了这么多年的软件也没有这么大的代码段(交换机上,启用各种上层协议)。 jason_sun2008cn@hotmail.com有问题沟通。  详情 回复 发表于 2009-9-11 13:14
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果你的vxworks很大的话,那么bootrom要的编译要使用长跳转指令。一般情况下,对于中断处理均使用短跳转,所以bootrom的执行在低32MB空间(中断向量表在0x100,0x200....)。如果想让bootrom在高于32MB的地方执行,比如64MB的地方执行,必须修改修改中断跳转为长跳转,如:blrl指令。
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
恩,在excVecInit( )之前,设置 excExtendedVectors = TRUE可以了。
还有个问题就是,我的vxworks映像有50多兆(可以直接down到内存的),然后压缩后有5、6兆的样子,为什么在我解压后可以放到内存下面不到30兆的空间呢?是不是有某些段没有解压到下面那段内存空间啊?

 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
/*
* Option to use extended (full 32-bit) vectors to jump from the vector table
* to handler functions. Normally we use a 26-bit address, which suffices for
* a vast majority of functions. However a 26-bit address restricts branches
* to within 32MB which may be a problem for some systems.
*
* Setting excExtendedVectors to TRUE enables branching to an absolute 32-bit
* address. This option increases interrupt latency by about 20%, but there is
* no other choice left when the handler routine is more than 32MB away.
*/
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
如果vxWorks为怎么能50多MB呢?压缩比一般为1:4。加上你的数据段可能也就不到30MB吧,或者30多MB。如果真是50多MB,那么你当前的bootrom肯定用不了。你想想,当解压缩之后(解压到64K的地方),就把bootrom在内存中运行的代码段数据段全覆盖了。所以系统就甭贵了。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

6
 
不是啊
我的直接可以down到内存运行的vxworks映像确实是50多MB的,压缩后的bin文件是5、6MB(可以解压后放在不超过32M的内存低地址空间)的样子。
我知道解压后放到内存低地址空间的不会超过32MB(要是超过RAM_HUGH_ADRS,vxworks映像编译时会报错的),我想知道的是,为什么那本来50多MB的映像可以放在不超过32MB的地方,是不是某些段没有放在低地址?

ps:可以留个即时通讯吗?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
查看一下代vxworks码段是多大?50多MB包括代码段和数据段。代码段绝对不应该超过32MB的,否则你就得在CPU选型上重新考虑。不过要想代码段超过32MB不是一件容易的事,我们做了这么多年的软件也没有这么大的代码段(交换机上,启用各种上层协议)。

jason_sun2008cn@hotmail.com有问题沟通。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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