IAR编译信息分析
1、怎么设置可以查看单片的内存(消耗)使用状况?
IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messages选择 ALL
1. Tools->option->messages show build messages设置成all
这样可以在编译后看到用了多少个RAM多少Code,中间每个文件使用情况也可以看得到。
2.
Project->Options...(Alt-F7))的Linker->List中勾选Generate
linker map file
这样可以生成map文件,这个就更详细了(需要什么自己勾选)。
3. Project->Options...(Alt-F7))的C/C++ compile
->List中勾选output list file
这样可以看到每个文件编译的细节的list文件,还可以看到反汇编(需要什么自己勾选)
二、编译信息
1、 下面什么意思
4 960 bytes of CODE memory
4 150 bytes of DATA memory
44 bytes of CONST memory
4 960 个字节的代码(占FLASH)
4150 个字节的变量数据(占RAM)
44 个字节的常量数据(占FLASH)
生成bin文件的大小= 4960+44
1、
9 486 bytes of CODE memory
404 bytes of DATA memory (+ 36 absolute )
520 bytes of CONST memory
1、的括号内表示内存的绝对使用量,对应你设的全局变量大小
2、表示共享的存储空间,和单片机的结构有关
2、提问:
9 176 bytes of CODE memory
(+
30 bytes shared)
568 bytes of CONST memory (+
18 148 bytes shared)
943 bytes of
DATA memory
(+ 114 bytes
shared)
答:"+ 114 bytes
shared"或linking后的"+114 bytes absolute"指的是您在程序中有144bytes 使用@ operator 或
#pragma location=operator 或__no_init volatile语法定义的数据。
也可以说是可以在汇编中定义的数据。举例:P1OUT在430头文件中就用到了上述语法,当您读写P1OUT时,编译器和链接器就认为您使用了一个上述sahred/absolute数据。
编译器和链接器并不能真正地辨认出什么是RAM什么是Flash,它们使用DATA(没有指定固定的数据)和CONST/CODE(有指定固定的数据)概念来工作。
原文:http://blog.sina.com.cn/s/blog_4c0cb1c00100vy5n.html
IAR编译信息分析的更多相关文章
- STM32的堆与栈与编译信息查看
STM32的堆与栈与编译信息查看 因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败.查找失败原因,为堆空间不足分配导致.查看堆和栈分别设置了2K,按正常情况看应能满足分 ...
- DA - 信息分析思路概要
要素 局部 --->整体 显性 --->隐性 表面 --->本质 割裂 --->联系 特殊 --->普遍 串行 --->并发 纵向 --->横向 单点 --- ...
- javaweb学习总结十九(http协议概述以及http请求信息分析)
一:http协议概述 1:http协议定义 2:使用telnet程序连接web服务器,获取资源 3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的, http ...
- IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置
转自IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置 IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置: 1.正确配置输出文件格式:菜单选择P ...
- linux驱动调试--段错误之oops信息分析
linux驱动调试--段错误之oops信息分析 http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29401328&id= ...
- 基于‘BOSS直聘的招聘信息’分析企业到底需要什么样的PHP程序员
原文地址:http://www.jtahstu.com/blog/scrapy_zhipin_php.html 基于'BOSS直聘的招聘信息'分析企业到底需要什么样的PHP程序员 标签(空格分隔): ...
- Info - 信息分析思路概要
信息分析要素 局部 --->整体 显性 --->隐性 表面 --->本质 割裂 --->联系 特殊 --->普遍 串行 --->并发 纵向 --->横向 单点 ...
- make V=1 查看完整的gcc编译信息
Linux内核make命令选项 2012年5月28日lenky发表评论阅读评论6,289 次浏览 升级Linux内核的操作已经变得很简单,基本的几个命令即可搞定:make menuconfig.m ...
- 持续集成篇_08_Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)
持续集成篇_08_Hudson持续集成服务器的使用(自动化编译.分析.打包.部署) 1.创建任务 svn用户验证 验证通过 *****五颗*表示每分钟检查svn路径是否有变更,有变更就会重新构建,相当 ...
随机推荐
- [主席树]SPOJ DQUERY
题目链接 题意:n个数 m个查询 查询的是[l, r]区间内不相同的数的个数 没有修改,因此静态的主席树就好了 将重复的元素建树即可 query的时候加起来,用区间长度(r-l+1)去减就是答案 (q ...
- 李洪强iOS开发之OC语言description方法和sel
OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象 ...
- A. Counting Kangaroos is Fun(贪心)
#include<stdio.h> #include<algorithm> using namespace std; ]; int main() { int i,n,high; ...
- Linux下使用mail命令发送邮件
因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...
- CreateTwoArray
public class CreateTwoArray{ public static void main(String []args){ int[][]arr=new int [2][3]; Syst ...
- System.Windows.Forms.AxHost.InvalidActiveXStateException”类型的异常在 ESRI.ArcGIS.AxControls.dll 中发生,但未在用户代码中进行处理
private void CopyAndOverwriteMap() { //IObjectCopy接口变量申明 IObjectCopy objectCopy = new ObjectCopyClas ...
- C++:函数模板与模板函数
6.1 模板的概念 C++允许用同一个函数定义函数,这些函数的参数个数和参数类型不同.例如求最大值的max函数, int max(int x,int y) { return (x>y ...
- HDU5087——Revenge of LIS II(BestCoder Round #16)
Revenge of LIS II Problem DescriptionIn computer science, the longest increasing subsequence problem ...
- Java中boolean型变量的默认值问题
1.首先分析Java中的三种不同变量的区别,如下表所示 概念 默认值 其他 类变量 也叫静态变量,是类中独立于方法之外的变量 用static 修饰 有默认初始值,系统自动初始化. 如boolean ...
- 【HDOJ】4080 Stammering Aliens
1. 题目描述给定一个长为$n \in [1, 4000]$的字符串,求其中长度最长的子串,并且该子串在原串中出现至少$m$次,并求最右起始位置. 2. 基本思路两种方法:二分+后缀数组,或者二分+哈 ...