打印
[PIC®/AVR®/dsPIC®产品]

关于MicrochipStudio 堆栈设置的疑问?

[复制链接]
1338|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 pzsh 于 2022-11-8 14:09 编辑

之前一直使用ICC AVR 近期转到MicrochipStudio进行开发AVR 8bit单片机开发,最近使用过程中没有发现堆栈设置项,请问一下,堆栈设置项在哪里?还是在AVR-GCC编译器上会把剩余RAM都作为堆栈使用?      
      下载视频         

使用特权

评论回复
沙发
wutaosamuel| | 2022-11-2 16:03 | 只看该作者
1. AVR-GCC 编译器会将mcu上的SRAM都转化成堆栈
2. 如果堆(heap)的大小不够, 自动会在栈(stack)头或者尾巴上分配

3. 如果要在microchip stdio上手动分配大小, 你需要给编译器设置参数. 右键项目属性你可以看到下面这张图

添加参数: -Wl,--defsym=__heap_start=0x802000,--defsym=__heap_end=0x803fff
(没测试过, 可能不需要-WL. 0x802000和0x803fff 需要根据mcu文档来查看)

另外, mplab ide, xc8 编译器用的比较方便

使用特权

评论回复
板凳
H2705902010|  楼主 | 2022-11-7 08:43 | 只看该作者
wutaosamuel 发表于 2022-11-2 16:03
1. AVR-GCC 编译器会将mcu上的SRAM都转化成堆栈
2. 如果堆(heap)的大小不够, 自动会在栈(stack)头或者尾巴 ...

谢谢,大佬的回答!!

使用特权

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

本版积分规则

8

主题

94

帖子

1

粉丝