如何访问VC5510的外部存储空间呢

[复制链接]
1065|13
手机看帖
扫描二维码
随时随地手机跟帖
zhenykun|  楼主 | 2014-11-9 10:12 | 显示全部楼层 |阅读模式
在VC5510访问外部存储空间时遇到这样一个问题:
定义一个变量用作外部地址空间的指针,
int * temp;
给上述变量赋值,
temp = (int *)0x800004;
这时,编译就出错了——coverse integer to smaller pointer。
运行后,在观察窗口看到temp的值是0004,16进制。这样的话是无法对外部存储空间读写的。

有哪位高手知道这是怎么回事儿?如何访问VC5510的外部存储空间呢?

相关帖子

jiaxw| | 2014-11-9 10:13 | 显示全部楼层
TI的C55系列DSP,如果想访问全部23位地址线的话,就要选择大存储器模式

使用特权

评论回复
zhenykun|  楼主 | 2014-11-9 10:14 | 显示全部楼层
jiaxw 发表于 2014-11-9 10:13
TI的C55系列DSP,如果想访问全部23位地址线的话,就要选择大存储器模式

啥意思

使用特权

评论回复
liliang9554| | 2014-11-9 10:14 | 显示全部楼层
large memory model

使用特权

评论回复
jiahy| | 2014-11-9 10:17 | 显示全部楼层
liliang9554 发表于 2014-11-9 10:14
large memory model

正解

使用特权

评论回复
zhenykun|  楼主 | 2014-11-9 10:18 | 显示全部楼层
那,怎么解决啊

使用特权

评论回复
huangchui| | 2014-11-9 10:19 | 显示全部楼层
建立工程之后进行编译选项选择。在CCS中,Project->Build Options->Compiler->Advanced->Memory Model,选择Large(-ml)。

使用特权

评论回复
huangchui| | 2014-11-9 10:19 | 显示全部楼层

这样,编译工程时,不再报warning:coversion integer to smaller pointer。

使用特权

评论回复
jiajs| | 2014-11-9 10:20 | 显示全部楼层
嗯,同时外部地址可以访问。

使用特权

评论回复
wyjie| | 2014-11-9 10:20 | 显示全部楼层
是不是要访问内部寄存器的时候,还要选择另一个模式吗。

使用特权

评论回复
jlyuan| | 2014-11-9 10:20 | 显示全部楼层
当然不用。

使用特权

评论回复
zhenykun|  楼主 | 2014-11-9 10:21 | 显示全部楼层
好的, 解决了,呵呵

使用特权

评论回复
zhenykun|  楼主 | 2014-11-9 10:21 | 显示全部楼层
多谢几位大侠了啊

使用特权

评论回复
lijiabaobei| | 2014-11-9 17:19 | 显示全部楼层
学习啦

使用特权

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

本版积分规则

868

主题

11535

帖子

3

粉丝