summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c')
-rw-r--r--FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c55
1 files changed, 28 insertions, 27 deletions
diff --git a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c
index 9b534f38d..a8dd1e608 100644
--- a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c
+++ b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main.c
@@ -32,6 +32,7 @@
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
+#include <stdlib.h>
void vApplicationStackOverflowHook( TaskHandle_t pxTask,
char * pcTaskName );
@@ -56,17 +57,17 @@ StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
int main()
{
#if ( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )
- {
- main_blinky();
- }
+ {
+ main_blinky();
+ }
#elif ( mainCREATE_FULL_DEMO_ONLY == 1 )
- {
- main_full();
- }
+ {
+ main_full();
+ }
#else
- {
- #error "Invalid Selection...\nPlease Select a Demo application from the main command"
- }
+ {
+ #error "Invalid Selection...\nPlease Select a Demo application from the main command"
+ }
#endif /* if ( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) */
return 0;
}
@@ -108,11 +109,11 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask,
void vApplicationIdleHook( void )
{
#if ( mainCREATE_FULL_DEMO_ONLY == 1 )
- {
- /* Call the idle task processing used by the full demo. The simple
- * blinky demo does not use the idle task hook. */
- vFullDemoIdleFunction();
- }
+ {
+ /* Call the idle task processing used by the full demo. The simple
+ * blinky demo does not use the idle task hook. */
+ vFullDemoIdleFunction();
+ }
#endif
}
/*-----------------------------------------------------------*/
@@ -120,28 +121,28 @@ void vApplicationIdleHook( void )
void vApplicationTickHook( void )
{
#if ( mainCREATE_FULL_DEMO_ONLY == 1 )
- {
- vFullDemoTickHookFunction();
- }
+ {
+ vFullDemoTickHookFunction();
+ }
#endif /* mainSELECTED_APPLICATION */
}
+
/*-----------------------------------------------------------*/
-void vAssertCalled( void )
+void vAssertCalled( const char * pcFileName,
+ int line )
{
- volatile unsigned long looping = 0;
+ printf( "Assertion failed at %s: %d\n", pcFileName, line );
+ fflush( NULL );
- taskENTER_CRITICAL();
+ while( 1 )
{
- /* Use the debugger to set ul to a non-zero value in order to step out
- * of this function to determine why it was called. */
- while( looping == 0LU )
- {
- portNOP();
- }
+ asm ( "nop" );
}
- taskEXIT_CRITICAL();
+
+ exit( 1 );
}
+
/*-----------------------------------------------------------*/
void vLoggingPrintf( const char * pcFormat,
... )