fengyunyu 发表于 2015-1-8 16:24:59

请教PIC C30编译器内存使用问题

用一PIC24单片机,用C30 V3.31编译,项目不大,但编译下来,stack很大,28300字节。是因为没开优化的原因?编译器对局部变量是静态分配内存么?

fengyunyu 发表于 2015-1-8 16:25:33

Dynamic Memory Usage

region                     address                      maximum length(dec)
------                     -------                      ---------------------
heap                           0                                 0(0)
stack                     0x1174                              0x6e8c(28300)

                        Maximum dynamic memory (bytes):         0x6e8c(28300)

fengyunyu 发表于 2015-1-8 17:00:48

另外,优化等级不能选,是编译器版本的问题?

斗笠渔翁2 发表于 2015-1-8 17:07:41

顺路问一下,XC16 为什么库函数__delay_ms(); 无法正常调用???

fengyunyu 发表于 2015-1-8 17:14:35

斗笠渔翁2 发表于 2015-1-8 17:07
顺路问一下,XC16 为什么库函数__delay_ms(); 无法正常调用???

XC16基本没用过,不清楚

斗笠渔翁2 发表于 2015-1-9 10:12:47

fengyunyu 发表于 2015-1-8 17:14
XC16基本没用过,不清楚

再次骚扰

为什么明明器件选择是对的,会出现DI不一致的问题? PIC24有3个在线仿真IO选择,芯片全新,选择是PGD1 PGC1,是这个问题吗?

fengyunyu 发表于 2015-1-9 10:16:45

PGDPGC,这个要和硬件匹配才行!

斗笠渔翁2 发表于 2015-1-9 10:26:30

fengyunyu 发表于 2015-1-9 10:16
PGDPGC,这个要和硬件匹配才行!

不太明白,全新IC,我使用是PGD1和PGC1,就这样会有问题吗?

在配置位那边有配置,不过全新IC没配置过,直接用1,可以吗?

关键是读动作,提示正常!!!

dadongleilei 发表于 2015-1-9 10:41:38

看来楼主对pic24单片机和c30编译器不熟悉,默认情况下,编译器会把所有剩余的ram全部划到堆栈去,也就是说 堆栈剩的越大越好,表示你程序使用的全局变量等其他内存较少

fengyunyu 发表于 2015-1-9 11:05:51

dadongleilei 发表于 2015-1-9 10:41
看来楼主对pic24单片机和c30编译器不熟悉,默认情况下,编译器会把所有剩余的ram全部划到堆栈去,也就是说...

是不熟,刚开始用,也没有看C30编译器的手册。

dadongleilei 发表于 2015-1-9 11:11:16

建议还是看看c30编译器的文档,粗略看看也好,看看关键的东西
页: [1]
查看完整版本: 请教PIC C30编译器内存使用问题