Hi !
I was working with my microcontroller and when I compiled it i got
Out of allocation space in segment ROM at address 0xFB8F - in a HCS08 QG8
Is this has to do due to a license issue ?
Can i do something else to "have" more space to add more code into my microcontroller ?
Project.prm file here :
Out of allocation space in segment ROM at address 0xFB8F - in a HCS08 QG8
/* This is a linker parameter file for the mc9s08qg8 */
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
Z_RAM = READ_WRITE 0x0060 TO 0x00FF;
RAM = READ_WRITE 0x0100 TO 0x025F;
ROM = READ_ONLY 0xE000 TO 0xFFAD;
ROM1 = READ_ONLY 0xFFC0 TO 0xFFCF;
/* INTVECTS = READ_ONLY 0xFFD0 TO 0xFFFF; Reserved for Interrupt Vectors */
END
PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */
DEFAULT_RAM, /* non-zero page variables */
INTO RAM;
_PRESTART, /* startup code */
STARTUP, /* startup data structures */
ROM_VAR, /* constant variables */
STRINGS, /* string literals */
VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */
DEFAULT_ROM,
COPY /* copy down information: how to initialize variables */
INTO ROM; /* ,ROM1: To use "ROM1" as well, pass the option -OnB=b to the compiler */
_DATA_ZEROPAGE, /* zero page variables */
MY_ZEROPAGE INTO Z_RAM;
END
STACKSIZE 0x80
VECTOR 0 _Startup /* Reset vector: this is the default entry point for an application. */
Please advice
Thanks Gus!
Unless there are mistakes in the various definitions, all this means is that your code is too big for this device.
This device can handle more code that I put.
No mistakes in definitions.
Greetings!
Hi Gus,
I just noticed this question was also answered in SR1-3849004261.
per your feedback. your question got answered.
I post the solution here in case it can also help other customers who have the similar issue. thanks for your understanding.
"the problem is massive memory is used by ansi floating lib functions.
memory resources on QG8 are quite limited. while use floating lib ansifs.lib support and much floating computation, which very memory consuming. QG8 memory can't hold them.
so what i suggest you is:
1. don't use floating lib and avoid floating computation in your code. this can reduce the code size.
2. if you want to use floating anyway, I suggest you choose larger memory chip instead,
"
Have a great day,
Zhang Jun
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you Jennie!