【问题标题】:8051 with Keil-C filesize issue using a Megawin processor8051 与使用 Megawin 处理器的 Keil-C 文件大小问题
【发布时间】:2015-04-24 15:35:25
【问题描述】:

我使用 Keil C 为 MegaWin 8051 MPC82G516A 编写了一个程序。当我检查英特尔生成的十六进制文件的文件大小时,它的大小为 8kb(我在二进制代码窗口中看到了代码),但是当我使用 Megawin 的工具对设备进行编程时,它会将代码大小增加到大约 29kb! ?谁能提供它可能这样做的原因?

另外,另一个奇怪的事实是它似乎是在处理器内存的顶部而不是在开始时编写代码。代码的开头大概有 4 个字节,但其余的全部在内存的末尾。

请帮忙

卡梅隆。

【问题讨论】:

标签: 8051


【解决方案1】:

您写道,您的代码的 intel hex 文件的文件大小约为 8k。您的程序的一部分被写入地址空间的底部。 另一部分写入地址空间的底部。

intel hex 文件不仅包含程序代码,还包含该代码应写入的地址。 您可以检查自己的文件是否包含地址空间底部和顶部的代码。 关于intel hex格式的一些信息:http://www.keil.com/support/man/docs/oh166/oh166_ih_record.htm

如果是这种情况,您可以检查链接器在构建过程中生成的 .m51 文件。 此文件包含有关您的程序中包含的模块的信息以及它们链接到的地址。 也许您的项目中有一些链接器设置告诉链接器按照您的指示行事。

【讨论】:

    【解决方案2】:

    我错过了阅读编辑器上的文件大小。此外,Keil 的免费版本从 2000Kb 位置开始。这是评估版限制的一部分。

    【讨论】:

      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多