I am using ARM cortex m0 and i am facing an issue of more ROM space usage in that considerable amount is used by library members like _rtentry.o, __scatter_copy.o, aeabi_sdiv.o,rt_memcpy.o, rt_memclr.o,sys_stackheap_outer.o. Now how do i reduce this memory usage, why these library functions are getting called.
Not sure what you mean with "more" ROM space.
The CRTL - C Runtime Library - will also consume space just like the code you write yourself.
Some functions in the CRTL are helper functions to prepare the C environment for your code. Some are functions you are directly calling. Some are helper functions for things that are too complex for the compiler to inline during the code-generation phase.
The Keil tools are developed for use in embedded environments. So they are optimized to be as small as possible.
A function like aeabi_sdiv will be added if the compiler sees a need for a signed division that can't be handled directly with a processor instruction. But if the code does need to perform the division, then you don't have much options.
Remember that for small programs, the CRTL may represent a significant part of the total code size. As the program grows, the business logic part of the code will represent a larger and larger part of the total program size. But in the end, you need to select a processor that has enough resources for the intended task.
sorry i did not understand meaning of "CRTL - C", i also have question that is there any impact on software functionality if use "Use MicrLIB" option provided by keil.
But I did expand the term in full: "The CRTL - C Runtime Library". You must know the meaning of the C Runtime Library?
Yes, there are impacts on functionality if you use MicroLib. But if it affects you is something only you will now. I'm not going to list the differences - you just have to make use of the Keil documentation to figure out what simplifications Keil has introduced in MicroLib to create a leaner library based on the assumption that embedded projects often have quite limited resources and seldom needs 100% conformity with all parts of the C library as documented in the language standard.