Program Size: Code=28784 RO-data=6480 RW-data=60 ZI-data=3900   的含义

1. Code: 程序所占用的FLASH大小,存储在FLASH.

2. RO-data: Read-only-data,程序定义的常量,存储在FLASH中。

3. RW-data:Read-write-data,已经被初始化的变量,存储在SRAM中。

4. ZI-data:Zero-Init-data,未被初始化的变量,存储在SRAM中。

简单的说就是在烧写的时候是FLASH中的被占用的空间为:

ROM(Flash) size = Code+RO-data+RW-data;

上面代码大小    = 28784 + 6480 + 60 = 35324

= 35324/1024 = 34.5K

程序运行的时候,芯片内部RAM使用的空间为:

RAM size    = RW-data+ZI-data

上面代码RAM = 60 + 3900  = 3960

= 3960/1024 = 3.9K

从上面的分析之后我们得到了此程序占用的内存

ROM = 34.5K

RAM = 3.9K

然后我们从百度百科搜索得STM32C8T6的

ROM容量:64KB (64K x 8)

RAM容量:20K x 8

以下是STM32系列大中小型容量的大小和地址范围,假如我们使用内部flash的话就必须要查看地址的大小了,在下一篇中我们将说明如何使用STM32内部flash

008_STM32之_keil编译内存大小解析的更多相关文章

  1. C语言结构体占用空间内存大小解析

    结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧. 格式一: 01.struct tagPhone 02.{ 03.     char   A; 04.     int  ...

  2. linux下内存大小、起始地址的解析与修改

    在实际的工作中,由于产品型号的不同,经常需要调整linux所管理的内存的大小,而内核在启动阶段,会两次去解析从uboot传递过来的关于内存的信息,具体如下: 一.解析从uboot传递过来的tag(在p ...

  3. JVM内存区域解析

    引言 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间.有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的 ...

  4. struct和class内存大小的计算

    以下均是在VS2017下的结果 结构体内存大小的计算: 用例一: #include<stdio.h> union ss { int a; char b; }; struct MyStruc ...

  5. JAVA内存溢出解析(转)

    JAVA内存溢出解析(转) 核心提示:原因有很多种,比如: 1.数据量过于庞大:死循环 :静态变量和静态方法过多:递归:无法确定是否被引用的对象: 2.虚拟机不回收内存(内存泄漏): 说白了就是程序运 ...

  6. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  7. 获取JAVA对象占用的内存大小

    介绍两种获取JAVA对象内存大小的方法. 第一种:Instrumentation 简介: 使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小.利用I ...

  8. 【转载】Android Studio 设置内存大小及原理

    http://www.cnblogs.com/justinzhang/p/4274985.html http://tsroad.lofter.com/post/376316_69363ae Andro ...

  9. 修改linux共享内存大小

    这是实际linux系统显示的实际数据: beijibing@bjb-desktop:/proc/sys/kernel$ cat shmmax  33554432 beijibing@bjb-deskt ...

随机推荐

  1. 【Pandas数据分析案例】2018年北京积分入户情况分析

    据说,北京落户的难度比加入美国国籍还高.而北京2018年首次实行积分入户制,让我们来分析一下首批通过积分入户拿到北京户口的数据. 首先从北京积分落户官网下载公示名单: 根据表格中的信息,我们主要从以下 ...

  2. c++设计原则:继承与组合

    “优先使用对象组合,而不是继承”是面向对象设计的原则之一. 组合也叫“对象持有”,就是在类中定义另一类型的成员,继承会破坏类的独立性,增加系统的复杂性,一般系统的继承层次不超过3层.组合拥有良好的扩展 ...

  3. goroutine基础

    程序1: package main import ( "fmt" "time" ) func test () { var i int for { fmt.Pri ...

  4. IdentityServer4密码模式接入现有用户数据表

    具体接入identityserver请看文档,这里只简单列举部分步骤 1.创建一个web项目,引入Identityserver4的nuget包 2.新建一个类,实现IResourceOwnerPass ...

  5. php 判断是是否是命令行模式

    /* 判断当前的运行环境是否是cli模式  是:true 不是:false */ function is_cli(){    return preg_match("/cli/i", ...

  6. 实现Bootstrap表格拖拽

    实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...

  7. 基于微软hyper-v虚拟化服务器搭建方法和步骤整理

    基于Microsoft基础设施私有云计算搭建 摘要:私有云是指组织机构建设的专供自己使用的云平台,它所提供的服务不是供他人使用,而是供自己的内部人员或分支机构使用,不同于公有云,私有云部署在企业内部网 ...

  8. 新学WEB前端

    介绍一点关于我对学习前端的一些学习经验和遇到的问题! 1.坚持 现在编码技术更新的速度日新月异,并且对于纯英文字母的代码来说,我们不是长时间接触并且记忆的话,对于一些难一些的标签和属性是非常容易忘记的 ...

  9. rt-thread下调试elmfat 问题记录

    硬件平台:stm32f107   SPI flash:w25q32 RTT版本:v2.1 w25q32的驱动大神们已经写好(w25qxx.c),我只需要照猫画虎的实现相应SPI的驱动程序即可(bsp例 ...

  10. 7.Vue实例的生命周期

    1.Vue实例的生命周期: 什么是生命周期:从Vue实例创建.运行.到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命周期钩子 = 生命周期函数 = 生命周期事件 2. 主要的生命 ...