在单片机中怎样计算程序占用的RAM空间?

如题所述

如果是用汇编语言编写程序,使用那些RAM单元,是由编程者自己安排的;
那么占用的RAM空间,编程者就可以很容易的计算出来。

如果是用C语言编写程序,使用那些RAM单元,编程者就不知道了;不同的编译软件、不同的编译条件,很复杂。必须由编译软件给出报告才能知道。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-12
如果是用汇编语言编写程序,自己需要负责RAM的使用分配的,很容易计算;
如果是用C语言编写程序,就很难计算,问题是有的时候是计算不出来的,当实际运行时实际使用RAM的数量是不确定的,用C语言编写程序会出现实际运行中RAM不够用问题,而且测试不出来,所以最好用汇编语言编写程序。
第2个回答  2011-11-12
用keil软件编写完程序后,在编译时编译信息中leil软件已经计算好了程序中各个存储单元的使用情况!
第3个回答  2011-11-12
单片机在运行中自己计算程序占用的RAM空间???
编译的时候编译器不是会输出编译提示吗?上面就告诉你用了多少ROM和RAM了。
第4个回答  2011-11-12
这个在编译器中就能看到,程序编译没有错误后会显示的

在单片机中怎样计算程序占用的RAM空间?
如果是用汇编语言编写程序,使用那些RAM单元,是由编程者自己安排的;那么占用的RAM空间,编程者就可以很容易的计算出来。如果是用C语言编写程序,使用那些RAM单元,编程者就不知道了;不同的编译软件、不同的编译条件,很复杂。必须由编译软件给出报告才能知道。

怎样查看单片机运行时RAM的使用量??
1.单片机内部都有指针SP,SP往往能指示出堆栈的栈顶,你可以编写一段代码不停地打印出SP的值,也即正在使用的堆栈的大小,它一定程度上反映出了RAM的使用量。2.程序启动时,将所有RAM值初始化为0,程序运行一段时间后,被使用过的RAM值一般不再会是0,而没被使用过的RAM是一段连续的全为0的区间。

关于AVR单片机程序存储器空间计算
1~256KB的FLASH,这里的单位是字节,(1~256KB)*8 位,正好是(512~128K)*16 位,(这里的512不是K,而是byte),一样的对吧,只是后者是以字为单位,即可以存放(512~128K)条2字节指令。注意字与字节,这里所说的字是指16位,即2个字节;字节就是我们常说的8位了,即一个flash\/ram的...

单片机的内部ram是什么?
低128字节中的00H到1FH区域包含32个单元,通常用作工作寄存器区;30H到37H区域则作为用户RAM,用于栈操作或数据缓冲;80H到7FH单元构成了高128字节的专用寄存器区,即特殊功能寄存区。这些寄存器区在存储器中并不连续占据所有地址空间,因此对未使用的地址进行操作是没有意义的。MCS-51单片机的存储器采...

单片机内部的ram地址是如何分配的?
1. 在单片机的内部RAM中,从20H到2FH的16个字节可以通过位寻址的方式进行访问,这些位地址范围从00H到7FH。2. 如果某个位地址为48H,那么相应的单元地址可以通过计算得出:单元地址 = (48H \/ 8) + 20H = 29H。3. 在特殊功能寄存区中,某些寄存器可以进行位寻址。例如,地址为90H的寄存器,...

单片机的ram地址是如何分配的?
单片机内部RAM中低128字节的20H~2FH共16个字节可以用位寻址方式访问其各位。共128个位地址为00H~7FH。假设位地址为48H,那么单元地址=48H\/8+20H=29H。特殊功能寄存区中有的可以位寻址,用查表法,就可以得到,例如90H,查表得到,对应的字节地址为90H。低128字节中的00H~1FH共32个单元通常作为...

怎样知道hex文件烧到单片机中占多大程序存储器空间
大约3~4K,单片机的程序都是 .BIN格式的文件,其大小大约为 .HEX文件的三分之一。你可以将 .HEX文件转变为 .BIN文件再看它的大小,一定占不了8KB的空间。

51单片机中的ram的地址是如何分配的?
- 对于8052系列单片机,此范围内还有128字节的片内通用RAM。- 需使用间接寻址方式进行操作。6. 指令存储区:- 地址范围:0000H~FFFFH - 用于存储程序指令。- 程序按顺序存放。7. 程序计数器(PC):- 位于CPU中,用于追踪指令所在的地址。- 开始执行程序时,PC赋予第一条指令的地址。- 每执行一条...

怎么查看单片机程序占多少RAM ROM
如果有程序的话编译时下面有提示你的程序有多大,你再查一下使用手册看看单片机容量就能算出比例了

内部RAM中 位所在字节的字节地址的计算
在MCS-51单片机的内部RAM中,低128字节的00H至2FH范围内,通过位寻址可以访问16个字节的每一位,这些位的地址范围从00H到7FH。若要找到位地址48H对应的单元地址,计算公式为48H除以8并加上20H,结果为29H。例如,90H的位地址可通过查表法得知其字节地址为90H。在低128字节中,00H至1FH的32个...

相似回答