1. I am using uVision 5, C51 V9.52 & wrote a code. It has multiple source files, one of which is task_manager.c. In it it has three functions: a) bit_reset() b) bit_set() c) rgb_write()
2. These are very time critical need to optimize for full speed, three functions only, rest code I want to be optimzie for size to save overall space. Whats the way to do that?
3. These settings I do for speed in keil, a)Use Extended Linker LX51 instead of Bl51 b) Level 8: Reuse Common code c) Speed emphasis d) Linker code pakcing(), AJMP
4. These settings I do for size in keil, a)Use Extended Linker LX51 instaed of Bl51 b) Level 11: Reuse Common code c) Size emphasis d) Linker code pakcing(), AJMP
5. I think these are best settings for size & speed. If any other settings, which can increase speed or decrease size, then let me know.
6. How I can do that on global level, I use minimum size setting option, while for three functions, I use max speed setting.
Sounds like your trying to drive "NeoPixels" or something similar?
In which case it's not so much the raw speed that's critical - but having precise timing.
And, in that case, a High-Level Language - such as 'C' - is not the way to go!
And higher optimisation levels will only make things worse!
See: www.8052mcu.com/.../149030