We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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.