If I create a new project in uVision 4, for a Cortex-M3 processor, there is no option to create the startup code, and the project is created with no files, and no startup.c
Have I missed a step somewhere?
A generic CM3, or one from a specific vendor?
With uV4 these should be examples for multiple boards and chips. Find a close equivalent and copy the startup_xyz.s and system_xyz.c files across into you project directory, and Add as existing files.
The SystemInit() routine can likely be left empty, and the Vector table only needs to manage the System Handlers.
Review example projects to understand their structure and composition.
Thanks for the quick reply! I will use your suggestions.