打印

请求PIC24如何使用全部数据空间

[复制链接]
3444|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tdh03z|  楼主 | 2009-3-31 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在利用C30编译PIC24FJ64GB106时,只能使用1000个字节的RAM,而资料上显示可以有16K的RAM可以使用,有谁知道怎么定义才可以用到多余的RAM吗?
沙发
兰天白云| | 2009-4-1 08:46 | 只看该作者

没用过,难道还分页?

使用特权

评论回复
板凳
lanyong| | 2009-4-1 09:29 | 只看该作者

恩,这个我可能知道

要定义下 near 和far.我是用dspic33f.

使用特权

评论回复
地板
soso| | 2009-4-1 09:43 | 只看该作者

MCHP给32和24单独做了编译器吧

   我编译了GA110的工程,16K RAM使用完了也没有你说的情况,就按照ANSI C的方式编译。估计是你哪里设置错误吧。

使用特权

评论回复
5
jetson001| | 2009-4-1 10:29 | 只看该作者

111

体验版的C30?
不是正版的会有RAM和ROM限制

使用特权

评论回复
6
headwolf| | 2009-4-1 11:06 | 只看该作者

60天内是没有任何限制了。

时间到了重装一下就可以了。

使用特权

评论回复
7
tdh03z|  楼主 | 2009-4-2 19:39 | 只看该作者

问题还没找到

但重建一个新的项目,利用老的源文件,编译提示正确了,估计是编译设置的问题,但我编译设置每一个地方都看了,没啥不同的,新的RAM使用率提示就正确。

谢谢各位了

看了C30的编译器使用指南,默认定义的变量就是near

使用特权

评论回复
8
tdh03z|  楼主 | 2009-4-3 19:09 | 只看该作者

晕,找到问题了

在C30的安装目录里,有2个p24FJ64GB106.gld文件,居然RAM的定义长度不一样,我把定义错误的文件加入到项目中,导致编译器按这个错误的定义显示RAM占用率,RAM长度超出0X400,则提示RAM使用过多,实际RAM长度为0X4000,少了一个0导致错误提示

实际项目中,仅需加C源文件到项目中即可,连头文件都可以不用加入,只要头文件在同一个目录下,即可完成项目的编译调试,不用加gld文件,而且项目目录中也不要放gld文件,编译程序会按照选择的芯片型号自动找到对应的gld文件。

但用C18时,好像必须加对应芯片的 lkr 文件,否则编译无法通过。

c30目录下的2个p24FJ64GB106.gld,一个是2007年的,一个是2009年的,真是晕,怎么会有2个相同的文件呢

使用特权

评论回复
9
lanyong| | 2009-4-4 11:48 | 只看该作者

告原厂三.

让他赔,嘿嘿.

使用特权

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

本版积分规则

23

主题

204

帖子

4

粉丝