首页 > 电子

编译完可直接在buildoutput窗口查看

编译完可以直接在buildoutput窗口查看,还有keil3里peripheral选项里也可以查看如图:Disassembly窗口反汇编窗口。keil如何快速找到代码高级查找步骤一:首先工程编译选项中要选择如图一:【BrowseInfomation】选项,即浏览信息。

1、单片机程序大小是看生成的HEX文件的大小还是看KEIL编译结束后显示的CO...

当然是CODE的大小,hex是显示你的文本文件的大小,跟代码的大小是有一定区别的。那当然是KEIL编译结束后显示的CODE大小。是hex的大小,因为hex文件才是下到单片机中的东西。这里有一点需要的是:无论是HEX的大小,还是编译后CODE的大小,都不是烧入到MCU中代码的“真实”容量。因为这里涉及到数据存放格式相关问题,具体我就不说了。

2、关于KeilC存储容量的问题各位大虾帮帮忙

不是的,你那个1K,是文件的大小,不是你烧进单片机占用空间的大小,占用的空间也就几个字节。那是文件大小,不是code大小。.hex文件中包含有实际代码的存储地址、帧长度、类型、校验等,而这些东西在你烧录程序时并不会烧录进单片机,这些东西只是为烧录软件指定程序要烧录进单片机的地址,以及保证要烧录数据的完整性。所以实际烧录进单片机的数据要远远小于.hex中的数据。

所以,你的单片机为8K大小,.hex文件是可以远远大于8KB的。要查询你的程序占用了多大的空间有两个办法,一个是利用编译器查看编译后可执行文件的大小,比如keilc就很容易查看,在build窗口中,编译后有下列类似语句:ProgramSize:Code5060ROdata12RWdata40ZI-data1792其中的Code说明我的代码大小为5060个字节,不到5KB,这个时候我的.hex文件大小是15KB。

3、keil里怎样查看工作寄存器、SFR、片内RAM、片外RAM及程序代码空间内容?D...

调试状态下,view>watch/memoryC:code代码空间D:data工作寄存器和片内RAMX:xdata片外RAM内容。比如键入C:0x50就可以看代码空间0x50处的内容。disassembly窗口的作用是让你了解程序的执行情况。编译完可以直接在buildoutput窗口查看,还有keil3里peripheral选项里也可以查看如图:Disassembly窗口反汇编窗口。

4、怎么看keil编译器定义的数据类型占多少位?

项目编译后,进入调试模式(debugmode)[点start/stopdebugsession进入]然后查看符号窗口Viewsymbolwindow。办法1:直接在代码中,使用sizeof运算符,例如asizeof(int),那么a的值就是int的长度。办法2:编译成功后,打开.map文件(或.m51),查找SYMBOL例如:HSYMBOLDATABYTEtempHSYMBOLDATABYTEtemp2temp,temp2是变量名,00036H是变量起始地址,DATA表示在data区,BYTE表示变量是BYTE型的,也就是一个字节。

5、keil编译后code的大小问题

因为你注释掉的语句里包含了乘法和除法运算,单片机不能直接算除法的,需要编译器来用代码实现,很占用code。而且你最后一行还有浮点数的运算,这个单片机也是不能直接算浮点的,需要编译器用大量代码来实现的。是看Code。不过Code的大小并不一定等于烧到芯片里的大小。这个很简单,首先先说最后一条,你涉及到了小数,也就是浮点数的计算,在所有的单片机中,有的带有浮点数计算,比如高级的ARM,有些不带,凡是不带浮点数硬件计算模块的,都要通过语言来处理,浮点数的计算是非常复杂的,所以,最后一个代码最大,当然,结果也最精确。

6、keil如何快速找到代码

高级查找步骤一:首先工程编译选项中要选择如图一:【BrowseInfomation】选项,即浏览信息。全编译工程至没有错误,这一点很重要,如果有严重的错误,则可能没有编译完,即一般的查找可能不会查到整个工程文件的内容,选成搜索的信息不全或是没有。​图一:设置编译选项步骤二:如图二,双击需要查找的内容选中后,点击右键,选择查找项:这里为简单的查找方式,方便与快速。

这里必须是全编译通过的工程源码。图二:选中并右键查找,步骤三:如图三,部分汇编函数的变量或是函数名无法找到。有时查不到,怎么办呢?继续以下的方法,图三:简单的查找没有找到相关项。步骤四:如图四,选中后,通过Edit>Findinfiles..高级查找功能,这里要点就是设置搜索筛选的条件及文件范围,如是否精确查找或是只要部分包含等选项。

保存到:

相关文章

Top