I am new to the Dynamic C and i am trying to pick up a project where a previous engineer left off. i have the source files and i have tried to comipile a program that the previous engineerng had compiled and loaded into a BL4S160 board. When i try to compile i get a ERROR UTIL.LIB: out of root code space. Since the previous engineer was able to get this compiled and loaded, i am not sure what i am doing wrong. Is there different set ups in the compiler that makes the end code space smaller? Or do i have some other issue?
Are you loading the project file? It will contain various settings that can affect memory. Once you know you are loading the project file (or have created a new one), try turning on use separate I&D spaces, this uses separate memory for instructions and data and can up to double the memory you have.
Also check out
http://www.rabbit.com/documentation/docs/refs/TN238/TN238.pdf
for lots of good “hacks” on how to save memory.
My Rabbit app. has gotten quite large and I am constantly running into memory problems, it’s making for very slow progress.
Good luck, feel free to contact me if you need more help.
Some projects are code heavy and some projects are data heavy. The default build options for a particular target may not be the optimum for the particular application you are trying to build.
You can adjust the mixture of space allocated for code and data by changing the XMEMCODE_SIZE macro definition. This is done by selecting the defines tab in the Project Options dialog and adding a line like:
XMEMCODE_SIZE=0x70000
With appropriate values for your app instead of 0x70000
I had to use this approach to get the BACnet stack to build for the BL5S220 as the WiFi code in that device takes up a big chunk of the code space (see the BL5S220 port at https://sourceforge.net/projects/bacrabbit/ for details).
Regards,
Peter