Added YRDKRL78G14 build configuration to the IAR RL78 demo.

This commit is contained in:
Richard Barry 2013-02-24 19:48:26 +00:00
parent a5d0e3f0c1
commit 17bba16fa6
12 changed files with 1389 additions and 213 deletions

View File

@ -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 <intrinsics.h>
/* Device specific includes. */
#include <ior5f100le.h>
#include <ior5f100le_ext.h>
#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 */

View File

@ -3,7 +3,7 @@
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<name>YRPBRL78G13</name>
<toolchain>
<name>RL78</name>
</toolchain>
@ -255,6 +255,309 @@
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\FreeRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
</debuggerPlugins>
</configuration>
<configuration>
<name>YRDKRL78G14</name>
<toolchain>
<name>RL78</name>
</toolchain>
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>DebugMandatory</name>
<state>1</state>
</option>
<option>
<name>DebugInput</name>
<state>1</state>
</option>
<option>
<name>DebugProcessorVariant</name>
<state>0</state>
</option>
<option>
<name>DebuggerNearConstLocation</name>
<state>0</state>
</option>
<option>
<name>DebugRunToEnable</name>
<state>1</state>
</option>
<option>
<name>DebugRunToName</name>
<state>main</state>
</option>
<option>
<name>DebugMacOverride</name>
<state>0</state>
</option>
<option>
<name>DebugMacFile</name>
<state></state>
</option>
<option>
<name>DynDriver</name>
<state>TKRL78</state>
</option>
<option>
<name>DebugDDFOverride</name>
<state>0</state>
</option>
<option>
<name>DebugDDFFile</name>
<state>$TOOLKIT_DIR$\CONFIG\DDF\ior5f104pj.ddf</state>
</option>
<option>
<name>DebugCUseExtraOptions</name>
<state>0</state>
</option>
<option>
<name>DebugExtraOptions</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath1</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath2</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck3</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath3</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset1</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset2</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset3</name>
<state></state>
</option>
<option>
<name>DebugImagesUse1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse3</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E1RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>E1Mandatory</name>
<state>0</state>
</option>
<option>
<name>E1SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E1VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E1LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E1DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E20RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>E20Mandatory</name>
<state>0</state>
</option>
<option>
<name>E20SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E20VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E20LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E20DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>IECRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IecMandatory</name>
<state>0</state>
</option>
<option>
<name>IecSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>IecVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>IecLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>IecDoLogfile</name>
<state>0</state>
</option>
<option>
<name>IecSupExchAdapter</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>SIMRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>SimMandatory</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>TKRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>TKMandatory</name>
<state>0</state>
</option>
<option>
<name>TKSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>TKVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>TKLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>TKDoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\FreeRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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( ;; );
}
/*-----------------------------------------------------------*/

View File

@ -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"

View File

@ -19,19 +19,19 @@
<Column0>188</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>242</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly>
<STACK2><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></STACK2><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register></Static>
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow><col-names><item>Disassembly</item><item>_I0</item></col-names><col-widths><item>500</item><item>20</item></col-widths><DisasmHistory/><ShowCodeCoverage>0</ShowCodeCoverage><ShowInstrProfiling>0</ShowInstrProfiling></Disassembly>
<STACK2><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></STACK2><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><WATCH_1><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><expressions><item></item></expressions><col-names><item>Expression</item><item>Location</item><item>Type</item><item>Value</item></col-names><col-widths><item>100</item><item>150</item><item>100</item><item>100</item></col-widths></WATCH_1></Static>
<Windows>
<Wnd0>
<Wnd1>
<Tabs>
<Tab>
<Identity>TabID-30626-17561</Identity>
@ -47,7 +47,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<SelectedTab>0</SelectedTab></Wnd1><Wnd4>
<Tabs>
<Tab>
<Identity>TabID-8606-17564</Identity>
@ -59,20 +59,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-3875-4388</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>231</YPos><SelStart>11243</SelStart><SelEnd>11243</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h</Filename><XPos>0</XPos><YPos>70</YPos><SelStart>4200</SelStart><SelEnd>4200</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\MemMang\heap_1.c</Filename><XPos>0</XPos><YPos>103</YPos><SelStart>5748</SelStart><SelEnd>5748</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>4876</SelStart><SelEnd>4876</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\RegTest.s87</Filename><XPos>0</XPos><YPos>124</YPos><SelStart>5213</SelStart><SelEnd>5213</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>1245</YPos><SelStart>46367</SelStart><SelEnd>46367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine.h</Filename><XPos>0</XPos><YPos>750</YPos><SelStart>23118</SelStart><SelEnd>23118</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>185</YPos><SelStart>10072</SelStart><SelEnd>10072</SelEnd></Tab><ActiveTab>6</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port.c</Filename><XPos>0</XPos><YPos>231</YPos><SelStart>9542</SelStart><SelEnd>9542</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine_ext.h</Filename><XPos>0</XPos><YPos>303</YPos><SelStart>9467</SelStart><SelEnd>9467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portasm.s87</Filename><XPos>0</XPos><YPos>65</YPos><SelStart>4092</SelStart><SelEnd>4092</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\dynamic.c</Filename><XPos>0</XPos><YPos>370</YPos><SelStart>16102</SelStart><SelEnd>16102</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-01bf0d90><key>iaridepm.enu1</key></Toolbar-01bf0d90></Sizes></Row0><Row1><Sizes><Toolbar-02bb4d40><key>debuggergui.enu1</key></Toolbar-02bb4d40><Toolbar-02bb55d8><key>rl78ocd.enu1</key></Toolbar-02bb55d8></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>631</Bottom><Right>262</Right><x>-2</x><y>-2</y><xscreen>264</xscreen><yscreen>244</yscreen><sizeHorzCX>206250</sizeHorzCX><sizeHorzCY>259023</sizeHorzCY><sizeVertCX>206250</sizeVertCX><sizeVertCY>671975</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>242</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>244</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>259023</sizeHorzCY><sizeVertCX>206250</sizeVertCX><sizeVertCY>259023</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-01349228><key>iaridepm.enu1</key></Toolbar-01349228></Sizes></Row0><Row1><Sizes><Toolbar-04b811e8><key>debuggergui.enu1</key></Toolbar-04b811e8><Toolbar-0b5d8968><key>rl78ocd.enu1</key></Toolbar-0b5d8968></Sizes></Row1><Row2><Sizes/></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6><Row7><Sizes/></Row7><Row8><Sizes/></Row8></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>808</Bottom><Right>316</Right><x>-2</x><y>-2</y><xscreen>141</xscreen><yscreen>108</yscreen><sizeHorzCX>83929</sizeHorzCX><sizeHorzCY>109980</sizeHorzCY><sizeVertCX>189286</sizeVertCX><sizeVertCY>824847</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>808</Bottom><Right>684</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>408333</sizeVertCX><sizeVertCY>824847</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>106</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>108</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>109980</sizeHorzCY><sizeVertCX>83929</sizeVertCX><sizeVertCY>109980</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View File

@ -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

View File

@ -3,7 +3,7 @@
<Workspace>
<ConfigDictionary>
<CurrentConfigs><Project>RTOSDemo/Debug</Project></CurrentConfigs></ConfigDictionary>
<CurrentConfigs><Project>RTOSDemo/YRDKRL78G14</Project></CurrentConfigs></ConfigDictionary>
<Desktop>
<Static>
<Workspace>
@ -12,12 +12,12 @@
<Column0>244</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>319</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>684</ColumnWidth1><ColumnWidth2>182</ColumnWidth2><ColumnWidth3>45</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1218</ColumnWidth1></Debug-Log><Disassembly><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly><Find-in-Files><ColumnWidth0>439</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>753</ColumnWidth2></Find-in-Files></Static>
<Windows>
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-25565-17041</Identity>
@ -25,24 +25,24 @@
<Factory>Workspace</Factory>
<Session>
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source</ExpandedNode><ExpandedNode>RTOSDemo/Kernel Source</ExpandedNode><ExpandedNode>RTOSDemo/Kernel Source/port.c</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-32037-14096</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-32199-1847</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>60</YPos><SelStart>11655</SelStart><SelEnd>11655</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h</Filename><XPos>0</XPos><YPos>70</YPos><SelStart>4200</SelStart><SelEnd>4200</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\MemMang\heap_1.c</Filename><XPos>0</XPos><YPos>103</YPos><SelStart>5748</SelStart><SelEnd>5748</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>4876</SelStart><SelEnd>4876</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\RegTest.s87</Filename><XPos>0</XPos><YPos>124</YPos><SelStart>5213</SelStart><SelEnd>5213</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>1245</YPos><SelStart>46367</SelStart><SelEnd>46367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine.h</Filename><XPos>0</XPos><YPos>750</YPos><SelStart>23118</SelStart><SelEnd>23118</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>185</YPos><SelStart>10072</SelStart><SelEnd>10072</SelEnd></Tab><ActiveTab>6</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port.c</Filename><XPos>0</XPos><YPos>231</YPos><SelStart>9542</SelStart><SelEnd>9542</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port_iodefine_ext.h</Filename><XPos>0</XPos><YPos>303</YPos><SelStart>9467</SelStart><SelEnd>9467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portasm.s87</Filename><XPos>0</XPos><YPos>65</YPos><SelStart>4092</SelStart><SelEnd>4092</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\dynamic.c</Filename><XPos>0</XPos><YPos>370</YPos><SelStart>16102</SelStart><SelEnd>16102</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-01336518><key>iaridepm.enu1</key></Toolbar-01336518></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>629</Bottom><Right>318</Right><x>-2</x><y>-2</y><xscreen>263</xscreen><yscreen>200</yscreen><sizeHorzCX>156548</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>190476</sizeVertCX><sizeVertCY>642566</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>309</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>311</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>316701</sizeHorzCY><sizeVertCX>205357</sizeVertCX><sizeVertCY>258656</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-01349228><key>iaridepm.enu1</key></Toolbar-01349228></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6><Row7><Sizes/></Row7><Row8><Sizes/></Row8><Row9><Sizes/></Row9></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>639</Bottom><Right>409</Right><x>-2</x><y>-2</y><xscreen>647</xscreen><yscreen>471</yscreen><sizeHorzCX>385119</sizeHorzCX><sizeHorzCY>479633</sizeHorzCY><sizeVertCX>244643</sizeVertCX><sizeVertCY>652749</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>299</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>301</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>306517</sizeHorzCY><sizeVertCX>505357</sizeVertCX><sizeVertCY>608961</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@ -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;
}
/*-----------------------------------------------------------*/

View File

@ -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

View File

@ -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