From: richardbarry Date: Sun, 24 Feb 2013 19:48:26 +0000 (+0000) Subject: Added YRDKRL78G14 build configuration to the IAR RL78 demo. X-Git-Tag: V7.4.1~42 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7c47214f3a6c5b85baebed7c04e05277797a4d89;p=freertos Added YRDKRL78G14 build configuration to the IAR RL78 demo. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1833 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h index 1833c1601..d9cef0130 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/FreeRTOSConfig.h @@ -56,19 +56,19 @@ *************************************************************************** - http://www.FreeRTOS.org - Documentation, books, training, latest versions, + 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, + 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 + + 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. */ @@ -91,15 +91,11 @@ asm file. It is valid in a C file, but not valid in an asm file. */ #ifdef __IAR_SYSTEMS_ICC__ - #pragma language=extended +// #pragma language=extended #pragma system_include #include - /* Device specific includes. */ - #include - #include - #endif /* __IAR_SYSTEMS_ICC__ */ #define configUSE_PREEMPTION 1 @@ -142,26 +138,7 @@ to exclude the API function. */ #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0 -/****************************************************************************** - * PORT SPECIFIC CONFIGURATION OPTIONS - ******************************************************************************/ - -/* - * RL78/G13 Clock Source Configuration - * 1 = use internal High Speed Clock Source (typically 32Mhz on the RL78/G13) - * 0 = use external Clock Source - */ -#define configCLOCK_SOURCE 1 - -#if configCLOCK_SOURCE == 0 - #define configCPU_CLOCK_HZ ( ( unsigned long ) 20000000 ) /* using the external clock source */ -#else - #define configCPU_CLOCK_HZ ( ( unsigned long ) 32000000 ) /* using the internal high speed clock */ -#endif /* configCLOCK_SOURCE */ - #define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); } - - #endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd index 6796d0462..94f97c0c2 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewd @@ -3,7 +3,7 @@ 2 - Debug + YRPBRL78G13 RL78 @@ -255,6 +255,309 @@ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin 0 + + $TOOLKIT_DIR$\plugins\rtos\FreeRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + YRDKRL78G14 + + RL78 + + 1 + + C-SPY + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + E1RL78 + 1 + + 0 + 1 + 1 + + + + + + + + + E20RL78 + 1 + + 0 + 1 + 1 + + + + + + + + + IECRL78 + 1 + + 0 + 1 + 1 + + + + + + + + + + SIMRL78 + 1 + + 0 + 1 + 1 + + + + + TKRL78 + 1 + + 0 + 1 + 1 + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin 0 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewp index 00e2d9df5..573347038 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewp +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RTOSDemo.ewp @@ -3,16 +3,16 @@ 2 - Debug + YRPBRL78G13 RL78 1 General - 2 + 4 - 0 + 1 1 1 + + ICCRL78 - 2 + 3 - 5 + 6 1 1 - + + + + + ARL78 - 2 + 3 1 1 @@ -549,9 +574,9 @@ XLINK - 2 + 3 - 13 + 14 1 1 + XAR - 2 + 3 0 1 @@ -851,7 +881,895 @@ INTERNAL_HWSUPPORT - 2 + 3 + + + + BILINK + 0 + + + + + YRDKRL78G14 + + RL78 + + 1 + + General + 4 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCRL78 + 3 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARL78 + 3 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + XLINK + 3 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XAR + 3 + + 0 + 1 + 1 + + + + + + + INTERNAL_HWSUPPORT + 3 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RegTest.s87 b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RegTest.s87 index f252075fd..d57fbcfaf 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RegTest.s87 +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/RegTest.s87 @@ -58,9 +58,6 @@ ;------------------------------------------------------------------------------ -#if __CORE__ != __RL78_1__ - #error "This file is only for RL78 Devices" -#endif ; Functions implemented in this file ;------------------------------------------------------------------------------ @@ -68,9 +65,11 @@ PUBLIC vRegTest1 PUBLIC vRegTest2 -; Functions used by this file +; Functions and variables used by this file ;------------------------------------------------------------------------------ EXTERN vRegTestError + EXTERN usRegTest1LoopCounter + EXTERN usRegTest2LoopCounter ;------------------------------------------------------------------------------ ; Fill all the registers with known values, then check that the registers @@ -146,6 +145,9 @@ loop1: #endif + ; Indicate that this task is still cycling. + INCW usRegTest1LoopCounter + MOVW AX, #0x1122 BR loop1 @@ -207,6 +209,9 @@ loop2: #endif + ; Indicate that this task is still cycling. + INCW usRegTest2LoopCounter + MOVW AX, #0x99aa BR loop2 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/main.c b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/main.c index a8f76f5fe..499676718 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/main.c +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/main.c @@ -56,19 +56,19 @@ *************************************************************************** - http://www.FreeRTOS.org - Documentation, books, training, latest versions, + 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, + 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 + + 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. */ @@ -152,7 +152,7 @@ its own executions. */ #define mainDEMO_TIMER_PERIOD_MS ( mainCHECK_TIMER_PERIOD_MS / mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT ) /* The LED toggled by the check timer. */ -#define mainLED_0 P7_bit.no7 +#define mainLED_0 P1_bit.no0 /* A block time of zero simple means "don't block". */ #define mainDONT_BLOCK ( 0U ) @@ -184,10 +184,9 @@ extern void vRegTest2( void *pvParameters ); /*-----------------------------------------------------------*/ -/* If an error is discovered by one of the RegTest tasks then this flag is set -to pdFAIL. The 'check' timer then inspects this flag to detect errors within -the RegTest tasks. */ -static short sRegTestStatus = pdPASS; +/* Variables that are incremented on each cycle of the two reg tests to allow +the check timer to know that they are still executing. */ +unsigned short usRegTest1LoopCounter = 0, usRegTest2LoopCounter; /* The check timer. This uses prvCheckTimerCallback() as its callback function. */ @@ -203,13 +202,13 @@ static volatile unsigned long ulDemoSoftwareTimerCounter = 0UL; enabled. */ __root __far const unsigned char OptionByte[] @ 0x00C0 = { - WATCHDOG_DISABLED, LVI_ENABLED, RESERVED_FF, OCD_ENABLED + 0x00U, 0xFFU, 0xF8U, 0x81U }; /* Security byte definition */ -__root __far const unsigned char SecuIDCode[] @ 0x00C4 = +__root __far const unsigned char ucSecurityCode[] @ 0x00C4 = { - 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; /*-----------------------------------------------------------*/ @@ -274,6 +273,7 @@ static void prvDemoTimerCallback( xTimerHandle xTimer ) static void prvCheckTimerCallback( xTimerHandle xTimer ) { static portBASE_TYPE xChangedTimerPeriodAlready = pdFALSE, xErrorStatus = pdPASS; +static unsigned short usLastRegTest1Counter = 0, usLastRegTest2Counter = 0; /* Inspect the status of the standard demo tasks. */ if( xAreDynamicPriorityTasksStillRunning() != pdTRUE ) @@ -291,11 +291,25 @@ static portBASE_TYPE xChangedTimerPeriodAlready = pdFALSE, xErrorStatus = pdPASS xErrorStatus = pdFAIL; } - /* Inspect the status of the reg test tasks. */ - if( sRegTestStatus != pdPASS ) + /* Indicate an error if either of the reg test loop counters have not + incremented since the last time this function was called. */ + if( usLastRegTest1Counter == usRegTest1LoopCounter ) + { + xErrorStatus = pdFAIL; + } + else + { + usLastRegTest1Counter = usRegTest1LoopCounter; + } + + if( usLastRegTest2Counter == usRegTest2LoopCounter ) { xErrorStatus = pdFAIL; } + else + { + usLastRegTest2Counter = usRegTest2LoopCounter; + } /* Ensure that the demo software timer has expired mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT times in between @@ -340,69 +354,33 @@ unsigned portCHAR ucResetFlag = RESF; portDISABLE_INTERRUPTS(); - /* Clock Configuration: - In this port, to use the internal high speed clock source of the - microcontroller, define the configCLOCK_SOURCE as 1 in FreeRTOSConfig.h. To - use an external clock define configCLOCK_SOURCE as 0. */ - #if configCLOCK_SOURCE == 1 - { - /* Set fMX */ - CMC = 0x00; - MSTOP = 1U; - - /* Set fMAIN */ - MCM0 = 0U; - - /* Set fSUB */ - XTSTOP = 1U; - OSMC = 0x10; - - /* Set fCLK */ - CSS = 0U; - - /* Set fIH */ - HIOSTOP = 0U; - } - #else - { - unsigned char ucTempStabset, ucTempStabWait; - - /* Set fMX */ - CMC = 0x41; - OSTS = 0x07; - MSTOP = 0U; - ucTempStabset = 0xFF; - - do - { - ucTempStabWait = OSTC; - ucTempStabWait &= ucTempStabset; - } - while( ucTempStabWait != ucTempStabset ); - - /* Set fMAIN */ - MCM0 = 1U; - - /* Set fSUB */ - XTSTOP = 1U; - OSMC = 0x10; - - /* Set fCLK */ - CSS = 0U; - - /* Set fIH */ - HIOSTOP = 0U; - } - #endif /* configCLOCK_SOURCE == 1 */ + /* Set fMX */ + CMC = 0x00; + MSTOP = 1U; + + /* Set fMAIN */ + MCM0 = 0U; + + /* Set fSUB */ + XTSTOP = 1U; + OSMC = 0x10; + + /* Set fCLK */ + CSS = 0U; + + /* Set fIH */ + HIOSTOP = 0U; /* LED port initialization - set port register. */ - P7 &= 0x7F; +// P7 &= 0x7F; + P1 &= 0xFE; /* Set port mode register. */ - PM7 &= 0x7F; +// PM7 &= 0x7F; + PM1 &= 0xFE; /* Switch pin initialization - enable pull-up resistor. */ - PU12_bit.no0 = 1; +// PU12_bit.no0 = 1; return pdTRUE; } @@ -410,12 +388,9 @@ unsigned portCHAR ucResetFlag = RESF; void vRegTestError( void ) { - /* Called by the RegTest tasks if an error is found. lRegTestStatus is - inspected by the check task. */ - sRegTestStatus = pdFAIL; - - /* Do not return from here as the reg test tasks clobber all registers so - function calls may not function correctly. */ + /* Called by both reg test tasks if an error is found. There is no way out + of this function so the loop counter of the calling task will stop + incrementing, which will result in the check timer signialling an error. */ for( ;; ); } /*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.cspy.bat b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.cspy.bat index 7c8c4b4c1..662970eac 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.cspy.bat +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.cspy.bat @@ -2,14 +2,23 @@ @REM C-SPY Debugger, as an aid to preparing a command line for running @REM the cspybat command line utility using the appropriate settings. @REM -@REM You can launch cspybat by typing the name of this batch file followed -@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). @REM Note that this file is generated every time a new debug session @REM is initialized, so you may want to move or rename the file before @REM making changes. +@REM +@REM You can launch cspybat by typing the name of this batch file followed +@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). +@REM +@REM Read about available command line parameters in the C-SPY Debugging +@REM Guide. Hints about additional command line parameters that may be +@REM useful in specific cases: +@REM --download_only Downloads a code image without starting a debug +@REM session afterwards. +@REM --silent Omits the sign-on message. +@REM --timeout Limits the maximum allowed execution time. @REM -"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78ocd.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_1" "--near_const_location" "rom0" "--near_const_start" "0xf2000" "--near_const_size" "51.75" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\CONFIG\DDF\ior5f100le.ddf" "-d" "tk" +"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78ocd.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_2" "--near_const_location" "rom0" "--near_const_start" "0xf3000" "--near_const_size" "27.75" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\CONFIG\DDF\ior5f104pj.ddf" "-d" "tk" diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dbgdt b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dbgdt index 4e0742a3d..bbc7c8cb1 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dbgdt +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dbgdt @@ -19,19 +19,19 @@ - 188272727 + 242272727 - 200111 - 100200 + 200111Disassembly_I05002000 + 100200200ExpressionLocationTypeValue100150100100 - + TabID-30626-17561 @@ -47,7 +47,7 @@ - 0 + 0 TabID-8606-17564 @@ -59,20 +59,20 @@ - 0 + 0TabID-3875-4388DisassemblyDisassembly0 - TextEditor$WS_DIR$\main.c0231112431124300100000010000001 + TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h07042004200TextEditor$WS_DIR$\..\..\Source\portable\MemMang\heap_1.c010357485748TextEditor$WS_DIR$\FreeRTOSConfig.h07648764876TextEditor$WS_DIR$\RegTest.s87012452135213TextEditor$WS_DIR$\..\..\Source\tasks.c012454636746367TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine.h07502311823118TextEditor$WS_DIR$\main.c018510072100726TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port.c023195429542TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine_ext.h030394679467TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\portasm.s8706540924092TextEditor$WS_DIR$\..\Common\Minimal\dynamic.c037016102161020100000010000001 - iaridepm.enu1debuggergui.enu1rl78ocd.enu1-2-2631262-2-2264244206250259023206250671975-2-22421282-2-212842441003125259023206250259023 + iaridepm.enu1debuggergui.enu1rl78ocd.enu1-2-2808316-2-214110883929109980189286824847-2-2808684-2-2200200119048203666408333824847-2-21061682-2-21684108100238110998083929109980 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dni b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dni index bb345183e..fa359aaec 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dni +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.dni @@ -15,7 +15,7 @@ TypeViolation=1 UnspecRange=1 ActionState=1 [DebugChecksum] -Checksum=-1460440724 +Checksum=104434279 [DisAssemblyWindow] NumStates=_ 1 State 1=_ 1 @@ -24,12 +24,12 @@ Enabled=_ 0 [CodeCoverage] Enabled=_ 0 [E1] -Map0=0,0,65535,65536 -Map1=1,1044224,1048319,4096 +Map0=0,0,262143,262144 +Map1=1,1023744,1048319,24576 MapEntries=2 -HWsettings=1,0,0,0,4,0,1,0,16,16 +HWsettings=3,0,1,2,4,0,1,0,16,1 HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0 -HWsettingsRsuid=55555555555555555554 +HWsettingsRsuid=FFFFFFFFFFFFFFFFFFFF EventEntries=0 SeqName0= SeqData0=0,0 @@ -75,11 +75,12 @@ TraceSettings=64,0,0,0,0,0,8192 TimerSettings=0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 CoverSettings=1048192,1048207,0 Version=1,xxx.txt -LastDevFile=DR5F100LE.DVF +LastDevFile=DR5F104PJ.DVF EmulType=64 BreakToggle=0 -EventLimits=0, 1, 1, 0, 0, 0, 2 +EventLimits=0,1,1,0,0,0,2 LastSetupFailed=1 +ForceHwSetup=0 [StackPlugin] Enabled=1 OverflowWarningsEnabled=1 @@ -92,12 +93,12 @@ LimitSize=0 ByteLimit=50 [TK] LastSetupFailed=0 -Map0=0,0,65535,65536 -Map1=1,1044224,1048319,4096 +Map0=0,0,262143,262144 +Map1=1,1023744,1048319,24576 MapEntries=2 -HWsettings=1,0,0,2,4,0,1,0,16,1 +HWsettings=3,0,1,2,4,0,1,0,16,1 HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0 -HWsettingsRsuid=55555555555555555554 +HWsettingsRsuid=00000000000000000000 EventEntries=0 SeqName0= SeqData0=0,0 @@ -139,14 +140,15 @@ SeqEnable34=0,0,0,0,0,0,0,0,0,0 SeqEnable44=0,0,0,0,0,0,0,0,0,0 SeqDisable4=0,0,0,0,0,0,0,0,0,0 SeqData24=0,0,0,0,0,0 -TraceSettings=64,0,0,0,0,0,8192 +TraceSettings=128,0,0,0,0,0,8192 TimerSettings=0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 CoverSettings=1048192,1048207,0 Version=1,trace.txt -LastDevFile=DR5F100LE.DVF +LastDevFile=DR5F104PJ.DVF EmulType=256 BreakToggle=0 -EventLimits=0, 1, 1, 0, 0, 0, 2 +EventLimits=0,2,2,0,0,0,2 +ForceHwSetup=0 [Stack] FillEnabled=0 OverflowWarningsEnabled=1 @@ -159,6 +161,8 @@ LimitSize=0 ByteLimit=50 [CallStack] ShowArgs=0 +[Disassembly] +MixedMode=1 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -176,9 +180,9 @@ Enabled=0 Mode=0 Graph=0 Symbiont=0 +Exclusions= [Breakpoints] -Bp0=_ "STD_CODE" "{$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c}.121.4@1" 1 0 0 0 "" 0 "" -Count=1 +Count=0 [Aliases] A0=_ "C:\Data\RL78_STICK\FreeRTOSV6.1.1\Source\portable\IAR\RL78\portasm.s87" "E:\Data\RL78_STICK\FreeRTOSV6.1.1\Source\portable\IAR\RL78\portasm.s87" Count=1 diff --git a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.wsdt b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.wsdt index f892a4e2e..be861fea0 100644 --- a/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.wsdt +++ b/FreeRTOS/Demo/RL78_RL78G13_Promo_Board_IAR/settings/rtosdemo.wsdt @@ -3,7 +3,7 @@ - RTOSDemo/Debug + RTOSDemo/YRDKRL78G14 @@ -12,12 +12,12 @@ - 244272727 + 319272727 206841824520121811143962753 - + TabID-25565-17041 @@ -25,24 +25,24 @@ Workspace - RTOSDemo + RTOSDemoRTOSDemo/Demo SourceRTOSDemo/Kernel SourceRTOSDemo/Kernel Source/port.c - 0TabID-4654-17433BuildBuildTabID-7454-1824Find in FilesFind-in-FilesTabID-32037-14096Debug LogDebug-Log0 + 0TabID-4654-17433BuildBuildTabID-7454-1824Find in FilesFind-in-FilesTabID-32199-1847Debug LogDebug-Log0 - TextEditor$WS_DIR$\main.c060116551165500100000010000001 + TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h07042004200TextEditor$WS_DIR$\..\..\Source\portable\MemMang\heap_1.c010357485748TextEditor$WS_DIR$\FreeRTOSConfig.h07648764876TextEditor$WS_DIR$\RegTest.s87012452135213TextEditor$WS_DIR$\..\..\Source\tasks.c012454636746367TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine.h07502311823118TextEditor$WS_DIR$\main.c018510072100726TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port.c023195429542TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine_ext.h030394679467TextEditor$WS_DIR$\..\..\Source\portable\IAR\RL78\portasm.s8706540924092TextEditor$WS_DIR$\..\Common\Minimal\dynamic.c037016102161020100000010000001 - iaridepm.enu1-2-2629318-2-2263200156548203666190476642566-2-23091682-2-216843111002381316701205357258656 + iaridepm.enu1-2-2639409-2-2647471385119479633244643652749-2-22991682-2-216843011002381306517505357608961 diff --git a/FreeRTOS/Source/portable/IAR/RL78/port.c b/FreeRTOS/Source/portable/IAR/RL78/port.c index 584cafacc..1ea23611c 100644 --- a/FreeRTOS/Source/portable/IAR/RL78/port.c +++ b/FreeRTOS/Source/portable/IAR/RL78/port.c @@ -56,19 +56,19 @@ *************************************************************************** - http://www.FreeRTOS.org - Documentation, books, training, latest versions, + 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, + 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 + + 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. */ @@ -233,32 +233,32 @@ const unsigned short usClockHz = 15000UL; /* Internal clock. */ const unsigned short usCompareMatch = ( usClockHz / configTICK_RATE_HZ ) + 1UL; /* Use the internal 15K clock. */ - OSMC = 0x16U; + OSMC = ( unsigned char ) 0x16; /* Supply the RTC clock. */ - RTCEN = 1U; + RTCEN = ( unsigned char ) 1U; /* Disable ITMC operation. */ - ITMC = 0x0000; + ITMC = ( unsigned char ) 0x0000; /* Disable INTIT interrupt. */ - ITMK = 1U; + ITMK = ( unsigned char ) 1; /* Set INTIT high priority */ - ITPR1 = 1U; - ITPR0 = 1U; + ITPR1 = ( unsigned char ) 1; + ITPR0 = ( unsigned char ) 1; - /* Set interval. */ - ITMC = usCompareMatch; - /* Clear INIT interrupt. */ - ITIF = 0U; + ITIF = ( unsigned char ) 0; + + /* Set interval and enable interrupt operation. */ + ITMC = usCompareMatch | 0x8000U; /* Enable INTIT interrupt. */ - ITMK = 0U; + ITMK = ( unsigned char ) 0; /* Enable IT operation. */ - ITMC |= 0x8000; +// ITMC |= 0x8000; } /*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Source/portable/IAR/RL78/portasm.s87 b/FreeRTOS/Source/portable/IAR/RL78/portasm.s87 index 110dd397f..8920d2141 100644 --- a/FreeRTOS/Source/portable/IAR/RL78/portasm.s87 +++ b/FreeRTOS/Source/portable/IAR/RL78/portasm.s87 @@ -53,11 +53,6 @@ #include "ISR_Support.h" - -#if __CORE__ != __RL78_1__ - #error "This file is only for RL78 Devices" -#endif - #define CS 0xFFFFC #define ES 0xFFFFD diff --git a/FreeRTOS/Source/portable/IAR/RL78/portmacro.h b/FreeRTOS/Source/portable/IAR/RL78/portmacro.h index 09c0c5e7b..a5682bdd4 100644 --- a/FreeRTOS/Source/portable/IAR/RL78/portmacro.h +++ b/FreeRTOS/Source/portable/IAR/RL78/portmacro.h @@ -56,25 +56,28 @@ *************************************************************************** - http://www.FreeRTOS.org - Documentation, books, training, latest versions, + 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, + 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 + + 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. */ #ifndef PORTMACRO_H #define PORTMACRO_H +#include "port_iodefine.h" +#include "port_iodefine_ext.h" + #ifdef __cplusplus extern "C" { #endif @@ -178,19 +181,6 @@ extern volatile unsigned short usCriticalNesting; \ #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) -/* --------------------------------------------------------------------------*/ -/* Option-bytes and security ID */ -/* --------------------------------------------------------------------------*/ -#define OPT_BYTES_SIZE 4 -#define SECU_ID_SIZE 10 -#define WATCHDOG_DISABLED 0x00 -#define LVI_ENABLED 0xFE -#define LVI_DISABLED 0xFF -#define RESERVED_FF 0xFF -#define OCD_DISABLED 0x04 -#define OCD_ENABLED 0x81 -#define OCD_ENABLED_ERASE 0x80 - #ifdef __cplusplus } #endif