We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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