eCosTM Reference Manual
Prev | Chapter 4. System start-up | Next

# System start-up — cyg_start()

`cyg_start()` is the core of the start-up mechanism. The default definition is in `infra/current/src/startup.cxx`

It calls, in turn,

`cyg_prestart()`
`cyg_package_start()`
`cyg_user_start()`

and then starts the eCos scheduler if the system has been configured to have a kernel and scheduler.

You can override the default `cyg_start()` routine by providing your own function by the same name with the following prototype:

`void cyg_start`(void);

Warning
Overriding `cyg_start()` should rarely, if ever, be done. The functions `cyg_prestart()` and `cyg_user_start()` described just below allow enough flexibility for installing user initialization code safely for almost all applications.

> Note: If you are supplying your own definition of this function from a C++ file, make sure it has “C” linkage.

Prev | Home | Next
System start-up | Up | System startup — cyg_prestart()