• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何查看MDK编译后程序所占用的Flash和SRAM的大小

单片小白 2019-03-29 浏览量:921

如何查看MDK编译后程序所占用的Flash和SRAM资源的大小?

另外在.s启动文件中堆和栈的大小又该如何分配?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 编译之后再MDK的编译结果那里会有显示

    其中Code为代码体积,放在flash区

    RO-Data为只读变量,就是用const enum那些定义的,放在flash区

    RW-Data​表示已初始化的全局变量,RAM和flash都要占用(flash保存初始化的值)

    ZI-Data表示未初始化的全局变量

    因此flash空间就是前面三个加起来,RAM是后面两个加起来,单位都是Byte

    • 发布于 2019-04-02
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:4
  • 可以通过查看编译后产生的map文件里面有的,最后三行就是表示rom和ram的使用情况,Code + RO Data就是rom大小,RW Data  +  ZI Data就是ram大小
    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 1
    • 0

  • flash = Code + RO-data + RW-data 

    ram = RW-data + ZI-data ​

    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 编译后,有一个map的文件,其中把内存的分配情况列的很细的,可以查看
    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 1
    • 0

  • flash = Code + RO-data + RW-data = 29864 + 123592 + 60 = 153516 bytes

    sram = RW-data + ZI-data = 60+ 3900= 3960bytes


    • 发布于2019-03-31
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何查看MDK编译后程序所占用的Flash和SRAM的大小