This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Custom optimize settings in a code

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