Hi all,
Anybody using Global Register Optimization in combination with a command line based build environment, using the C166 toolchain (see http://www.keil.com/support/man/docs/c166/c166_regfile.htm)? I am trying to figure out how I could incorporate this into our build environment, both to get as much out of the Keil tools as possible in a regular build, and the challenge of optimizing the build environment itself (makefiles, scripts, etc.) in order to support this.
It does seem to be supported on C51, as described in http://www.keil.com/support/docs/904.htm ("COMMAND LINE GLOBAL REGISTER OPTIMIZATION") but not on C166. The map-file does _not_ list the .c files to rebuild, like it does for the C51...
What I see is that the map-file does _not_ suggest a "re-translation" (i.e. rebuild) but when I remove all the .o files and rebuild, with the register definition file being specified, it does generate a file that is 4KB smaller than after a clean build. That's not what I expected and I expected the map-file to have suggested a rebuild in the first place.
-- Joost
Have you tried adjusting the core affinity?
Could you explain what you mean with that? Is it a uVision related term? We are not using uVision, just a GNU make based build environment calling the Keil compiler/assembler/linker.
Are you using an OS and have multiple tasks? Sometimes, you must specify the core for a particular task.
For example in Windows (TM) you can go to task manager, select the task, right click and ensure the affinity is correct.
You can adjust it on a once-per-run option or by using various third party utilities. Some are freeware.
I think we are talking about two completely different things :-)
Whoops!!!
I just re-read your original post.
I was thinking something else.
Sorry.