Can You explain me something. Why in ARM microcontrollers each IDE use startup files? Where from the compiler knows that the first think is to execude the code from startup. Each C language programms should start from main() funcion and here the program starts from startup? If the startup does not exists it works fine too but we have to make Heap, stack and other by ourself but in main()? If I add different startup called whatever i want and add it to group in project in will be done the as first too so it means that the name of the startupp file is not important.
Can you explain me how does it work? (for example in Keil)
In other words what makes that the startup file is execute firs
The location (mostly, in flash) of its binary image!
You want to say that is in some way independent. Startup is compiled its code is put in flash according to the given location and beside it jumps to main() function? I think I have missed something
Per reply explains it all. The common reference in the startup file and the scatter file to RESET places the startup at the entry address to internal flash.