#define configUSE_TICK_HOOK 1\r
#define configTICK_RATE_HZ ( 1000 ) /* In this non-real time simulated environment the tick frequency has to be at least a multiple of the Win32 tick frequency, and therefore very slow. */\r
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 50 ) /* In this simulated case, the stack only has to hold one small structure as the real stack is part of the win32 thread. */\r
-#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 21 * 1024 ) )\r
+#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 22 * 1024 ) )\r
#define configMAX_TASK_NAME_LEN ( 12 )\r
#define configUSE_TRACE_FACILITY 1\r
#define configUSE_16_BIT_TICKS 0\r
<ClCompile Include="..\Common\Minimal\flop.c" />\r
<ClCompile Include="..\Common\Minimal\GenQTest.c" />\r
<ClCompile Include="..\Common\Minimal\integer.c" />\r
+ <ClCompile Include="..\Common\Minimal\IntSemTest.c" />\r
<ClCompile Include="..\Common\Minimal\PollQ.c" />\r
<ClCompile Include="..\Common\Minimal\QPeek.c" />\r
<ClCompile Include="..\Common\Minimal\QueueOverwrite.c" />\r
<ClCompile Include="..\..\Source\portable\MemMang\heap_5.c">\r
<Filter>FreeRTOS Source\Source\Portable</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\Common\Minimal\IntSemTest.c">\r
+ <Filter>Demo App Source\Common Demo Tasks</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="FreeRTOSConfig.h">\r
being used as this demo could easily create one large heap region instead of\r
multiple smaller heap regions - in which case heap_4.c would be the more\r
appropriate choice. */\r
-#define mainREGION_1_SIZE 2001\r
+#define mainREGION_1_SIZE 3001\r
#define mainREGION_2_SIZE 18005\r
#define mainREGION_3_SIZE 1007\r
\r
#include "QueueSet.h"\r
#include "QueueOverwrite.h"\r
#include "EventGroupsDemo.h"\r
+#include "IntSemTest.h"\r
\r
/* Priorities at which the tasks are created. */\r
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 2 )\r
vStartQueueOverwriteTask( mainQUEUE_OVERWRITE_PRIORITY );\r
xTaskCreate( prvDemoQueueSpaceFunctions, "QSpace", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
vStartEventGroupTasks();\r
+ vStartInterruptSemaphoreTasks();\r
\r
#if( configUSE_PREEMPTION != 0 )\r
{\r
}\r
#endif\r
\r
- if( xAreEventGroupTasksStillRunning() != pdTRUE )\r
+ if( xAreInterruptSemaphoreTasksStillRunning() != pdTRUE )\r
+ {\r
+ pcStatusMessage = "Error: IntSem";\r
+ }\r
+ else if( xAreEventGroupTasksStillRunning() != pdTRUE )\r
{\r
pcStatusMessage = "Error: EventGroup";\r
}\r
vPeriodicEventGroupsProcessing();\r
\r
/* Exercise giving mutexes from an interrupt. */\r
- vMutexISRInteractionTest();\r
+ vInterruptSemaphorePeriodicTest();\r
}\r
/*-----------------------------------------------------------*/\r
\r