My code supposed to use ECODE memory region only. I've noticed that several issues are related to this requirement: - placing "code" directive in C places the function in CODE only area. - if code uses library ( not explicitly specified ) the code is placed in CODE area. This feature violates my requirements.
Do You know how to places the library code in ECODE area?
I'm using library long multiplication function ( input parameters in registers, as well as output). Does anyone have any hint for MUL function in KEIL A51 or long numbers (32 bits) ? Regards Robert
Is it a BUG with no workaround? I was always thinking that Keil compiler is a good product. Maybe until now.
Isn't CODE a subset of ECODE? http://www.keil.com/support/man/docs/l251/l251_in_ecode.htm
May be you need to be using a different library, built to reside in different segments.
Suggest you contact support with a clear breakdown on what you want to achieve and why.
it's not a problem with name ECODE. it's a problem with name CODE. Keil takes assumption, that code must reside in CODE are only. This limitation brings severe consequences. Library must be in CODE area, which location is taken from the Uranium. If I name my area BIGBANG the code compile, but the final hex will be broken into two parts: CODE BIGBANG This mean code compiles without errors but crash afterwards for no reason