</tool>\r
</toolChain>\r
</folderInfo>\r
- <folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.840887560.620646012" name="/" resourcePath="FreeRTOS+CLI/Examples">\r
- <toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.debug.2111927848" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.debug" unusedChildren="">\r
- <option id="cdt.managedbuild.option.gnu.cross.prefix.1982152472.1688335078" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix.1982152472"/>\r
- <option id="cdt.managedbuild.option.gnu.cross.path.859871788.1933970670" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path.859871788"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.941709227" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler.909202128"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.2304967" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler.81973727"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.c.linker.344179079" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker.451869963"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.285236367" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker.372124763"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.archiver.1219871621" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver.550935274"/>\r
- <tool id="cdt.managedbuild.tool.gnu.cross.assembler.105343637" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler.738229482"/>\r
- </toolChain>\r
- </folderInfo>\r
<sourceEntries>\r
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
</sourceEntries>\r
</scannerConfigBuildInfo>\r
</storageModule>\r
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>\r
- <storageModule moduleId="refreshScope"/>\r
+ <storageModule moduleId="refreshScope" versionNumber="2">\r
+ <configuration configurationName="Debug">\r
+ <resource resourceType="PROJECT" workspacePath="/RTOSDemo"/>\r
+ </configuration>\r
+ </storageModule>\r
</cproject>\r
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common</locationURI>\r
</link>\r
<link>\r
- <name>FreeRTOS+CLI/Examples</name>\r
+ <name>FreeRTOS+CLI/CLI_Examples</name>\r
<type>2</type>\r
<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos</locationURI>\r
</link>\r
+ <link>\r
+ <name>FreeRTOS+CLI/Examples</name>\r
+ <type>2</type>\r
+ <location>C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos</location>\r
+ </link>\r
</linkedResources>\r
<filteredResources>\r
<filter>\r
</matcher>\r
</filter>\r
<filter>\r
- <id>1412167807232</id>\r
+ <id>1412856477507</id>\r
+ <name>FreeRTOS+CLI/CLI_Examples</name>\r
+ <type>5</type>\r
+ <matcher>\r
+ <id>org.eclipse.ui.ide.multiFilter</id>\r
+ <arguments>1.0-name-matches-false-false-Sample-CLI-commands.c</arguments>\r
+ </matcher>\r
+ </filter>\r
+ <filter>\r
+ <id>1412856477537</id>\r
+ <name>FreeRTOS+CLI/CLI_Examples</name>\r
+ <type>5</type>\r
+ <matcher>\r
+ <id>org.eclipse.ui.ide.multiFilter</id>\r
+ <arguments>1.0-name-matches-false-false-UARTCommandConsole.c</arguments>\r
+ </matcher>\r
+ </filter>\r
+ <filter>\r
+ <id>1412859886777</id>\r
<name>FreeRTOS+CLI/Examples</name>\r
<type>5</type>\r
<matcher>\r
</matcher>\r
</filter>\r
<filter>\r
- <id>1412167807242</id>\r
+ <id>1412859886785</id>\r
<name>FreeRTOS+CLI/Examples</name>\r
<type>5</type>\r
<matcher>\r
ALT_STATUS_CODE uart0_uninit(void) {
- ALT_STATUS_CODE status;
+ ALT_STATUS_CODE status = 0;
status += alt_16550_disable(&g_uart0_handle);
*/\r
#define configMAX_API_CALL_INTERRUPT_PRIORITY 18\r
\r
+/* The application will define the array used as the RTOS heap to ensure it can\r
+be located in the (faster) on-chip RAM. Whe this parameter is set to 1 the\r
+application must define an array using the name and size as follows below, but\r
+is free to locate the array in any suitable RAM region (the faster the better as\r
+the stacks used by the tasks are allocated from this array):\r
+\r
+uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];\r
+\r
+*/\r
+#define configAPPLICATION_ALLOCATED_HEAP 1\r
+\r
#define configCPU_CLOCK_HZ /* Not used in this portabsciex.com. */\r
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1\r
#define configUSE_TICKLESS_IDLE 0\r
* When mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0 the comprehensive test\r
* and demo application will be run.\r
*/\r
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0\r
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1\r
\r
/*-----------------------------------------------------------*/\r
\r
\r
/*-----------------------------------------------------------*/\r
\r
+/* configAPPLICATION_ALLOCATED_HEAP is set to 1 in FreeRTOSConfig.h so the\r
+application can define the array used as the FreeRTOS heap. This is done so the\r
+heap can be forced into fast internal RAM - useful because the stacks used by\r
+the tasks come from this space. */\r
+uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__ ( ( section( ".oc_ram" ) ) );\r
+\r
+/* FreeRTOS uses its own interrupt handler code. This code cannot use the array\r
+of handlers defined by the Altera drivers because the array is declared static,\r
+and so not accessible outside of the dirver's source file. Instead declare an\r
+array for use by the FreeRTOS handler. See:\r
+http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html. */\r
+static INT_DISPATCH_t xISRHandlers[ ALT_INT_PROVISION_INT_COUNT ];\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
int main( void )\r
{\r
/* Configure the hardware ready to run the demo. */\r
vRegisterIRQHandler( ALT_INT_INTERRUPT_PPI_TIMER_PRIVATE, ( alt_int_callback_t ) FreeRTOS_Tick_Handler, NULL );\r
\r
/* This tick interrupt must run at the lowest priority. */\r
-#warning Is this the correct way of specifying the priority value?\r
alt_int_dist_priority_set( ALT_INT_INTERRUPT_PPI_TIMER_PRIVATE, portLOWEST_USABLE_INTERRUPT_PRIORITY << portPRIORITY_SHIFT );\r
\r
/* Ensure the interrupt is forwarded to the CPU. */\r
}\r
/*-----------------------------------------------------------*/\r
\r
-#warning A separate array of handlers is maintained as the drivers array is static so cannot be reached and the handler is incompatible.\r
-static INT_DISPATCH_t xISRHandlers[ ALT_INT_PROVISION_INT_COUNT ];\r
-\r
void vRegisterIRQHandler( uint32_t ulID, alt_int_callback_t pxHandlerFunction, void *pvContext )\r
{\r
if( ulID < ALT_INT_PROVISION_INT_COUNT )\r