summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c')
-rw-r--r--FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c89
1 files changed, 41 insertions, 48 deletions
diff --git a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c
index 78df19403..32aa2eaed 100644
--- a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c
+++ b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main_blinky.c
@@ -1,48 +1,38 @@
/*
- FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
+ FreeRTOS V8.0.0:rc1 - Copyright (C) 2014 Real Time Engineers Ltd.
+ All rights reserved
- FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
- http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
+ VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
- * FreeRTOS tutorial books are available in pdf and paperback. *
- * Complete, revised, and edited pdf reference manuals are also *
- * available. *
+ * FreeRTOS provides completely free yet professionally developed, *
+ * robust, strictly quality controlled, supported, and cross *
+ * platform software that has become a de facto standard. *
* *
- * Purchasing FreeRTOS documentation will not only help you, by *
- * ensuring you get running as quickly as possible and with an *
- * in-depth knowledge of how to use FreeRTOS, it will also help *
- * the FreeRTOS project to continue with its mission of providing *
- * professional grade, cross platform, de facto standard solutions *
- * for microcontrollers - completely free of charge! *
+ * Help yourself get started quickly and support the FreeRTOS *
+ * project by purchasing a FreeRTOS tutorial book, reference *
+ * manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
- * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
- * *
- * Thank you for using FreeRTOS, and thank you for your support! *
+ * Thank you! *
* *
***************************************************************************
-
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
- Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
- >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
- distribute a combined work that includes FreeRTOS without being obliged to
- provide the source code for proprietary components outside of the FreeRTOS
- kernel.
+ >>! NOTE: The modification to the GPL is included to allow you to distribute
+ >>! a combined work that includes FreeRTOS without being obliged to provide
+ >>! the source code for proprietary components outside of the FreeRTOS
+ >>! kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details. You should have received a copy of the GNU General Public License
- and the FreeRTOS license exception along with FreeRTOS; if not itcan be
- viewed here: http://www.freertos.org/a00114.html and also obtained by
- writing to Real Time Engineers Ltd., contact details for whom are available
- on the FreeRTOS WEB site.
+ FOR A PARTICULAR PURPOSE. Full license text is available from the following
+ link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
@@ -55,21 +45,22 @@
* *
***************************************************************************
-
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
- including FreeRTOS+Trace - an indispensable productivity tool, and our new
- fully thread aware and reentrant UDP/IP stack.
+ including FreeRTOS+Trace - an indispensable productivity tool, a DOS
+ compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
- Integrity Systems, who sell the code with commercial support,
- indemnification and middleware, under the OpenRTOS brand.
+ Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
+ licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
+
+ 1 tab == 4 spaces!
*/
/******************************************************************************
@@ -126,15 +117,17 @@
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
/* The rate at which data is sent to the queue. The 200ms value is converted
-to ticks using the portTICK_RATE_MS constant. */
-#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )
+to ticks using the portTICK_PERIOD_MS constant. */
+#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_PERIOD_MS )
/* The number of items the queue can hold. This is 1 as the receive task
will remove items as they are added, meaning the send task should always find
the queue empty. */
#define mainQUEUE_LENGTH ( 1 )
-
+/* Used to check the task parameter passing in both supported memory models. */
+#define mainQUEUE_SEND_PARAMETER ( ( void * ) 0x1234U )
+#define mainQUEUE_RECEIVE_PARAMETER ( ( void * ) 0x1122U )
/*-----------------------------------------------------------*/
/*
@@ -152,7 +145,7 @@ void main_blinky( void );
/*-----------------------------------------------------------*/
/* The queue used by both tasks. */
-static xQueueHandle xQueue = NULL;
+static QueueHandle_t xQueue = NULL;
/*-----------------------------------------------------------*/
@@ -165,14 +158,14 @@ void main_blinky( void )
{
/* Start the two tasks as described in the comments at the top of this
file. */
- xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
- ( signed char * ) "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
- configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */
- NULL, /* The parameter passed to the task - not used in this case. */
- mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */
- NULL ); /* The task handle is not required, so NULL is passed. */
+ xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
+ "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
+ configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */
+ mainQUEUE_RECEIVE_PARAMETER, /* The parameter passed to the task - just used to check the port in this case. */
+ mainQUEUE_RECEIVE_TASK_PRIORITY,/* The priority assigned to the task. */
+ NULL ); /* The task handle is not required, so NULL is passed. */
- xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );
+ xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, mainQUEUE_SEND_PARAMETER, mainQUEUE_SEND_TASK_PRIORITY, NULL );
/* Start the tasks and timer running. */
vTaskStartScheduler();
@@ -189,11 +182,11 @@ void main_blinky( void )
static void prvQueueSendTask( void *pvParameters )
{
-portTickType xNextWakeTime;
+TickType_t xNextWakeTime;
const unsigned long ulValueToSend = 100UL;
- /* Remove compiler warning about unused parameter. */
- ( void ) pvParameters;
+ /* Check the parameter was passed in correctly. */
+ configASSERT( pvParameters == mainQUEUE_SEND_PARAMETER )
/* Initialise xNextWakeTime - this only needs to be done once. */
xNextWakeTime = xTaskGetTickCount();
@@ -217,8 +210,8 @@ static void prvQueueReceiveTask( void *pvParameters )
unsigned long ulReceivedValue;
const unsigned long ulExpectedValue = 100UL;
- /* Remove compiler warning about unused parameter. */
- ( void ) pvParameters;
+ /* Check the parameter was passed in correctly. */
+ configASSERT( pvParameters == mainQUEUE_RECEIVE_PARAMETER )
for( ;; )
{