Hi guys,
I am currently using the evaluation software C51 tool kit to compile my c code into machine code. Apparently, this version of software has a limitation of 2k of object code. At first I thought that will be a .hex file, but then after I manage to squeeze my code size to a size that the version is able to compile (before that it always comes out with a message saying I exceed the 2k limit), I realise that my .hex file is around 8kB, so it is clear that that is not the one. I would like to ask what does it mean by object code? Which will be the file that cannot exceed 2k of size? Shouldn't be the one with .obj as well I think, as those exceed 2k as well.
Thanks guys.
Regards, Siang
what is my program size then?
Program Size: Code=27636 RO-data=676 RW-data=496 ZI-data=27516
the binary on the hard disk without debug information is 34,164 bytes long.
Note that a binary file does not contain any address information. If the code has holes, then the binary file must fill these holes with 0x00 or 0xff, which means that a binary file may be bigger than what is expected from the build log output.
Does your code contain both a boot loader and an application? It seems like the binary file has filled a gap between two code blocks to become as large as it is.
Program Size: Code=27636 RO-data=676 RW-data=496 ZI-data=27516<p>
That doesn't look like the output from C51, but rather like that of the ARM compiler.