打印

VC5510外部存储器的读写问题

[复制链接]
2975|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pianran|  楼主 | 2011-11-4 22:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在VC5510访问外部存储空间时遇到这样一个问题:
定义一个变量用作外部地址空间的指针,
int * temp;
给上述变量赋值,
temp = (int *)0x800004;
这时,编译就出错了——coverse integer to smaller pointer。
运行后,在观察窗口看到temp的值是0004,16进制。这样的话是无法对外部存储空间读写的。

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

相关帖子

沙发
pianran|  楼主 | 2011-11-5 22:14 | 只看该作者
没有人回答:'(

使用特权

评论回复
板凳
bairan168| | 2011-11-6 14:27 | 只看该作者
:L

使用特权

评论回复
地板
pianran|  楼主 | 2011-11-9 08:46 | 只看该作者
最终还是自己解决了这个问题。
对于TI的C55系列DSP,如果想访问全部23位地址线的话,就要选择大存储器模式——即large memory model。
问题的解决方法是,在建立工程之后进行编译选项选择。在CCS中,Project->Build Options->Compiler->Advanced->Memory Model,选择Large(-ml)。
这样,编译工程时,不再报warning:coversion integer to smaller pointer。
同时外部地址可以访问。

结贴。

使用特权

评论回复
5
dewlife| | 2011-11-9 11:28 | 只看该作者
解决的挺快的吗

使用特权

评论回复
6
dewlife| | 2011-11-9 11:29 | 只看该作者
是不是要访问内部寄存器的时候,还要选择另一个模式吗。

使用特权

评论回复
7
zx897158| | 2011-11-16 12:56 | 只看该作者
。。。。。。。

使用特权

评论回复
8
pianran|  楼主 | 2011-12-22 14:53 | 只看该作者
当然不用。
6# dewlife

使用特权

评论回复
9
aass1| | 2011-12-22 17:44 | 只看该作者
都是一步步逼出来的

使用特权

评论回复
10
faeng| | 2011-12-26 17:30 | 只看该作者

使用特权

评论回复
11
changx| | 2012-8-18 10:55 | 只看该作者
不清楚

使用特权

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

本版积分规则

10

主题

32

帖子

1

粉丝