mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Working but incomplete RXv2 demo.
This commit is contained in:
parent
05a0e4379e
commit
a5f00caf16
|
@ -156,6 +156,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option id="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpu.1044477391" name="CPU" superClass="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpu" value="RX64M" valueType="string"/>
|
<option id="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpu.1044477391" name="CPU" superClass="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpu" value="RX64M" valueType="string"/>
|
||||||
<option id="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel.826566403" name="Optimize level" superClass="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel" value="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel.0" valueType="enumerated"/>
|
<option id="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel.826566403" name="Optimize level" superClass="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel" value="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.optimizeLevel.0" valueType="enumerated"/>
|
||||||
|
<option id="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.isa.1008597307" name="Instruction set architecture" superClass="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.isa" value="com.renesas.cdt.rxc.HardwareDebug.Compiler.option.isa.rxv2" valueType="enumerated"/>
|
||||||
<inputType id="%Base.Compiler.Shc.C.Input.Id.1890187174" name="C Input" superClass="%Base.Compiler.Shc.C.Input.Id"/>
|
<inputType id="%Base.Compiler.Shc.C.Input.Id.1890187174" name="C Input" superClass="%Base.Compiler.Shc.C.Input.Id"/>
|
||||||
<inputType id="%Base.Compiler.Shc.C.Input1.Id.396506632" name="C++ Input" superClass="%Base.Compiler.Shc.C.Input1.Id"/>
|
<inputType id="%Base.Compiler.Shc.C.Input1.Id.396506632" name="C++ Input" superClass="%Base.Compiler.Shc.C.Input1.Id"/>
|
||||||
</tool>
|
</tool>
|
||||||
|
@ -164,12 +165,11 @@
|
||||||
<option id="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.address.1626852461" name="Address" superClass="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.address" value="00000000" valueType="string"/>
|
<option id="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.address.1626852461" name="Address" superClass="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.address" value="00000000" valueType="string"/>
|
||||||
<option id="com.renesas.cdt.renesas.Assembler.option.userDefine.879789928" name="User-defined options" superClass="com.renesas.cdt.renesas.Assembler.option.userDefine" valueType="stringList">
|
<option id="com.renesas.cdt.renesas.Assembler.option.userDefine.879789928" name="User-defined options" superClass="com.renesas.cdt.renesas.Assembler.option.userDefine" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value="-nologo"/>
|
<listOptionValue builtIn="false" value="-nologo"/>
|
||||||
<listOptionValue builtIn="false" value=""/>
|
|
||||||
<listOptionValue builtIn="false" value=""/>
|
|
||||||
</option>
|
</option>
|
||||||
|
<option id="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.isa.232270741" name="Instruction set architecture" superClass="com.renesas.cdt.rxc.HardwareDebug.Assembler.option.isa" value="RXv2 architecture" valueType="enumerated"/>
|
||||||
<inputType id="%Base.Assembler.shcInputType.Id.1753262605" name="Assembler InputType" superClass="%Base.Assembler.shcInputType.Id"/>
|
<inputType id="%Base.Assembler.shcInputType.Id.1753262605" name="Assembler InputType" superClass="%Base.Assembler.shcInputType.Id"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool command="optlnk" id="com.renesas.cdt.rxc.hardwaredebug.win32.tool.linker.Id.1242574850" name="Linker" superClass="com.renesas.cdt.rxc.hardwaredebug.win32.tool.linker.Id">
|
<tool command="rlink" id="com.renesas.cdt.rxc.hardwaredebug.win32.tool.linker.Id.1242574850" name="Linker" superClass="com.renesas.cdt.rxc.hardwaredebug.win32.tool.linker.Id">
|
||||||
<option id="com.renesas.cdt.renesas.Linker.option.rom.1225547808" name="ROM to RAM mapped section" superClass="com.renesas.cdt.renesas.Linker.option.rom" valueType="stringList">
|
<option id="com.renesas.cdt.renesas.Linker.option.rom.1225547808" name="ROM to RAM mapped section" superClass="com.renesas.cdt.renesas.Linker.option.rom" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value="D=R"/>
|
<listOptionValue builtIn="false" value="D=R"/>
|
||||||
<listOptionValue builtIn="false" value="D_1=R_1"/>
|
<listOptionValue builtIn="false" value="D_1=R_1"/>
|
||||||
|
@ -198,7 +198,11 @@
|
||||||
<listOptionValue builtIn="false" value="".\RTOSDemo.lib""/>
|
<listOptionValue builtIn="false" value="".\RTOSDemo.lib""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption.2104356968" name="Type of output file:" superClass="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption" value="Stype via absolute" valueType="enumerated"/>
|
<option id="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption.2104356968" name="Type of output file:" superClass="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption" value="Stype via absolute" valueType="enumerated"/>
|
||||||
<option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder" valueType="stringList"/>
|
<option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder"/>
|
||||||
|
<option id="com.renesas.cdt.renesas.Linker.option.userDefined.1074366648" name="User-defined options" superClass="com.renesas.cdt.renesas.Linker.option.userDefined" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="-nomessage"/>
|
||||||
|
<listOptionValue builtIn="false" value="-nologo"/>
|
||||||
|
</option>
|
||||||
</tool>
|
</tool>
|
||||||
<tool command="lbgrx" id="%com.renesas.cdt.rxc.hardwaredebug.win32.tool.libgen.Id.1405860605" name="Standard Library" superClass="%com.renesas.cdt.rxc.hardwaredebug.win32.tool.libgen.Id">
|
<tool command="lbgrx" id="%com.renesas.cdt.rxc.hardwaredebug.win32.tool.libgen.Id.1405860605" name="Standard Library" superClass="%com.renesas.cdt.rxc.hardwaredebug.win32.tool.libgen.Id">
|
||||||
<option id="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian.402722613" name="Data Endian" superClass="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian" value="Little-endian data" valueType="enumerated"/>
|
<option id="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian.402722613" name="Data Endian" superClass="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian" value="Little-endian data" valueType="enumerated"/>
|
||||||
|
@ -211,8 +215,9 @@
|
||||||
<option id="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP.207113089" name="new (EC++): Memory allocation and deallocation routines" superClass="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP" value="false" valueType="boolean"/>
|
<option id="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP.207113089" name="new (EC++): Memory allocation and deallocation routines" superClass="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP" value="false" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.renesas.StandardLibrary.option.mode.1359818153" name="Mode" superClass="com.renesas.cdt.renesas.StandardLibrary.option.mode" value="com.renesas.cdt.renesas.StandardLibrary.option.mode.buildOnlyWhenOptionsChanged" valueType="enumerated"/>
|
<option id="com.renesas.cdt.renesas.StandardLibrary.option.mode.1359818153" name="Mode" superClass="com.renesas.cdt.renesas.StandardLibrary.option.mode" value="com.renesas.cdt.renesas.StandardLibrary.option.mode.buildOnlyWhenOptionsChanged" valueType="enumerated"/>
|
||||||
<option id="com.renesas.cdt.renesas.StandardLibrary.option.userSpecifiedLibrary.1612193964" name="User-specified library file" superClass="com.renesas.cdt.renesas.StandardLibrary.option.userSpecifiedLibrary" value="C:\E\Dev\FreeRTOS\WORKIN~1\FreeRTOS\Demo\RX2097~1\HARDWA~2\RTOSDemo.lib" valueType="string"/>
|
<option id="com.renesas.cdt.renesas.StandardLibrary.option.userSpecifiedLibrary.1612193964" name="User-specified library file" superClass="com.renesas.cdt.renesas.StandardLibrary.option.userSpecifiedLibrary" value="C:\E\Dev\FreeRTOS\WORKIN~1\FreeRTOS\Demo\RX2097~1\HARDWA~2\RTOSDemo.lib" valueType="string"/>
|
||||||
|
<option id="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.isa.328950611" name="Instruction set architecture" superClass="com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.isa" value="RXv2 architecture" valueType="enumerated"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool command="optlnk" id="com.renesas.cdt.rxc.hardwaredebug.win32.tool.convertor.Id.1803349405" name="Converter" superClass="com.renesas.cdt.rxc.hardwaredebug.win32.tool.convertor.Id"/>
|
<tool command="rlink" id="com.renesas.cdt.rxc.hardwaredebug.win32.tool.convertor.Id.1803349405" name="Converter" superClass="com.renesas.cdt.rxc.hardwaredebug.win32.tool.convertor.Id"/>
|
||||||
</toolChain>
|
</toolChain>
|
||||||
</folderInfo>
|
</folderInfo>
|
||||||
<folderInfo id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930.435561194" name="/" resourcePath="Source/Common_Demo_Source/Minimal">
|
<folderInfo id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930.435561194" name="/" resourcePath="Source/Common_Demo_Source/Minimal">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
TOOL_CHAIN=Renesas RXC Toolchain
|
TOOL_CHAIN=Renesas RXC Toolchain
|
||||||
VERSION=v1.02.01
|
VERSION=v2.01.00
|
||||||
TC_INSTALL=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\
|
TC_INSTALL=C:\Devtools\Renesas\RX\2_1_0\
|
||||||
VERSION_IDE=3.06.02.004
|
VERSION_IDE=3.06.02.004
|
||||||
E2STUDIO_VERSION=2.2.0.13
|
E2STUDIO_VERSION=2.1.0.21
|
||||||
ACTIVE_CONFIGURATION=HardwareDebug
|
ACTIVE_CONFIGURATION=HardwareDebug
|
||||||
|
|
|
@ -75,6 +75,12 @@
|
||||||
;/* This function is explained in the comments at the top of main.c. */
|
;/* This function is explained in the comments at the top of main.c. */
|
||||||
_vRegTest1Implementation:
|
_vRegTest1Implementation:
|
||||||
|
|
||||||
|
;/* Put a known value in the guard byte of the accumulators. */
|
||||||
|
MOV.L #10, R1
|
||||||
|
MVTACGU R1, A0
|
||||||
|
MOV.L #20, R1
|
||||||
|
MVTACGU R1, A1
|
||||||
|
|
||||||
;/* Put a known value in each register. */
|
;/* Put a known value in each register. */
|
||||||
MOV.L #1, R1
|
MOV.L #1, R1
|
||||||
MOV.L #2, R2
|
MOV.L #2, R2
|
||||||
|
@ -92,6 +98,12 @@ _vRegTest1Implementation:
|
||||||
MOV.L #14, R14
|
MOV.L #14, R14
|
||||||
MOV.L #15, R15
|
MOV.L #15, R15
|
||||||
|
|
||||||
|
;/* Put a known value in the hi and low of the accumulators. */
|
||||||
|
MVTACHI R1, A0
|
||||||
|
MVTACLO R2, A0
|
||||||
|
MVTACHI R3, A1
|
||||||
|
MVTACLO R4, A1
|
||||||
|
|
||||||
;/* Loop, checking each itteration that each register still contains the
|
;/* Loop, checking each itteration that each register still contains the
|
||||||
;expected value. */
|
;expected value. */
|
||||||
TestLoop1:
|
TestLoop1:
|
||||||
|
@ -112,6 +124,26 @@ TestLoop1:
|
||||||
NOP
|
NOP
|
||||||
NOP
|
NOP
|
||||||
|
|
||||||
|
;/* Check accumulators. */
|
||||||
|
MVFACHI #0, A0, R15
|
||||||
|
CMP #1, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACLO #0, A0, R15
|
||||||
|
CMP #2, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACGU #0, A0, R15
|
||||||
|
CMP #10, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACHI #0, A1, R15
|
||||||
|
CMP #3, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACLO #0, A1, R15
|
||||||
|
CMP #4, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACGU #0, A1, R15
|
||||||
|
CMP #20, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
|
||||||
;/* Restore the clobbered registers. */
|
;/* Restore the clobbered registers. */
|
||||||
POPM R14-R15
|
POPM R14-R15
|
||||||
|
|
||||||
|
@ -160,7 +192,13 @@ RegTest1Error:
|
||||||
;/* This function is explained in the comments at the top of main.c. */
|
;/* This function is explained in the comments at the top of main.c. */
|
||||||
_vRegTest2Implementation:
|
_vRegTest2Implementation:
|
||||||
|
|
||||||
;/* Put a known value in each register. */
|
;/* Put a known value in the guard byte of the accumulators. */
|
||||||
|
MOV.L #1H, R1
|
||||||
|
MVTACGU R1, A0
|
||||||
|
MOV.L #2H, R1
|
||||||
|
MVTACGU R1, A1
|
||||||
|
|
||||||
|
;/* Put a known value in each general purpose register. */
|
||||||
MOV.L #10H, R1
|
MOV.L #10H, R1
|
||||||
MOV.L #20H, R2
|
MOV.L #20H, R2
|
||||||
MOV.L #30H, R3
|
MOV.L #30H, R3
|
||||||
|
@ -177,6 +215,12 @@ _vRegTest2Implementation:
|
||||||
MOV.L #140H, R14
|
MOV.L #140H, R14
|
||||||
MOV.L #150H, R15
|
MOV.L #150H, R15
|
||||||
|
|
||||||
|
;/* Put a known value in the hi and low of the accumulators. */
|
||||||
|
MVTACHI R1, A0
|
||||||
|
MVTACLO R2, A0
|
||||||
|
MVTACHI R3, A1
|
||||||
|
MVTACLO R4, A1
|
||||||
|
|
||||||
;/* Loop, checking each itteration that each register still contains the
|
;/* Loop, checking each itteration that each register still contains the
|
||||||
;expected value. */
|
;expected value. */
|
||||||
TestLoop2:
|
TestLoop2:
|
||||||
|
@ -190,6 +234,26 @@ TestLoop2:
|
||||||
ADD #1, R15
|
ADD #1, R15
|
||||||
MOV.L R15, [ R14 ]
|
MOV.L R15, [ R14 ]
|
||||||
|
|
||||||
|
;/* Check accumulators. */
|
||||||
|
MVFACHI #0, A0, R15
|
||||||
|
CMP #10H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACLO #0, A0, R15
|
||||||
|
CMP #20H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACGU #0, A0, R15
|
||||||
|
CMP #1H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACHI #0, A1, R15
|
||||||
|
CMP #30H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACLO #0, A1, R15
|
||||||
|
CMP #40H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
MVFACGU #0, A1, R15
|
||||||
|
CMP #2H, R15
|
||||||
|
BNE RegTest1Error
|
||||||
|
|
||||||
;/* Restore the clobbered registers. */
|
;/* Restore the clobbered registers. */
|
||||||
POPM R14-R15
|
POPM R14-R15
|
||||||
|
|
||||||
|
|
|
@ -386,7 +386,7 @@ unsigned long ulErrorFound = pdFALSE;
|
||||||
/* Check that the register test 2 task is still running. */
|
/* Check that the register test 2 task is still running. */
|
||||||
if( ulLastRegTest2Value == ulRegTest2LoopCounter )
|
if( ulLastRegTest2Value == ulRegTest2LoopCounter )
|
||||||
{
|
{
|
||||||
// ulErrorFound = pdTRUE;
|
ulErrorFound = pdTRUE;
|
||||||
}
|
}
|
||||||
ulLastRegTest2Value = ulRegTest2LoopCounter;
|
ulLastRegTest2Value = ulRegTest2LoopCounter;
|
||||||
|
|
||||||
|
@ -414,11 +414,6 @@ static void prvRegTestTaskEntry1( void *pvParameters )
|
||||||
in correctly. */
|
in correctly. */
|
||||||
if( pvParameters == mainREG_TEST_TASK_1_PARAMETER )
|
if( pvParameters == mainREG_TEST_TASK_1_PARAMETER )
|
||||||
{
|
{
|
||||||
/* The reg test task also tests the floating point registers. Tasks
|
|
||||||
that use the floating point unit must call vPortTaskUsesFPU() before
|
|
||||||
any floating point instructions are executed. */
|
|
||||||
// vPortTaskUsesFPU();
|
|
||||||
|
|
||||||
/* Start the part of the test that is written in assembler. */
|
/* Start the part of the test that is written in assembler. */
|
||||||
vRegTest1Implementation();
|
vRegTest1Implementation();
|
||||||
}
|
}
|
||||||
|
@ -437,11 +432,6 @@ static void prvRegTestTaskEntry2( void *pvParameters )
|
||||||
in correctly. */
|
in correctly. */
|
||||||
if( pvParameters == mainREG_TEST_TASK_2_PARAMETER )
|
if( pvParameters == mainREG_TEST_TASK_2_PARAMETER )
|
||||||
{
|
{
|
||||||
/* The reg test task also tests the floating point registers. Tasks
|
|
||||||
that use the floating point unit must call vPortTaskUsesFPU() before
|
|
||||||
any floating point instructions are executed. */
|
|
||||||
// vPortTaskUsesFPU();
|
|
||||||
|
|
||||||
/* Start the part of the test that is written in assembler. */
|
/* Start the part of the test that is written in assembler. */
|
||||||
vRegTest2Implementation();
|
vRegTest2Implementation();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Automatically-generated file. Do not edit!
|
# Automatically-generated file. Do not edit!
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
export INC_RX=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\include
|
export INC_RX=C:\Devtools\Renesas\RX\2_1_0\include
|
||||||
export RXC_LIB=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin
|
export RXC_LIB=C:\Devtools\Renesas\RX\2_1_0\bin
|
||||||
export BIN_RX=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin
|
export BIN_RX=C:\Devtools\Renesas\RX\2_1_0\bin
|
||||||
PATH := $(PATH):C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin
|
PATH := $(PATH):C:\Devtools\Renesas\RX\2_1_0\bin
|
Loading…
Reference in a new issue