summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2020-01-24 07:53:14 +0000
committeryuhzheng <yuhzheng@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2020-01-24 07:53:14 +0000
commite47c1b75c020fc4836020b512f991e91563ada75 (patch)
tree9e70f2b63117870ecb7479a132bb1b32054846f4
parentd7bf5e2b2cc59b8db8f985f2ada8b90d00072acb (diff)
downloadfreertos-e47c1b75c020fc4836020b512f991e91563ada75.tar.gz
Cleaning up LPC51U68 projects:
- user playable settings are all in FreeRTOSConfig.h. - removed reference to IntQueue.h in main_full.c - readme.txt wording. git-svn-id: http://svn.code.sf.net/p/freertos/code/trunk@2809 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project2
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx6
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLMbin12752 -> 0 bytes
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLMbin12752 -> 0 bytes
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h7
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h22
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c6
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c14
-rw-r--r--FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt13
9 files changed, 37 insertions, 33 deletions
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project
index 226716e4f..e99970c6e 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project
@@ -38,7 +38,7 @@
<link>
<name>Demo_tasks/IntQueue.c</name>
<type>1</type>
- <locationURI>PARENT-1-PROJECT_LOC/Common/Minimal/IntQueue.c</locationURI>
+ <location>C:/Users/yuhzheng/Documents/freertos-code/FreeRTOS/Demo/Common/Minimal/IntQueue.c</location>
</link>
<link>
<name>Demo_tasks/blocktim.c</name>
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx
index aa150c600..15f146c56 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx
@@ -162,7 +162,7 @@
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
- <aLwin>1</aLwin>
+ <aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
@@ -210,7 +210,7 @@
<Group>
<GroupName>Application_Code</GroupName>
- <tvExp>0</tvExp>
+ <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -854,7 +854,7 @@
<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
index 517f0be2e..000000000
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM
+++ /dev/null
Binary files 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
index 517f0be2e..000000000
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM
+++ /dev/null
Binary files differ
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h
index 5167987c9..3a030396e 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h
@@ -29,4 +29,9 @@
todo:
this is commented out intentionally, as it doesn't seem to work.
Clean up is needed*/
-#define COMPILER_ATTRIBUTE_PLACE_IN_2ND_MEMORY_BANK //__attribute__((section("m_data_start")))
+
+/* Attribute to place the second FreeRTOS heap in another memory bank, if present.
+ This is defined as empty, as the linker file (LPC51U68_flash.scf) provided only
+ one bank as heap. Could still have two FreeRTOS heap regions, as long as they fit.
+*/
+#define COMPILER_ATTRIBUTE_PLACE_IN_2ND_MEMORY_BANK
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h
index e2551e7bc..f4402eddf 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h
@@ -41,6 +41,22 @@
* See http://www.freertos.org/a00110.html
*----------------------------------------------------------*/
+/* Demo related settings. */
+
+/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to
+ * 0 -- to run the more comprehensive test and demo application,
+ * 1 -- to run the simple blinky demo.
+ */
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1
+
+/* When mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0,
+ * set mainNO_TASK_NO_CHECK to
+ * 0 -- to include all predefined test tasks and checks,
+ * 1 -- to exclude all predefined test tasks and checks.
+ * When set to 1 (with few tasks in system), user could observe
+ * fewer tick interrupts thus reduce overall MCU power consumption. */
+#define mainNO_TASK_NO_CHECK 0
+
/* Prevent C code being included by the IAR assembler. */
#ifndef __IASMARM__
#include <stdint.h>
@@ -52,8 +68,8 @@
#define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( SystemCoreClock )
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
-#define configMAX_PRIORITIES ( 5 )
-#define configMAX_TASK_NAME_LEN ( 5 )
+#define configMAX_PRIORITIES 5
+#define configMAX_TASK_NAME_LEN 8
#define configUSE_TRACE_FACILITY 1
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
@@ -80,7 +96,7 @@
/* Software timer definitions. */
#define configUSE_TIMERS 1
-#define configTIMER_TASK_PRIORITY ( 2 )
+#define configTIMER_TASK_PRIORITY 2
#define configTIMER_QUEUE_LENGTH 2
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE )
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c
index 07dd94bc7..820ebfdec 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c
@@ -48,12 +48,6 @@
#include "compiler_attributes.h"
-/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to
- * 0 -- to run the more comprehensive test and demo application,
- * 1 -- to run the simple blinky demo.
- */
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0
-
/*-----------------------------------------------------------*/
typedef enum LED_STATE {
LED_RED_BLINK_ON = 1,
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c
index 286d1be6d..2f6b882d4 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c
@@ -83,8 +83,6 @@
#include "blocktim.h"
#include "countsem.h"
#include "recmutex.h"
-#include "IntQueue.h"
-
/* The period after which the check timer will expire provided no errors have
been reported by any of the standard demo tasks. ms are converted to the
@@ -99,12 +97,6 @@ in ticks using the portTICK_PERIOD_MS constant. */
/* A block time of zero simply means "don't block". */
#define mainDONT_BLOCK ( 0UL )
-/* Set mainNO_TASK_NO_CHECK to
- * 0 -- to include all predefined test tasks and checks,
- * 1 -- to exclude all predefined test tasks and checks.
- * When set to 1 (with few tasks in system), user could observe how tickless
- * idle could minimize tick interrupt. */
-#define mainNO_TASK_NO_CHECK ( 1 )
/*-----------------------------------------------------------*/
/*
@@ -155,7 +147,6 @@ TimerHandle_t xCheckTimer = NULL;
#if ( mainNO_TASK_NO_CHECK == 0 )
/* Create the standard demo tasks, including the interrupt nesting test
tasks. */
- vStartInterruptQueueTasks();
vCreateBlockTimeTasks();
vStartCountingSemaphoreTasks();
vStartRecursiveMutexTasks();
@@ -222,11 +213,6 @@ unsigned long ulErrorFound = pdFALSE;
/* Check all the demo and test tasks to ensure that they are all still
running, and that none have detected an error. */
- if( xAreIntQueueTasksStillRunning() != pdPASS )
- {
- ulErrorFound |= ( 0x01UL << 0UL );
- }
-
if( xAreBlockTimeTestTasksStillRunning() != pdPASS )
{
ulErrorFound |= ( 0x01UL << 1UL );
diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt
index fb06ed3a5..7c2280d19 100644
--- a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt
+++ b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt
@@ -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/