]> git.sur5r.net Git - freertos/commitdiff
Cleaning up LPC51U68 projects:
authoryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 24 Jan 2020 07:53:14 +0000 (07:53 +0000)
committeryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 24 Jan 2020 07:53:14 +0000 (07:53 +0000)
- user playable settings are all in FreeRTOSConfig.h.
- removed reference to IntQueue.h in main_full.c
- readme.txt wording.

git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2809 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM [deleted file]
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM [deleted file]
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c
FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt

index 226716e4f915599ac4ad93b750605956f3811660..e99970c6e1a0d08a1c2d1f11846bc0a3ec80c795 100644 (file)
@@ -38,7 +38,7 @@
                <link>\r
                        <name>Demo_tasks/IntQueue.c</name>\r
                        <type>1</type>\r
-                       <locationURI>PARENT-1-PROJECT_LOC/Common/Minimal/IntQueue.c</locationURI>\r
+                       <location>C:/Users/yuhzheng/Documents/freertos-code/FreeRTOS/Demo/Common/Minimal/IntQueue.c</location>\r
                </link>\r
                <link>\r
                        <name>Demo_tasks/blocktim.c</name>\r
index aa150c60097ea7b21f0e152b80ab9628fb8370fc..15f146c566d4e642ab484b989eb6735e99195996 100644 (file)
       <DebugFlag>
         <trace>0</trace>
         <periodic>1</periodic>
-        <aLwin>1</aLwin>
+        <aLwin>0</aLwin>
         <aCover>0</aCover>
         <aSer1>0</aSer1>
         <aSer2>0</aSer2>
 
   <Group>
     <GroupName>Application_Code</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
 
   <Group>
     <GroupName>startup</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM
deleted file mode 100644 (file)
index 517f0be..0000000
Binary files a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM and /dev/null differ
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM
deleted file mode 100644 (file)
index 517f0be..0000000
Binary files a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM and /dev/null differ
index 5167987c96e1d8d92535bfed7fd8c118133690c3..3a030396e92698a82c8311d13675ea13e5dadd17 100644 (file)
@@ -29,4 +29,9 @@
 todo: \r
 this is commented out intentionally, as it doesn't seem to work. \r
 Clean up is needed*/\r
-#define COMPILER_ATTRIBUTE_PLACE_IN_2ND_MEMORY_BANK                    //__attribute__((section("m_data_start")))\r
+\r
+/* Attribute to place the second FreeRTOS heap in another memory bank, if present. \r
+   This is defined as empty, as the linker file (LPC51U68_flash.scf) provided only\r
+   one bank as heap. Could still have two FreeRTOS heap regions, as long as they fit.  \r
+*/\r
+#define COMPILER_ATTRIBUTE_PLACE_IN_2ND_MEMORY_BANK\r
index e2551e7bcde88bb0579adefa5d7b4a7bbfa1489e..f4402eddf58bc6846c737d47c7bb6ac0eda9f60a 100644 (file)
  * See http://www.freertos.org/a00110.html\r
  *----------------------------------------------------------*/\r
 \r
+/* Demo related settings. */\r
+\r
+/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to\r
+ * 0 -- to run the more comprehensive test and demo application,\r
+ * 1 -- to run the simple blinky demo.\r
+ */\r
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     1\r
+\r
+/* When mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0,\r
+ * set mainNO_TASK_NO_CHECK to\r
+ * 0 -- to include all predefined test tasks and checks,\r
+ * 1 -- to exclude all predefined test tasks and checks.\r
+ * When set to 1 (with few tasks in system), user could observe\r
+ * fewer tick interrupts thus reduce overall MCU power consumption. */\r
+#define mainNO_TASK_NO_CHECK                           0\r
+\r
 /* Prevent C code being included by the IAR assembler. */\r
 #ifndef __IASMARM__\r
   #include <stdint.h>\r
@@ -52,8 +68,8 @@
 #define configUSE_TICK_HOOK                            1\r
 #define configCPU_CLOCK_HZ                             ( SystemCoreClock )\r
 #define configTICK_RATE_HZ                             ( ( TickType_t ) 1000 )\r
-#define configMAX_PRIORITIES                   ( 5 )\r
-#define configMAX_TASK_NAME_LEN                        ( 5 )\r
+#define configMAX_PRIORITIES                   5\r
+#define configMAX_TASK_NAME_LEN                        8\r
 #define configUSE_TRACE_FACILITY               1\r
 #define configUSE_16_BIT_TICKS                 0\r
 #define configIDLE_SHOULD_YIELD                        1\r
@@ -80,7 +96,7 @@
 \r
 /* Software timer definitions. */\r
 #define configUSE_TIMERS                               1\r
-#define configTIMER_TASK_PRIORITY              ( 2 )\r
+#define configTIMER_TASK_PRIORITY              2\r
 #define configTIMER_QUEUE_LENGTH               2\r
 #define configTIMER_TASK_STACK_DEPTH   ( configMINIMAL_STACK_SIZE )\r
 \r
index 07dd94bc70ae56a8cd34bb6e6c946210f966999c..820ebfdec830d2a041e45564ab2598fdfb98f3cf 100644 (file)
 \r
 #include "compiler_attributes.h"\r
 \r
-/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to\r
- * 0 -- to run the more comprehensive test and demo application,\r
- * 1 -- to run the simple blinky demo.\r
- */\r
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     0\r
-\r
 /*-----------------------------------------------------------*/\r
 typedef enum LED_STATE {\r
        LED_RED_BLINK_ON = 1,\r
index 286d1be6d1c534e12fe73e46538a74c163d32e06..2f6b882d444ab931844bd74e6045b2978c555964 100644 (file)
@@ -83,8 +83,6 @@
 #include "blocktim.h"\r
 #include "countsem.h"\r
 #include "recmutex.h"\r
-#include "IntQueue.h"\r
-\r
 \r
 /* The period after which the check timer will expire provided no errors have\r
 been reported by any of the standard demo tasks.  ms are converted to the\r
@@ -99,12 +97,6 @@ in ticks using the portTICK_PERIOD_MS constant. */
 /* A block time of zero simply means "don't block". */\r
 #define mainDONT_BLOCK                                         ( 0UL )\r
 \r
-/* Set mainNO_TASK_NO_CHECK to\r
- * 0 -- to include all predefined test tasks and checks,\r
- * 1 -- to exclude all predefined test tasks and checks.\r
- * When set to 1 (with few tasks in system), user could observe how tickless\r
- * idle could minimize tick interrupt. */\r
-#define mainNO_TASK_NO_CHECK                           ( 1 )\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r
@@ -155,7 +147,6 @@ TimerHandle_t xCheckTimer = NULL;
 #if ( mainNO_TASK_NO_CHECK == 0 )\r
        /* Create the standard demo tasks, including the interrupt nesting test\r
        tasks. */\r
-       vStartInterruptQueueTasks();\r
        vCreateBlockTimeTasks();\r
        vStartCountingSemaphoreTasks();\r
        vStartRecursiveMutexTasks();\r
@@ -222,11 +213,6 @@ unsigned long ulErrorFound = pdFALSE;
        \r
        /* Check all the demo and test tasks to ensure that they are all still\r
        running, and that none have detected an error. */\r
-       if( xAreIntQueueTasksStillRunning() != pdPASS )\r
-       {\r
-               ulErrorFound |= ( 0x01UL << 0UL );\r
-       }\r
-\r
        if( xAreBlockTimeTestTasksStillRunning() != pdPASS )\r
        {\r
                ulErrorFound |= ( 0x01UL << 1UL );\r
index fb06ed3a543b9f35c3735b1c27acfb0b98002c9d..7c2280d192dabb84fb706b5e12cdd9147523373e 100644 (file)
@@ -1,6 +1,9 @@
-This directory contains projects for GCC/IAR/Keil compilers. The targeted MCU is NXP LPC51U68, which is CM0+
+This directory contains three projects for LPCXpresso board for LPC51U68
 
-todo:
-- clean up IAR compiler warnings. (Though the warnings are in vendor's driver code, see if we can clean it up. )
-- finalize Keil linker script.(Two heap blocks shall be placed in intended RAM banks. Currently, both goes to a same RAM bank.)
-- GCC project folder directory name is not consistent with the other two. 
+MCUXpresso IDE (GCC compiler) -- .cproject and .project. 
+IAR for ARM IDE (IAR compiler) -- CORTEX_M0+_LPC51U68_IAR.*
+Keil uVision (ARM Keil compiler) -- CORTEX_M0+_LPC51U68_Keil.*
+
+Known facts:
+- IAR compiler shows Pa082 warning with SDK provided system_LPC51U68.c and fsl_usart.c. Since the warnings are legitimate, they are not ignored. 
+  Refer to https://www.iar.com/support/tech-notes/compiler/warningpa082-undefined-behavior-the-order-of-volatile-accesses-is-undefined-in-this-statement/