mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Cleaning up LPC51U68 projects:
- user playable settings are all in FreeRTOSConfig.h. - removed reference to IntQueue.h in main_full.c - readme.txt wording.
This commit is contained in:
parent
2415dc26b0
commit
f5b5b2db04
|
@ -38,7 +38,7 @@
|
||||||
<link>
|
<link>
|
||||||
<name>Demo_tasks/IntQueue.c</name>
|
<name>Demo_tasks/IntQueue.c</name>
|
||||||
<type>1</type>
|
<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>
|
||||||
<link>
|
<link>
|
||||||
<name>Demo_tasks/blocktim.c</name>
|
<name>Demo_tasks/blocktim.c</name>
|
||||||
|
|
|
@ -162,7 +162,7 @@
|
||||||
<DebugFlag>
|
<DebugFlag>
|
||||||
<trace>0</trace>
|
<trace>0</trace>
|
||||||
<periodic>1</periodic>
|
<periodic>1</periodic>
|
||||||
<aLwin>1</aLwin>
|
<aLwin>0</aLwin>
|
||||||
<aCover>0</aCover>
|
<aCover>0</aCover>
|
||||||
<aSer1>0</aSer1>
|
<aSer1>0</aSer1>
|
||||||
<aSer2>0</aSer2>
|
<aSer2>0</aSer2>
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Application_Code</GroupName>
|
<GroupName>Application_Code</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
@ -854,7 +854,7 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>startup</GroupName>
|
<GroupName>startup</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -29,4 +29,9 @@
|
||||||
todo:
|
todo:
|
||||||
this is commented out intentionally, as it doesn't seem to work.
|
this is commented out intentionally, as it doesn't seem to work.
|
||||||
Clean up is needed*/
|
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
|
||||||
|
|
|
@ -41,6 +41,22 @@
|
||||||
* See http://www.freertos.org/a00110.html
|
* 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. */
|
/* Prevent C code being included by the IAR assembler. */
|
||||||
#ifndef __IASMARM__
|
#ifndef __IASMARM__
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
@ -52,8 +68,8 @@
|
||||||
#define configUSE_TICK_HOOK 1
|
#define configUSE_TICK_HOOK 1
|
||||||
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
||||||
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
|
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
|
||||||
#define configMAX_PRIORITIES ( 5 )
|
#define configMAX_PRIORITIES 5
|
||||||
#define configMAX_TASK_NAME_LEN ( 5 )
|
#define configMAX_TASK_NAME_LEN 8
|
||||||
#define configUSE_TRACE_FACILITY 1
|
#define configUSE_TRACE_FACILITY 1
|
||||||
#define configUSE_16_BIT_TICKS 0
|
#define configUSE_16_BIT_TICKS 0
|
||||||
#define configIDLE_SHOULD_YIELD 1
|
#define configIDLE_SHOULD_YIELD 1
|
||||||
|
@ -80,7 +96,7 @@
|
||||||
|
|
||||||
/* Software timer definitions. */
|
/* Software timer definitions. */
|
||||||
#define configUSE_TIMERS 1
|
#define configUSE_TIMERS 1
|
||||||
#define configTIMER_TASK_PRIORITY ( 2 )
|
#define configTIMER_TASK_PRIORITY 2
|
||||||
#define configTIMER_QUEUE_LENGTH 2
|
#define configTIMER_QUEUE_LENGTH 2
|
||||||
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE )
|
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE )
|
||||||
|
|
||||||
|
|
|
@ -48,12 +48,6 @@
|
||||||
|
|
||||||
#include "compiler_attributes.h"
|
#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 {
|
typedef enum LED_STATE {
|
||||||
LED_RED_BLINK_ON = 1,
|
LED_RED_BLINK_ON = 1,
|
||||||
|
|
|
@ -83,8 +83,6 @@
|
||||||
#include "blocktim.h"
|
#include "blocktim.h"
|
||||||
#include "countsem.h"
|
#include "countsem.h"
|
||||||
#include "recmutex.h"
|
#include "recmutex.h"
|
||||||
#include "IntQueue.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* The period after which the check timer will expire provided no errors have
|
/* 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
|
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". */
|
/* A block time of zero simply means "don't block". */
|
||||||
#define mainDONT_BLOCK ( 0UL )
|
#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 )
|
#if ( mainNO_TASK_NO_CHECK == 0 )
|
||||||
/* Create the standard demo tasks, including the interrupt nesting test
|
/* Create the standard demo tasks, including the interrupt nesting test
|
||||||
tasks. */
|
tasks. */
|
||||||
vStartInterruptQueueTasks();
|
|
||||||
vCreateBlockTimeTasks();
|
vCreateBlockTimeTasks();
|
||||||
vStartCountingSemaphoreTasks();
|
vStartCountingSemaphoreTasks();
|
||||||
vStartRecursiveMutexTasks();
|
vStartRecursiveMutexTasks();
|
||||||
|
@ -222,11 +213,6 @@ unsigned long ulErrorFound = pdFALSE;
|
||||||
|
|
||||||
/* Check all the demo and test tasks to ensure that they are all still
|
/* Check all the demo and test tasks to ensure that they are all still
|
||||||
running, and that none have detected an error. */
|
running, and that none have detected an error. */
|
||||||
if( xAreIntQueueTasksStillRunning() != pdPASS )
|
|
||||||
{
|
|
||||||
ulErrorFound |= ( 0x01UL << 0UL );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( xAreBlockTimeTestTasksStillRunning() != pdPASS )
|
if( xAreBlockTimeTestTasksStillRunning() != pdPASS )
|
||||||
{
|
{
|
||||||
ulErrorFound |= ( 0x01UL << 1UL );
|
ulErrorFound |= ( 0x01UL << 1UL );
|
||||||
|
|
|
@ -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:
|
MCUXpresso IDE (GCC compiler) -- .cproject and .project.
|
||||||
- clean up IAR compiler warnings. (Though the warnings are in vendor's driver code, see if we can clean it up. )
|
IAR for ARM IDE (IAR compiler) -- CORTEX_M0+_LPC51U68_IAR.*
|
||||||
- finalize Keil linker script.(Two heap blocks shall be placed in intended RAM banks. Currently, both goes to a same RAM bank.)
|
Keil uVision (ARM Keil compiler) -- CORTEX_M0+_LPC51U68_Keil.*
|
||||||
- GCC project folder directory name is not consistent with the other two.
|
|
||||||
|
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/
|
||||||
|
|
Loading…
Reference in a new issue