Program size of empty main function


I start simple program, just for test.

The chip is STM32f103C8. When I try to compile empty main function (project create by keil ARM ony with sturpup file and CMSIS) i get

Program Size: Code=648 RO-data=252 RW-data=0 ZI-data=1632 

why ZI is so big? How to determine what are those ZI Data

And by the way, why Keil adds such files like RTE_Device.h, and system_stm32f10x.c(startup)

I know that there should be startup_stm32f10x_md.s because it is important  but why is system_stm32f10x.c(startup) for and do I need this file and RTE_Device?

More questions in this forum