0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CS+ for CC环境如何设置RH850 MCU堆和栈的空间?

jf_Vqngj70R 来源:美男子玩编程 2023-02-08 11:54 次阅读

嵌入式软件开发离不开对堆和栈的操作。

栈由操作系统自动分配和释放 ,存放函数的参数值、局部变量的值等。通常都是被调用时处于存储空间中,调用完毕立即释放。

堆由开发者手动分配和释放, 若开发者不释放,通常程序结束时回收。

97d3d774-a761-11ed-bfe3-dac502259ad0.png

本篇博文将讲解基于瑞萨IDE:CS+ for CC环境如何设置RH850 MCU堆和栈的空间。

1

设置栈空间

打开cstart.asm,找到STACKSIZE,如下图所示:

97e5ff26-a761-11ed-bfe3-dac502259ad0.png

其中0X200即为栈的大小即512Bytes。

97f8195e-a761-11ed-bfe3-dac502259ad0.png

点击编译工程,生成map文件,查看栈size,正好是0X200,如下图所示:

980775ca-a761-11ed-bfe3-dac502259ad0.png

修改代码,设置栈size 为0X400,如下所示:

STACKSIZE .set 0x400 .section ".stack.bss", bss .align 4 .ds (STACKSIZE) .align 4 _stacktop:

点击编译工程,生成map文件,查看栈size,正好是0X400,如下图所示:

982ae33e-a761-11ed-bfe3-dac502259ad0.png

2

设置堆空间

在map文件中可以查看到堆空间大小,如下图所示:

98450368-a761-11ed-bfe3-dac502259ad0.png

bss起始地址:0xFEDD6130 ,bss结束地址:0xFEDD61F7,size:0xc8,align:4。

设置堆size 为0X200,代码如下所示:

#include #define SIZEOF_HEAP 0x200 int _REL_sysheap[SIZEOF_HEAP>>2]; size_t _REL_sizeof_sysheap = SIZEOF_HEAP;

将代码放置到main.c文件中,如下图所示:

985926c2-a761-11ed-bfe3-dac502259ad0.png

点击编译工程,生成map文件,查看堆size,如下图所示:

988055b2-a761-11ed-bfe3-dac502259ad0.png

bss起始地址:0xFEDD6134 ,bss结束地址:0xFEDD63FB,size:0x2C8,align:4。

bss空间增量:0x2C8 - 0xC8 = 0X200,也就是设置的大小。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6559

    浏览量

    122839
  • 嵌入式软件
    +关注

    关注

    4

    文章

    238

    浏览量

    26566
  • MCU芯片
    +关注

    关注

    3

    文章

    244

    浏览量

    11273

原文标题:瑞萨RH850 CS+环境下设置堆和栈空间

文章出处:【微信号:美男子玩编程,微信公众号:美男子玩编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RH850 智能配置器用户指南:CS+

    RH850 智能配置器用户指南:CS+
    发表于 03-16 19:21 1次下载
    <b class='flag-5'>RH850</b> 智能配置器用户指南:<b class='flag-5'>CS+</b>

    CS+ V7.00.00 集成开发环境 用户手册: RH850 Debug Tool[CS+ for CC]

    CS+ V7.00.00 集成开发环境 用户手册: RH850 Debug Tool[CS+ for CC]
    发表于 03-17 19:43 0次下载
    <b class='flag-5'>CS+</b> V7.00.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool[<b class='flag-5'>CS+</b> for <b class='flag-5'>CC</b>]

    CS+ V6.01.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V6.01.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 03-21 20:04 0次下载
    <b class='flag-5'>CS+</b> V6.01.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ Code Generator Tool 集成开发环境 用户手册: RH850 API Reference[CS+ for CC]

    CS+ Code Generator Tool 集成开发环境 用户手册: RH850 API Reference[CS+ for CC]
    发表于 03-24 18:52 2次下载
    <b class='flag-5'>CS+</b> Code Generator Tool 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> API Reference[<b class='flag-5'>CS+</b> for <b class='flag-5'>CC</b>]

    CS+ V3.02.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V3.02.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 05-15 18:34 0次下载
    <b class='flag-5'>CS+</b> V3.02.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ V8.07.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V8.07.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-03 19:31 2次下载
    <b class='flag-5'>CS+</b> V8.07.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ V8.05.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V8.05.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-04 19:36 1次下载
    <b class='flag-5'>CS+</b> V8.05.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    RH850 智能配置器用户指南:CS+

    RH850 智能配置器用户指南:CS+
    发表于 07-06 20:06 2次下载
    <b class='flag-5'>RH850</b> 智能配置器用户指南:<b class='flag-5'>CS+</b>

    CS+ V7.00.00 集成开发环境 用户手册: RH850 Debug Tool[CS+ for CC]

    CS+ V7.00.00 集成开发环境 用户手册: RH850 Debug Tool[CS+ for CC]
    发表于 07-07 18:35 1次下载
    <b class='flag-5'>CS+</b> V7.00.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool[<b class='flag-5'>CS+</b> for <b class='flag-5'>CC</b>]

    CS+ V6.01.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V6.01.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-07 20:04 0次下载
    <b class='flag-5'>CS+</b> V6.01.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ V5.00.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V5.00.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-10 19:04 0次下载
    <b class='flag-5'>CS+</b> V5.00.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ V4.00.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V4.00.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-10 20:42 0次下载
    <b class='flag-5'>CS+</b> V4.00.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ Code Generator Tool 集成开发环境 用户手册: RH850 API Reference[CS+ for CC]

    CS+ Code Generator Tool 集成开发环境 用户手册: RH850 API Reference[CS+ for CC]
    发表于 07-10 20:42 0次下载
    <b class='flag-5'>CS+</b> Code Generator Tool 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> API Reference[<b class='flag-5'>CS+</b> for <b class='flag-5'>CC</b>]

    CS+ V3.02.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V3.02.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-11 19:45 0次下载
    <b class='flag-5'>CS+</b> V3.02.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool

    CS+ V3.00.00 集成开发环境 用户手册: RH850 Debug Tool

    CS+ V3.00.00 集成开发环境 用户手册: RH850 Debug Tool
    发表于 07-12 19:35 0次下载
    <b class='flag-5'>CS+</b> V3.00.00 集成开发<b class='flag-5'>环境</b> 用户手册: <b class='flag-5'>RH850</b> Debug Tool