The main routine follows the initialization steps described
above and then enters a loop in which it toggles an LED and waits for 250ms.
Procedure main is followed by code implementing the delay function which
utilizes the system timer. Finally, a helper function is provided to handle
assertion violations in the firmware library (required if USE_FULL_ASSERT is
defined when compiling firmware library modules).