From: richardbarry Date: Sun, 17 Mar 2013 16:52:39 +0000 (+0000) Subject: Update the IAR RL78 demo to include main_blinky.c and main_full.c. X-Git-Tag: V7.4.1~33 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3a5214c7e811119d342018f8f86f65b8267a6bd5;p=freertos Update the IAR RL78 demo to include main_blinky.c and main_full.c. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1842 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/ExampleISR.S b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/ExampleISR.S index d57aa281d..50ffe32d1 100644 --- a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/ExampleISR.S +++ b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/ExampleISR.S @@ -73,7 +73,8 @@ */ /* - * This file defines the RegTest tasks as described at the top of main.c + * This file defines the assembler wrapper for the example interrupt that is + * defined in main.c. The wrapper is the interrupt entry point. */ /* ISR_Support.h contains the definitions of portSAVE_CONTEXT() and diff --git a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/LED.h b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/LED.h index 5e55bbd3a..57f866422 100644 --- a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/LED.h +++ b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/LED.h @@ -85,8 +85,8 @@ #endif /* YRPBRL78G13 */ #ifdef YRDKRL78G14 - #define LED_INIT() PM4_bit.no1 = 0 #define LED_BIT ( P4_bit.no1 ) + #define LED_INIT() PM4_bit.no1 = 0 #endif /* YRDKRL78G14 */ #ifdef RSKRL78G1C diff --git a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main.c b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main.c index 2529a68fe..9e7756947 100644 --- a/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main.c +++ b/FreeRTOS/Demo/RL78_E2Studio_GCC/src/main.c @@ -219,20 +219,5 @@ volatile size_t xFreeHeapSpace; /* Remove compiler warning about xFreeHeapSpace being set but never used. */ ( void ) xFreeHeapSpace; } -/*-----------------------------------------------------------*/ -void vAssertCalled( void ) -{ -volatile unsigned long ul = 0; - taskENTER_CRITICAL(); - { - /* Set ul to a non-zero value using the debugger to step out of this - function. */ - while( ul == 0 ) - { - __asm volatile( "NOP" ); - } - } - taskEXIT_CRITICAL(); -} diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/ExampleISR.s87 b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/ExampleISR.s87 new file mode 100644 index 000000000..df5fcba56 --- /dev/null +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/ExampleISR.s87 @@ -0,0 +1,134 @@ +; FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. +; +; FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE 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. * +; * * +; * 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! * +; * * +; * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * +; * * +; * Thank you for using FreeRTOS, and thank you for your support! * +; * * +; *************************************************************************** +; +; +; 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. +; +; >>>>>>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. +; +; 1 tab == 4 spaces! +; +; *************************************************************************** +; * * +; * Having a problem? Start by reading the FAQ "My application does * +; * not run, what could be wrong?" * +; * * +; * http://www.FreeRTOS.org/FAQHelp.html * +; * * +; *************************************************************************** +; +; +; 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. +; +; 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. +; +; 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. + +;* +; * This file defines the assembler wrapper for the example interrupt that is +; * defined in main.c. The wrapper is the interrupt entry point. +; * + +; ISR_Support.h contains the definitions of portSAVE_CONTEXT() and +; portRESTORE_CONTEXT(). +#include "ISR_Support.h" + + PUBLIC vANExampleISR_ASM_Wrapper + EXTERN vAnExampleISR_C_Handler + + RSEG CODE:CODE + +; * +; * This demo does not include a functional interrupt service routine - so +; * this dummy handler (which is not actually installed) is provided as an +; * example of how an ISR that needs to cause a context switch needs to be +; * implemented. ISRs that do not cause a context switch have no special +; * requirements and can be written as per the compiler documentation. +; * +; * This assembly wrapper function calls the main handler, which is called +; * vAnExampleISR_C_Handler(), and is implemented in main.c. See the +; * documentation page for this demo on the FreeRTOS.org website for full +; * instructions. +; * +; * NOTE: vANExampleISR_ASM_Wrapper needs to be installed into the relevant +; * vector, an example of how to do this from an assembly file is locate at +; * the bottom of this file. +; * + + vANExampleISR_ASM_Wrapper: + +; portSAVE_CONTEXT() must be the first thing called in the ASM +; wrapper. + portSAVE_CONTEXT + +; Once the context has been saved the C handler can be called. + call !!vAnExampleISR_C_Handler + +; Finally the ISR must end with a call to portRESTORE_CONTEXT() +; followed by a reti instruction to return from the interrupt to whichever +; task is now the task selected to run (which may be different to the task +; that was running before the interrupt started). + portRESTORE_CONTEXT + reti + + +; The interrupt handler can be installed into the vector table in the same +; assembly file. + +; Ensure the vector table segement is used. + COMMON INTVEC:CODE:ROOT(1) +; +; Place a pointer to the asm wrapper at the correct index into the vector +; table. Note 56 is used is purely as an example. The correct vector +; number for the interrupt being installed must be used. + ORG 58 + DW vANExampleISR_ASM_Wrapper + + END + diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h index a56fe55f8..8492698f8 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h @@ -131,7 +131,7 @@ to exclude the API function. */ #define INCLUDE_vTaskDelete 0 #define INCLUDE_vTaskCleanUpResources 0 #define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 0 +#define INCLUDE_vTaskDelayUntil 1 #define INCLUDE_vTaskDelay 1 #define INCLUDE_xTaskGetIdleTaskHandle 0 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/LED.h b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/LED.h index b51c12516..57f866422 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/LED.h +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/LED.h @@ -85,8 +85,8 @@ #endif /* YRPBRL78G13 */ #ifdef YRDKRL78G14 - #define LED_BIT ( P1_bit.no0 ) - #define LED_INIT() P1 &= 0xFE; PM1 &= 0xFE + #define LED_BIT ( P4_bit.no1 ) + #define LED_INIT() PM4_bit.no1 = 0 #endif /* YRDKRL78G14 */ #ifdef RSKRL78G1C diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd index be7f83aed..726983066 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd @@ -332,7 +332,7 @@